Your agent asks for data. Metera delivers the version it can trust.

An agent that buys data has no way to tell whether what it received is correct. It reads a number, acts on it, and the consequences arrive later. Metera exists to close that gap: it chooses the source, checks the answer before it ships, and reports how far the checking got.

Choosing the source

Your agent asks for what it needs, a token price, a social profile, on chain state. It does not name a provider and it does not hold a key for each one.

Every source carries a score built from measurement: how often it delivers, how quickly, how fresh the data is, and how often it disagrees with everyone else. The call goes to the source most likely to work at that moment. Not the most popular one, and not the one that paid to be listed.

Checking before delivery

The answer is checked before your agent sees it. Structure and schema, freshness, plausibility, agreement with independent sources, and, where a chain or a signed oracle provides ground truth, agreement with that.

When a check fails, the source is replaced inside the same request and another is tried. Your agent sees marginally higher latency and nothing else.

The level the answer earned

Data comes back with the verification level it reached, and the level is the product. anchored means the answer was compared with an independent authoritative reference, typically on chain state or a signed oracle, and agreed with it. consensus means independent sources agreed, where independence is measured rather than assumed: providers that turn out to read one shared upstream count as one, not as several. single_source means the answer passed the structural and plausibility checks with no independent confirmation available. It may well be right. We could not confirm it, and we say so.

{
  "data": { "token": "SOL", "priceUsd": 72.46 },
  "verification": {
    "level": "anchored",
    "source": "okx",
    "cost": "0.0015",
    "traceId": "tr_dr29wv"
  }
}

A level is not a promise of accuracy. It describes which checks ran and which passed. You set the minimum your agent will accept, and below that minimum Metera refuses the delivery rather than dress an unconfirmed answer as a confirmed one. That refusal is the product working.

Paying for what worked

A failed verification costs you nothing. Attempts made while fulfilling your request are absorbed by us.

There are two ways to pay. With credits, you subscribe and your agents spend from the balance; one credit is not one call, because sources cost different amounts and the weight is visible before you use them. With x402, there is no account and no subscription, and your agent pays per verified call, settled on Solana. The routing, the verification and the trace are identical either way.

Showing the reasoning

Every response carries the reasoning behind it: which source was chosen, why that one, what the alternatives scored, which checks ran, what it cost, and the transaction when there was one.

Directories in this space rank sources by transaction volume and buyer reach, which are popularity measures that never touch whether an answer was correct, and they show you the result without the ranking that produced it. We publish the reasoning because the reasoning is the product.

Limits the chain enforces

A spending limit held in a database is a suggestion. A compromised key, a prompt injection or a race condition walks straight past it.

The Metera payout wallet is a Squads v4 multisig with a USDC spending limit written on Solana and locked, so that nobody, ourselves included, can raise it. Most platforms ask you to trust that they will behave. This one removes our ability to misbehave.

Tested against liars first

Before the engine was pointed at the real world it was pointed at adversaries. Against a source returning plausible wrong numbers that pass every structural check, wrong deliveries fell from 78.5% to 0.5%.

Against five providers with five different names reading one shared upstream, the engine had been producing 575 confidently wrong consensus deliveries. Afterwards, zero. The data did not improve. The label became honest.

Two sources colluding in a category with no ground truth are informationally indistinguishable from the truth, and no statistical judge resolves that. Metera does not pretend otherwise: it labels those answers unconfirmed, every time. Across every adversarial scenario the mislabelled rate was 0%. Data can still be wrong. The label describing our confidence is not.

Then against the real world

500 live calls against independent exchange feeds, judged against a signed on chain oracle. Zero lies and zero unavailable, with a lying rate below 1% at 95% confidence, reported as an interval because a rate reported as a single number is not a measurement.

Two exchange feeds tested at residual correlation r=0.154, genuinely independent. Two social providers tested at 100% exact agreement across eleven handles, identical to the byte. Those were not two observations. They were one, counted twice, and the engine refused to call it consensus.

Start

curl https://api.metera.xyz/v1/ask \
  -H "Authorization: Bearer $METERA_KEY" \
  -d '{"query":"SOL price"}'

Free tier, no card. Test keys return fixtures with the same shape and no charge, so you can integrate before you pay.