# apix402 > Per-call onchain governance, vesting, oracle and treasury-risk data for autonomous agents. > Answers are read from contracts on every call, not from a cached indexer view. > Payment is x402 (USDC on Base). No account and no API key: the wallet is the identity. > 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. ## Verifiable counters > Our own settlement counters are published at https://apix402.onrender.com/meta - paid, self-paid, external, cancelled, per route. > The same document lists the ways those numbers can still mislead you. Disclosure is voluntary > and nothing here proves it: payments arrive at a public payTo address, so the independent check > is to add them up on chain yourself. ## How to read this service - [OpenAPI specification](https://apix402.onrender.com/openapi.json) lists every route, its parameters and its response schema. - Prices and the payment address are deliberately not repeated here. They are authoritative in the 402 challenge itself (the `payment-required` response header) and in the OpenAPI document. A second copy behind a cache would only be a place for them to disagree. - Every paid route has a free `/preview` sibling returning the response shape, and for most routes real live data. - MCP clients: `POST https://apix402.onrender.com/mcp` speaks MCP (protocol 2025-11-25, stateless JSON, no auth) and exposes the free samples plus a catalog tool. Paid answers are deliberately not MCP tools. That is our choice, not a protocol limit: the core MCP specification defines no payment step, but an x402 transport for MCP exists and carries the price in the JSON-RPC error. We kept paid routes on plain HTTP because that is where the challenge, the schema and the cancellation on refusal already live. Buy those over plain HTTP with x402. ## Routes - [/echo](https://apix402.onrender.com/echo): x402 protocol check: confirms payment and returns a timestamp. - [/dao-proposals](https://apix402.onrender.com/dao-proposals): Active DAO governance proposals (ENS, Arbitrum, Uniswap, Compound, Optimism, Lido, Curve (Ownership), Curve (Parameter), Aave): Snapshot (off-chain signal) cross-checked against a direct read of the onchain Governor contract (source of truth). - [/proposal-status](https://apix402.onrender.com/proposal-status): The fate of ONE already-known proposal after the vote: executed / queued in Timelock / expired / canceled. - [/vesting-status](https://apix402.onrender.com/vesting-status): Reads a vesting plan/stream directly from an on-chain contract on Base — total amount, claimed/unclaimed balance, remaining lockup, current owner/recipient. - [/insider-early-sale-check](https://apix402.onrender.com/insider-early-sale-check): Composes two checks: first resolves a vesting plan/stream by provider + plan_id (same lookup as GET /vesting-status, hedgey TokenVestingPlans or sablier SablierLockup) to get its beneficiary, token, and start/cliff/end schedule, then scans that beneficiary's FULL onchain transfer history for that token (chunked eth_getLogs against Base, all the way back to genesis) and flags any outgoing transfer that happened before the plan's cliff date -- the only fully onchain-provable early-sale signal (see the early_flag field: before_cliff is provable, unknown means the window between cliff and vesting end was not evaluated precisely, after_vesting_end is not suspicious by construction). - [/safe-authority-check](https://apix402.onrender.com/safe-authority-check): Cheap poll: has the spending authority over this Safe changed since you last looked? You pass the fingerprint this route gave you last time; it recomputes the current one and compares. - [/proposal-state-check](https://apix402.onrender.com/proposal-state-check): Cheap poll: has this proposal's state changed since you last looked? You pass the state this route or GET /proposal-status gave you last time; it reads the Governor's current state and compares. - [/vesting-plan-control-check](https://apix402.onrender.com/vesting-plan-control-check): Cheap poll: can anyone other than you take your vesting plan? Reads the plan's vestingAdmin, its adminTransferOBO flag and the current holder of the plan NFT, and compares them against a fingerprint you kept from last time. - [/mcp-registry-remote-drift](https://apix402.onrender.com/mcp-registry-remote-drift): Does an MCP server in the registry need credentials, and does the registry say so? No catalogue publishes the authentication posture, so a client finds out by trying. - [/rpc-capability-probe](https://apix402.onrender.com/rpc-capability-probe): What can this RPC endpoint actually do? Nobody publishes the method matrix or whether archive state is available, including the providers themselves, and two endpoints on the same chain differ. - [/dependency-repo-vanished-check](https://apix402.onrender.com/dependency-repo-vanished-check): Does a package point at a repository that no longer exists? The repository field is written once at publish time and never revisited; the repository itself can be deleted, renamed or made private, and the link stays. - [/advisory-fix-availability-check](https://apix402.onrender.com/advisory-fix-availability-check): Does the fix an advisory promises actually exist? Reads the advisory from the OSV database, takes the versions it names as fixed, and checks the package registry for them. - [/x402-listing-drift-check](https://apix402.onrender.com/x402-listing-drift-check): Does a catalogue listing still match what the origin serves? Calls the resource with no payment, reads the price, network and payTo out of the 402 the origin itself returns, and compares them with the price the catalogue advertises. - [/safe-signer-drift](https://apix402.onrender.com/safe-signer-drift): Reads a Gnosis Safe's live spending authority straight from the chain -- current owner set, threshold, enabled modules and transaction guard -- and compares it against the same Safe's state at an earlier block, flagging added/removed owners, added/removed modules and threshold changes. - [/oracle-staleness](https://apix402.onrender.com/oracle-staleness): Answers how stale each oracle price actually is on Base right now, and whether a standard consumer staleness guard would reject it. - [/lending-depeg-exposure](https://apix402.onrender.com/lending-depeg-exposure): Measures an Aave V3 position's exposure to a risk Aave's own health factor structurally cannot show. ## Semantics worth knowing before you parse a response - `indeterminate` is not `unchanged`. Where a check could not cover everything it was meant to cover, it says so rather than reporting an all-clear. - A truncated authority walk returns no fingerprint at all rather than a partial one. - An enabled Safe module is a structural fact, not an alarm. Risk is a comparison against an expected baseline, and only the caller holds that baseline. - Degraded upstream sources are reported inside the response instead of being smoothed over.