Documentation

How DataLayer works

This page is the technical half of the product. It describes exactly what is counted, what is estimated, what is checked per respondent, and where each number comes from — because a research product that cannot show its method is a press release with a chart.

What this is

DataLayer runs surveys against wallets on Robinhood Chain (chain id 4663) and pays for the answers in USDG. The distinguishing property is the screener: a traditional panel asks whether a respondent owns a stock, has traded recently, or holds a certain amount, and prices the reply as fact. Industry research-on-research puts fraud and misreporting on non-probability panels at roughly 30–40%.

On this chain those same facts are public. Tokenized equities are ERC-20 tokens, so ownership, position size, wallet age and transaction history can be read rather than asked, and none of them can be answered wrongly by the respondent. The product is that reading, wrapped in a marketplace.

The census

Before any study opens, the eligible universe is frozen. A script walks the holder table of every tokenized equity in descending balance order, drops contract addresses (the largest holder of each of these tokens is a Uniswap pool, and a pool has no opinion), stops when positions fall below the floor, and writes the result to storage stamped with the block number it was taken at.

The census currently published:

Block50975751
Holder positions across all four tokens219,567
Positions above the $25 floor5,389
Distinct wallets behind them3,832
Share of the headline holder count that is dust97.5%

Three jobs are done by one artefact. It is the denominator every claim is measured against. It is the front-running defence — the list is fixed before a study is announced, so nobody can read a screener and then buy the position. And it is the first point of a time series: on-chain history can be indexed by anyone in an afternoon, but nobody can go back to a past date and ask those holders what they thought.

The full table is at /census.

The screener

An audience is expressed only in conditions the chain can settle. Every criterion below is checked against the live chain when the respondent opens the study, and checked again server-side before payment — the browser is never trusted.

CriterionRead fromCan the respondent fake it?
Holds token XERC-20 balanceOnly by buying it
Position ≥ $NBalance × chain price feedOnly by buying it
Portfolio ≥ $NAll priced token balances plus ETHOnly by buying it
Wallet ≥ N days oldTimestamp of the first transactionNo
≥ N transactionsTransaction counterOnly by paying gas N times
Holds ≥ N distinct tokensToken balance listOnly by acquiring them

Two floors apply to every study whatever the buyer asked for: the wallet must be at least 0 days old and have sent at least 3 transactions. A wallet with no history and no gas is not a respondent; it is a line in someone's script.

How sizing is reported

Position filters are counted — the census holds every qualifying wallet and its balance, so the figure is exact. Wallet age and transaction count cannot be read for the whole chain in one request, so their reach is measured on a random sample and the sample size is printed next to the number. A filter with no measurement behind it is shown as not estimated rather than given a plausible-looking figure.

Coverage, not sample

A panel sells you n. It cannot tell you what fraction of the relevant world that is, because it does not know the size of the world. Here the world is a published list, so a result reads:

212 of the 1,450 wallets that qualified answered — 14.6% of the entire eligible universe, frozen at block 50,975,751.

This is a stronger claim than a sample of the same size and a more honest one, and it makes a small n defensible: 50 answers out of 300 eligible wallets is a sixth of everyone who could have spoken.

Payment

Respondents are paid in USDG (Global Dollar), a redeemable stablecoin, in the same request that accepts the answer. Not points, not a vesting schedule, and not a token we mint — every project that paid its users in its own token was diluting itself and calling it revenue, and the buy side can tell.

  • Minimum reward: $0.25 per answer.
  • Platform fee: 20%, charged to the buyer on top of the rewards, printed on the study page.
  • One study per wallet every 6 hours; one answer per wallet per study, ever.
  • A study accepts nothing until its reward pool has actually arrived. Funding is verified by reading the transaction receipt from the chain and requiring a transfer of at least the budget into the treasury; the hash is then burned so one payment cannot fund two studies.

Fraud and independence

The defence has two independent layers, because they protect two different things.

Protecting the treasury: capital, not labour

The screener is also the anti-sybil mechanism, and that is the design's central trick. To farm a study requiring $500 of tokenized NVDA held by a ninety-day-old wallet, across a thousand wallets, an attacker must lock half a million dollars of price-exposed capital for a quarter to collect a few hundred dollars. The harder the audience a buyer pays for, the more expensive it is to fake — the two interests point the same way. An aged social account, the currency of the usual farm, is worth nothing here.

Protecting the signal: independence

Capital gating does not stop one operator with forty funded wallets from being counted as forty opinions. So every responding wallet is traced to the address that first funded it, and one complete is accepted per funding origin per study. Exchange hot wallets and bridge handlers are excluded from the grouping — an address with thousands of transactions is infrastructure, not somebody's other account — and when the origin cannot be determined the wallet counts as its own cluster. Failing open there is deliberate: wrongly merging two honest respondents costs a real answer, while wrongly splitting one attacker costs a duplicate they already paid for in capital.

The collapse rate is published with each study (“312 eligible wallets, 214 independent origins; the sample of 100 came from 91”). It is the operational answer to the de-duplication question on the ESOMAR 28 form, which panels answer with prose because they cannot compute a figure.

The rest of the gate

  • Human check. A self-hosted three-round visual puzzle rendered server-side; the answers exist only in pixels and the pass is sealed, wallet-bound, ten minutes, single use. It does not stop a human — nothing client-side does — it makes each attempt cost time.
  • Speeders. Answers submitted faster than 3 seconds per question are refused, unpaid. It is the first thing any buyer rejects.
  • Exact quotas. Each complete reserves a numbered slot with a create-once write, so a burst can never overshoot the quota the buyer paid for.
  • Escalating time-bans on wallet and address after repeated failed attempts, doubling each strike, with strikes that never reset.

Declared versus proven

Where a study asks respondents to state their own position size, the reply is scored against the chain. It is the one question in market research whose true answer is public, so the self-report error rate of the sample is measured rather than assumed — and the same number can be held up against whatever a current vendor is selling.

Limits

These are the things this product is not, stated before you buy rather than after.

  • The unit is a wallet, not a person. One person can hold several. Nothing on this site describes a number of people, and no result should be read as a share of a population.
  • No demographic weighting. There is no age, gender, income or region, so nothing here projects to a national population. Census-weighted brand tracking needs a different vendor.
  • Non-probability sample. Respondents opt in. Subgroup readings from opt-in samples carry known bias, and coverage of a named universe is offered precisely because it does not pretend otherwise.
  • No personal data is collected. Everything a buyer sees was already public on the chain. We ask for no name, no email and no document, and nothing personal is written on chain.
  • Prices come from the chain's own feed. When a price cannot be read, the token is skipped rather than guessed.

API

Everything the site does, it does through these. All are public except where noted.

GET /api/profile?address=0x…

The wallet CV: first-seen timestamp, tenure, transaction and transfer counts, ETH balance, every priced holding, the tokenized-equity subset, and the derived traits a screener reads. Read-only, and it fails loudly rather than returning zeros when the chain indexer cannot be reached.

curl "https://www.datalayer.finance/api/profile?address=0x1a8a…e365"

GET /api/studies[?address=0x…]

Open studies. With an address, each study comes back with the full screening trace — every criterion, whether it passed, and the value that decided it, including the ones that failed.

PUT /api/study

Price an audience without creating anything. Body: { audience, questionCount }. Returns the counted sizing, the incidence, the industry cost multiplier for that incidence, and a suggested reward.

POST /api/study

Create a study. It opens in funding and accepts nothing until paid for. Returns the study plus the treasury address and the exact amount.

POST /api/fund

Body: { studyId, txHash }. Pulls the receipt from the chain, decodes its transfer logs, requires at least the budget in USDG into the treasury, burns the hash so it can never fund a second study, and opens the study.

POST /api/answer

Submit and get paid. Body: { studyId, address, answers, durationMs, captcha: { pass } }. Runs the gate in cost order — bans, attempt counters, cooldown, quota slot, human check, live screener, census membership, funding cluster — then pays and records the answer with its proof. Every marker taken is released if the payment does not land.

GET /api/captcha?address=0x…

Three rounds of images plus a sealed token. POST the picks back to receive a wallet-bound pass.

Addresses

Everything is verifiable on the chain explorer. The payout token is the Global Dollar both canonical WETH/USDG Uniswap pools quote against — several impostor contracts share the ticker on this chain, so check the address, not the symbol.

ChainRobinhood Chain · 4663
Payout token0x5fc5360D0400a0Fd4f2af552ADD042D716F1d168
Decimals6

Ready to run one? The builder is at /launch.