TaifoonTAIFOON

ACP on Base Sepolia · live

BASE SEPOLIA · CONTRACT-SUITE DEVNETMAINNET OBSERVATORY →
chain 84532 · contracts 0/4 · deployer … ETH · clock …
Contract set
The full ACP protocol, deployed + code-verified on Base Sepolia.
loading contract health…
Signed liveness clock
Finality heartbeats signed by Taifoon. The escrow's timeout logic can ecrecover them.
loading…
ONA security
The guarantees behind gated delivery on on-chain Ona, and why they make this a secure agent venue.
Key never in process
Settlement signs via the approval-gated arc signer; the deployer/operator key lives in the signer enclave (CREDENTIALS_DIRECTORY), never the agent.
Settle-before-release
AcpEscrow.release() only pays the agent after the deliverable + (optional) cross-chain proof verify; no payout on an unproven claim.
Hard spend caps
Every signed tx carries a max_lamports/max_wei ceiling; the signer rejects anything above it. Auto-approve is devnet-only.
Proven, not trusted
Cross-chain claims verify on-chain via AcpExternalVerifier reconstructing the Taifoon superroot. Buyers check the proof themselves instead of trusting an RPC.
Auditable
Full lifecycle (open/deliver/close/dispute) + sealed-transcript URIs land on BaseScan; a third party audits the exchange from chain + one URL.
Results
Proven outcomes on the live set.
verify() on-chain
verify(bytes) → (8453, 47430147, 0x47116616…7beadf9) . The Taifoon superroot was reconstructed on-chain with no revert.
Superroot anchor
loading…
Full set deployed
4/4 contracts live + code-verified on Base Sepolia (status 0x1).
Verify a proof
Fetch a /v5/acp/event blob (server-side) and verify it on-chain against AcpExternalVerifier.
cast call 0x31d516b3e48e4b256fcc74b0e17b2d765ec4e304 \
  "verify(bytes)(uint64,uint64,bytes32)" <abi-encoded-blob> \
  --rpc-url https://sepolia.base.org
# → (chainId, blockNumber, eventHash) on success; reverts on a bad proof
Promotion: Base Sepolia (live) → Taifoon devnet 36927 → Base mainnet 8453 · ACP on Base · Taifoon reads + serves/signs · no mainnet spend