Docs / How agents check before signing

How AI agents check a transaction before signing (x402 pre-sign checklist)

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).

The five failure modes before a signature

  1. Wrong counterparty on a public sanctions list (exact match only).
  2. Intent drift: the bytes no longer match what the agent meant (recipient swap, amount change, wrong selector).
  3. Surprising execution: the dry run reverts, moves unexpected balances, or grants an unlimited approval.
  4. Bad destination: undeployed code, freeze flags, EIP-7702 unknown wallet, lookalike poisoning.
  5. Opaque 402 terms: paying a seller URL whose unpaid requirements or payTo you have not inspected.

A practical 3-call core (sanctions -> drift -> simulate)

  1. GET /v1/sanctions/{address} ($0.005) for the counterparty.
  2. POST /v1/drift ($0.005) with intent + unsigned tx or typed data.
  3. 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.

Add-ons when paying or sending (recipient, x402-preflight, payment-check)

When Aave / Lido / vault / passport cards matter

Use these when the action touches those protocols:

Passport decision.level: safe_to_interact, caution, high_risk, or unknown.

Meridian by MioDio route map

CheckRoutePriceProvesDoes not prove
OFAC SDN exact-matchGET /v1/sanctions/{address}$0.005Exact address hit on public SDN extractClearance; ownership; non-US lists
OFAC SDN batch (1 to 50)POST /v1/sanctions/batch$0.10Same, up to 50 addressesSame limits as single
Parameter drift / decoderPOST /v1/drift$0.005Intent vs decoded fields, or decode-only flagsIntent authenticity; execution outcome
Tx simulationPOST /v1/simulate$0.01Point-in-time success/revert, gas, balancesInclusion; final outcome
Recipient readinessGET /v1/recipient/{address}$0.005Code, freezes, EIP-7702 allowlist, OFAC, optional lookalikeThat unknown is safe
x402 seller preflightGET /v1/x402-preflight$0.005Unpaid 402 terms + payTo OFAC exact matchThat you should pay
USDC payment-checkPOST /v1/payment-check$0.005Nonce used, matching transfers, confirmationsFuture settlement
Aave v3 riskGET /v1/risk/{address}$0.005Pool.getUserAccountData snapshotAdvice to act
Lido exit-riskGET /v1/lido/exit-risk$0.005Peg, queue ETA, exit liquidity for amountFuture exit path
ERC-4626 vaultGET /v1/vault/{address}$0.005Share price, lookback, idle cashPromised share-price path
Deep passportGET /v1/passport/{address}$0.02Joined Aave + Lido + optional vault labelAdvice; invented balances
Passport + SDNGET /v1/passport-sanctions/{address}$0.02Passport + OFAC exact matchClearance

Payment: USDC on Base (eip155:8453), payTo 0x4DA1ED782BD61BaE9AdD5a5CaBbCf32f767f8d7F. Free demos: /v1/demo/risk, /vault, /sanctions, /drift, /simulate.

How this differs from single-purpose tools (factual, sourced)

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:

What Meridian by MioDio does NOT do (incl. no MCP server)

Try free demos

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.

FAQ

Do I need all 12 checks every time?
No. Core pre-sign for many agents is sanctions + drift + simulate. Add recipient or preflight when sending or paying a 402. Use Aave, Lido, vault, or passport cards when the action touches those protocols.
Is Meridian by MioDio a compliance tool?
No. Informational public-list and on-chain reads only.
Is there an MCP server?
No. Meridian by MioDio has no MCP server today. Agents call it over HTTPS with x402.
How do I pay?
Unpaid call -> HTTP 402 -> Exact USDC on Base -> retry with PAYMENT-SIGNATURE.
How do I verify a result later?
Paid 2xx may include a signed Meridian-Receipt. Verify with /.well-known/meridian-receipt-keys.json and /receipt-verify.ts.

Related