Docs / How agents check before signing
Before an agent signs a transaction, typed data, or an x402 payment, it should verify (1) who it is paying, (2) that the unsigned payload still matches its intent, (3) what a dry run does on current chain state, and optionally (4) recipient readiness and (5) the seller's unpaid 402 terms. Meridian by MioDio exposes those as separate read-only x402 pay-per-call checks in USDC on Base (no account, no API key; never holds keys or moves funds).
GET /v1/sanctions/{address} ($0.005) for the counterparty.POST /v1/drift ($0.005) with intent + unsigned tx or typed data.POST /v1/simulate ($0.01) for a point-in-time dry run on Base or Ethereum.Limits: exact-match SDN is not clearance; drift match is not a guarantee; simulate is a point-in-time dry run.
GET /v1/recipient/{address} ($0.005) before sending.GET /v1/x402-preflight?url= ($0.005) before signing a third-party PAYMENT-SIGNATURE.POST /v1/payment-check ($0.005) to read any Base USDC Exact authorization or Transfer on-chain.Use these when the action touches those protocols:
GET /v1/risk/{address} ($0.005)GET /v1/lido/exit-risk?amount= ($0.005)GET /v1/vault/{address} ($0.005)GET /v1/passport/{address} ($0.02) or passport + SDN ($0.02)Passport decision.level: safe_to_interact, caution, high_risk, or unknown.
| Check | Route | Price | Proves | Does not prove |
|---|---|---|---|---|
| OFAC SDN exact-match | GET /v1/sanctions/{address} | $0.005 | Exact address hit on public SDN extract | Clearance; ownership; non-US lists |
| OFAC SDN batch (1 to 50) | POST /v1/sanctions/batch | $0.10 | Same, up to 50 addresses | Same limits as single |
| Parameter drift / decoder | POST /v1/drift | $0.005 | Intent vs decoded fields, or decode-only flags | Intent authenticity; execution outcome |
| Tx simulation | POST /v1/simulate | $0.01 | Point-in-time success/revert, gas, balances | Inclusion; final outcome |
| Recipient readiness | GET /v1/recipient/{address} | $0.005 | Code, freezes, EIP-7702 allowlist, OFAC, optional lookalike | That unknown is safe |
| x402 seller preflight | GET /v1/x402-preflight | $0.005 | Unpaid 402 terms + payTo OFAC exact match | That you should pay |
| USDC payment-check | POST /v1/payment-check | $0.005 | Nonce used, matching transfers, confirmations | Future settlement |
| Aave v3 risk | GET /v1/risk/{address} | $0.005 | Pool.getUserAccountData snapshot | Advice to act |
| Lido exit-risk | GET /v1/lido/exit-risk | $0.005 | Peg, queue ETA, exit liquidity for amount | Future exit path |
| ERC-4626 vault | GET /v1/vault/{address} | $0.005 | Share price, lookback, idle cash | Promised share-price path |
| Deep passport | GET /v1/passport/{address} | $0.02 | Joined Aave + Lido + optional vault label | Advice; invented balances |
| Passport + SDN | GET /v1/passport-sanctions/{address} | $0.02 | Passport + OFAC exact match | Clearance |
Payment: USDC on Base (eip155:8453), payTo 0x4DA1ED782BD61BaE9AdD5a5CaBbCf32f767f8d7F. Free demos: /v1/demo/risk, /vault, /sanctions, /drift, /simulate.
Meridian by MioDio's case is the bundle (sanctions + drift + simulate + recipient + x402-preflight + on-chain risk reads) plus signed Meridian-Receipt headers and free demos. Cheaper sanctions-only options exist.
Public listings as checked on 2026-11-05:
curl -s "https://meridian.miodiollc.com/v1/demo/sanctions"
curl -s "https://meridian.miodiollc.com/v1/demo/drift"
curl -s "https://meridian.miodiollc.com/v1/demo/simulate"
curl -s "https://meridian.miodiollc.com/v1/demo/risk"
curl -s "https://meridian.miodiollc.com/v1/demo/vault"
Unpaid calls return HTTP 402 with PAYMENT-REQUIRED. Retry with PAYMENT-SIGNATURE.