The verification layer for autonomous agent actions. 4 models, ≤60s, one verdict — allow / hold / block. Signed off-chain, proven on-chain.
Every irreversible action gets a single, signed decision. No ambiguity — three states, one outcome.
The action is safe and within policy. The agent proceeds and the result is attested on-chain.
verdict: allowUncertainty detected. The action is paused for review or a higher-trust signature before it can run.
verdict: holdThe action violates policy or fails verification. It is rejected before anything executes on-chain.
verdict: blockTwo halves of one guarantee — a check the agent runs before acting, and a proof written once it has.
An agent submits a proposed action. Four independent models cross-check it in ≤60 seconds and return a signed EIP-712 verdict.
Once the action executes, an attestation is written to Base — an immutable, verifiable record that the action was checked and allowed.
Designed for the moment an autonomous agent is about to do something it can't take back.
# request — verify before executing
POST https://api.attest.xyz/v1/verify
{
"agent": "0x4f2a…c91b",
"action": "swap",
"params": { "tokenIn":"USDC", "amount":25000 },
"policy": "treasury-v2"
}
# response — signed verdict in ≤60s
{
"verdict": "allow",
"models": 4,
"confidence": 0.98,
"sig": "0xe7b1…eip712",
"attestation": "base:0x9c…"
}
One HTTP call before any irreversible action. Verify the verdict signature on-chain with a guard contract, or trust it off-chain in your agent loop.
Send a real action to the engine. Four verifiers run under a 60s deadline and return a signed verdict.
Gate swaps, bridges and approvals behind value caps and policy before capital ever moves.
Every disbursement verified and attested — a signed, on-chain trail for each decision.
One shared verification layer so agents can't talk each other into an unsafe action.
Join the waitlist for early access to the verification layer for autonomous agents.
$PROOF · 0x0000…0000 (contract address coming soon)