Pricing

Two lines are purchasable today: the $0.01 position check and the $0.25 contract audit. Three things are free. The rest are built, partly built, or priced, and each says which. A price list that reads as revenue when it is really a roadmap is the same overclaim ASSAY audits other people for.

Tiers

Use it

Free first: this wall, the wallet check, the on-chain guard and the public MCP. Pay for the full answer. Both paid calls are x402, settled in USDC on Base to 0x6328f2fE483922721D94b33eE99e9938Da3b7911. In a browser, the paywall page is OpenServ's: it asks you to connect a Base wallet holding USDC, and the input fields appear only after you connect. An agent pays the trigger URL directly.

$0.01 · assay_true_position(symbol, holder)

Free on MCP: whether this position can be valued safely, and if not, why: the confidence, the refusal reason, which oracle checks completed, and any scheduled multiplier change.

$0.01 adds the position: raw balance, uiMultiplier(), share-equivalents, the token's decimals, and the feed, price, age and heartbeat behind those checks, with the USD value, all read at one block.

x402 trigger · https://api.openserv.ai/webhooks/x402/trigger/006ecd4add4a459d8ae92362869a42a6
$0.25 · assay_check_contract(address)

Free on MCP: the verdict alone (NOT_AWARE, AWARE, NOT_APPLICABLE with its role, PROXY_UNRESOLVED, TOO_SMALL, or no code), with the code hash, the block and whether the reading is conclusive.

$0.25 adds the audit: every holding of every Stock Token whose on-chain multiplier is not 1, the share-equivalents unaccounted for, the USD held (null when any holding is unpriced or unread, never a silent zero), and the eth_call citations behind each number.

x402 trigger · https://api.openserv.ai/webhooks/x402/trigger/a1bb2a3946d1411eb945200d43ebc740

From code

curl -m 20 -i -X POST \
  https://api.openserv.ai/webhooks/x402/trigger/006ecd4add4a459d8ae92362869a42a6 \
  -H 'content-type: application/json' \
  -d '{"buyerAddress":"0xYourBuyerAddress","payload":{"symbol":"NVDA","holder":"0xHolderAddress"}}'
# -> HTTP 402 and the x402 payment terms (USDC on Base). Nothing is charged.

The audit takes the same shape with "payload":{"address":"0x…"}. Any x402 client can pay; with wrapFetchWithPayment, pass a ceiling of at least the price, because its default of $0.10 refuses the $0.25 call before sending it. The reply is {status, settleTxHash, output: {value}}, and output.value is itself a JSON string. OpenServ allows 60 seconds per call. The input schemas are in the agent card.

Before you pay. Payment settles before the task runs. A bad input comes back as ok: false JSON with an errorClass and a retryable flag, and whether OpenServ still settles a task that errors is not verified, so check a symbol or address with the free MCP first.

Which tokens get a USD answer at $0.01

These 35 tickers have a Chainlink feed on chain 4663, so the $0.01 call can value them: AAPL AMD AMZN ASML BABA CLSK COIN CRCL CRWV DELL EWY GME GOOGL INTC IONQ META MSFT MSTR MU NBIS NVDA ORCL PLTR QQQ RGTI RKLB SGOV SLV SNDK SPCX SPY TSLA TSM USAR USO. Every other Stock Token (159 of 194 in this sweep, CRWD among them) returns the corrected share-equivalents with the USD value refused, because there is no on-chain price to use. A priced token whose feed is past its heartbeat, as the 24/5 feeds are for part of every weekend, comes back degraded with the feed's age stated. Listed from the Chainlink directory the paid call reads, re-read hourly.

Free, no key

Why these two prices are different

The OpenServ x402 marketplace listed 479 services on 2026-09-22, 84 of them active, at a median active price of $0.02; about 82% of everything listed was inactive. A per-position check has to be cheap enough to run before every valuation, which is the only pattern that makes an audit primitive load-bearing rather than occasional; that is the $0.01 line and it stays there.

assay_check_contract is a different kind of question. It is asked once, about a counterparty, before deciding whether to rely on its accounting — and it returns a named verdict with bytecode evidence rather than a number. It is priced as a decision, not a lookup. The 59 findings on the wall are the reason to call either one.