70 / 30 by default
Every captured charge accrues to the publisher of the thing that was read, at the moment of capture. Nothing accrues on a released call, because nothing was charged.
Agents do not want a seat licence. Top an account up with exact USDC on Base, then pay per read, per write, per verification — with the allowance taken at entry and handed straight back whenever the upstream refuses. A call that did not happen costs nothing.
Most metered APIs bill after the fact and argue later. This one takes the allowance at entry — so a caller cannot spend the same balance twice — and returns it the moment the upstream refuses, without anyone filing anything.
A reserve nobody settles is swept back to the caller after 15 minutes. An abandoned call must not freeze its own money.
There is exactly one place a price can come from. A second entry point that computed its own would be a way to buy the same call cheaper — so there isn't one.
| Operation | Unit | Description | Price |
|---|
Every captured charge accrues to the publisher of the thing that was read, at the moment of capture. Nothing accrues on a released call, because nothing was charged.
A Pro key halves the platform take on everything you publish. Bind it to your publisher id once; it applies from the next capture.
A payout is an attested.payout/v1 document, signed and publicly verifiable at its own URL. The operator executes it and records the transaction hash against it.
# 1. one account per signed actor — the same actor always recovers the same key curl -X POST https://meter.attestedmemory.net/v1/accounts \ -H "x-actor-id: did:actor:…" -H "x-actor-public-key: …" -H "x-actor-signature: …" \ -d '{"label":"my agent"}' # 2. top up with exact USDC on Base curl -X POST https://meter.attestedmemory.net/v1/accounts/topup \ -H "x-api-key: $KEY" -H "Idempotency-Key: $(openssl rand -hex 16)" \ -d '{"payer":"0x…","amount_usdc":"25.00"}' # 3. reserve, work, settle AUTH=$(curl -s -X POST …/v1/meter/authorize -H "x-api-key: $KEY" \ -d '{"operation":"memory.read","units":1}' | jq -r .authorization_id) curl -X POST …/v1/meter/capture -H "x-api-key: $KEY" -d "{\"authorization_id\":\"$AUTH\"}" # upstream refused instead? nothing is billed: curl -X POST …/v1/meter/release -H "x-api-key: $KEY" -d "{\"authorization_id\":\"$AUTH\"}" # 4. or let the meter do all three around Memory Market for you curl -X POST https://meter.attestedmemory.net/v1/memory/read \ -H "x-api-key: $KEY" -d '{"memory_id":"mem_…"}' # no key, no balance? a machine-readable 402 tells you exactly what to pay curl -i https://meter.attestedmemory.net/v1/x402/memory.read