apix402
实时链上治理、代币归属、预言机及 Safe 权限检查。通过 MCP 提供免费样例。
文档
Check the contract, not a tracker. 16 onchain checks an agent can buy one call at a time — governance, vesting, oracles, lending risk, Safe spending authority. No key, no account, no subscription: the wallet is the identity.
One example, and it is why this exists: a public tracker showed the Arbitrum DAO as archived with no active proposals, while its Governor contract had a live vote on 48M ARB. See it yourself for free in/dao-proposals/preview — thediscrepancy field counts the disagreements without charging for them.
Connect an agent
npx agentcash try https://api402x.com/dao-proposals
Copy
Writing the client yourself: any x402 client works — the challenge is in thepayment-required header, and the shape of the response travels with it. Full spec at /openapi.json, short table of contents at /llms.txt.
The one built to be called twice
GET /safe-authority-check — $0.002. Ask whether the spending authority over a Safe changed since you last looked. You keep the fingerprint, so there is no account and nothing stored here. It walks modules recursively: a Safe that reads as 1-of-1 can in fact be governed through a module by a separate 2-of-8 Safe, and a flat owner list would miss exactly that. Built for a daily cron; when it says changed, buy/safe-signer-drift for what changed and in which block.
MAINNET eip155:8453 (Base), USDC, real funds. Facilitator https://facilitator.payai.network. Paid to0xE606AE66542D4F1A56AA551841db41e3ECd26816 — every settlement is public onchain, including ours. We store nothing about you: no account, no key, no request history tied to a wallet.
| Route | Price | Description | Preview (free) |
|---|---|---|---|
| GET /echo | $0.001 | x402 protocol check: confirms payment and returns a timestamp. | /echo/preview |
| GET /dao-proposals | $0.005 | Active DAO governance proposals (ENS, Arbitrum, Uniswap, Compound, Optimism, Lido, Curve (Ownership), Curve (Parameter), Aave): Snapshot (off-chain signal) cross-checked against a direct… | /dao-proposals/preview |
| GET /proposal-status | $0.003 | The fate of ONE already-known proposal after the vote: executed / queued in Timelock / expired / canceled. | /proposal-status/preview |
| GET /vesting-status | $0.003 | Reads a vesting plan/stream directly from an on-chain contract on Base — total amount, claimed/unclaimed balance, remaining lockup, current owner/recipient. | /vesting-status/preview |
| GET /insider-early-sale-check | $0.05 | Composes two checks: first resolves a vesting plan/stream by provider + plan_id (same lookup as GET /vesting-status, hedgey TokenVestingPlans or sablier SablierLockup)… | /insider-early-sale-check/preview |
| GET /safe-authority-check | $0.002 | Cheap poll: has the spending authority over this Safe changed since you last looked? You pass the fingerprint this route gave you… | /safe-authority-check/preview |
| GET /proposal-state-check | $0.002 | Cheap poll: has this proposal's state changed since you last looked? You pass the state this route or GET /proposal-status gave you… | /proposal-state-check/preview |
| GET /vesting-plan-control-check | $0.002 | Cheap poll: can anyone other than you take your vesting plan? Reads the plan's vestingAdmin, its adminTransferOBO flag and the current holder… | /vesting-plan-control-check/preview |
| GET /mcp-registry-remote-drift | $0.002 | Does an MCP server in the registry need credentials, and does the registry say so? No catalogue publishes the authentication posture, so… | /mcp-registry-remote-drift/preview |
| GET /rpc-capability-probe | $0.003 | What can this RPC endpoint actually do? Nobody publishes the method matrix or whether archive state is available, including the providers themselves,… | /rpc-capability-probe/preview |
| GET /dependency-repo-vanished-check | $0.002 | Does a package point at a repository that no longer exists? The repository field is written once at publish time and never… | /dependency-repo-vanished-check/preview |
| GET /advisory-fix-availability-check | $0.002 | Does the fix an advisory promises actually exist? Reads the advisory from the OSV database, takes the versions it names as fixed,… | /advisory-fix-availability-check/preview |
| GET /x402-listing-drift-check | $0.002 | Does a catalogue listing still match what the origin serves? Calls the resource with no payment, reads the price, network and payTo… | /x402-listing-drift-check/preview |
| GET /safe-signer-drift | $0.03 | Reads a Gnosis Safe's live spending authority straight from the chain -- current owner set, threshold, enabled modules and transaction guard --… | /safe-signer-drift/preview |
| GET /oracle-staleness | $0.003 | Answers how stale each oracle price actually is on Base right now, and whether a standard consumer staleness guard would reject it. | /oracle-staleness/preview |
| GET /lending-depeg-exposure | $0.005 | Measures an Aave V3 position's exposure to a risk Aave's own health factor structurally cannot show. | /lending-depeg-exposure/preview |
New here? The first calls are free
Every route gives a new payer address a few calls at no charge, counted per route and per wallet. Not a trial window — there is no clock, the count simply does not reset.
/vesting-status— 3 free calls, wallet must hold $0.03/proposal-status— 3 free calls, wallet must hold $0.03/dao-proposals— 2 free calls, wallet must hold $0.05/insider-early-sale-check— 1 free call, wallet must hold $0.50 — cached answers only/oracle-staleness— 3 free calls, wallet must hold $0.03/lending-depeg-exposure— 2 free calls, wallet must hold $0.05/safe-signer-drift— 1 free call, wallet must hold $0.30 — cached answers only/safe-authority-check— 3 free calls, wallet must hold $0.02/proposal-state-check— 3 free calls, wallet must hold $0.02/vesting-plan-control-check— 3 free calls, wallet must hold $0.02/x402-listing-drift-check— 3 free calls, wallet must hold $0.02/advisory-fix-availability-check— 3 free calls, wallet must hold $0.02/dependency-repo-vanished-check— 3 free calls, wallet must hold $0.02/rpc-capability-probe— 3 free calls, wallet must hold $0.03/mcp-registry-remote-drift— 3 free calls, wallet must hold $0.02
Two routes are free only when the answer is already cached. A cold run of /insider-early-sale-check scans a beneficiary's full onchain transfer history through a rate-limited upstream gateway, and a cold/safe-signer-drift is a sequential archive search on a network with exactly one archive endpoint. Those runs are paid, always. If someone has already warmed the same query, you get it free; if not, you get an explicitfree_tier_cold and your free quota is not spent.
There is a daily ceiling of 20 free calls per route, shared by everyone. It exists because a wallet address costs nothing to create, so a per-wallet allowance alone bounds nothing. It has never been reached by ordinary use.
Your wallet still signs. A free call goes through the ordinary x402 flow: the request carries a signed payment authorization, and the server skips settling it. No USDC moves and nothing is deducted, but an agent with no wallet cannot use this — it is free, not anonymous. After the count is used up, the same route simply starts settling as normal.
How prices are set. Price follows the cost of producing the answer: a few contract reads cost a fraction of a cent; scanning history or using scarce archive capacity costs more. That is the whole rule, and it is why/safe-signer-drift and /insider-early-sale-check cost more than the rest — one runs a sequential archive search on a network with a single archive endpoint, the other scans a full transfer history through a rate-limited gateway. Prices move when that measured cost moves, not otherwise.
The wallet must hold USDC on Base — ten times the route's price (listed above, per route). Nothing is reserved and nothing is deducted; the balance is only read. This exists because the allowance is permanent and keyed to the address, so a fresh address is a fresh allowance. The previous bar was any non-zero balance, and dust costs nothing: funding a thousand throwaway wallets on Base costs about a dollar in gas. The bar is deliberately low enough that a real buyer of a $0.01 call clears it — it is meant to price out farming, not to price out you.
Measured, last 24 hours
1h · 6h · 12h · 24h · 7d · 30d · all
- 2943 requests
- 132 unique clients
- 41% from self-identified monitors and indexers
- 971 free preview requests
- no settlement attempts in this window
Unique clients are counted with a HyperLogLog: it keeps cardinality registers, not the values, so the number exists without a record of who produced it. Multi-day windows use the union of those registers rather than a sum, because unique counts do not add. A cancelled settlement is a paid request whose handler refused: the charge is reversed and nothing moves on chain, so the share is taken over settlement attempts, not over all traffic. No client identifiers, user agents or addresses are published here. Machine-readable at /stats.json.