Skip to content

Live transactions

Every claim in these docs that says “live” points here. Each transaction links to Cardanoscan (preprod); blocks, fees, times and the details under “What to check” were read back from the chain. Nothing on this page is simulated, and no hash is filled in before its run has happened.

First passkey-signed Cardano send

Live on preprod
081800083252d4c1a46ebb7afc53ba1dd61c02847b7b219d01c5f2868eef1ace
Block
5353436
Time (UTC)
2026-10-30 14:03:30
Amount
1 ADA to the demo seller
Fee
0.167349 ADA

A plain send from the web app. The user's passkey signed the transaction body hash (SIGN_RAW_PAYLOAD_V2); the API attached the witness and broadcast through Blockfrost. The first Cardano transaction ZyroPay ever submitted. How this works

AI-paid x402 report, direct

Live on preprod
83ecc5742fafb0a332032c9b11902f54e2dcc71262843e6592103680c79d787b
Block
5353756
Time (UTC)
2026-10-30 15:59:52
Amount
2 ADA to the seller's payTo
Fee
0.167349 ADA
Latency
About 160 s from the agent's request to CONFIRMED, including the human approval

ChatGPT, connected through the ZyroPay MCP connector, called pay_x402 for the address report. The user approved with a passkey; the seller's facilitator submitted the transaction; the report came back with HTTP 200 and its delivery receipt verified. How this works

AI-paid lock into Masumi escrow

Live on preprod
630f20122b624f2e7960d8ad5e1c037b299f12bf4cd97d078f91dba41243c653
Block
5353819
Time (UTC)
2026-10-30 16:25:09
Amount
5 ADA locked at the escrow script
Fee
0.187589 ADA
Latency
About 130 s from the agent's request to the lock, including the human approval

The agent paid the escrow route of the same seller. ZyroPay verified the seller-signed terms, built the inline datum, bound it into the payload hash, and the user's passkey signed the lock. How this works

Seller's on-chain SubmitResult, proof verified

Live on preprod
ee7b142e7306e1ecce7fb57f1da3c904f6a1c372eaacf3c471f581f5db865361
Block
5353820
Time (UTC)
2026-10-30 16:25:30
Amount
5 ADA stays in escrow
Fee
0.688128 ADA
Latency
21 s after the lock, in the next block

The seller recorded result_hash = SHA-256 of the report it delivered. ZyroPay compared it with the SHA-256 the MCP worker computed over the bytes the agent received: equal, so the proof state is verified. How this works

Seller collects after unlock_time (Withdraw)

Live on preprod
c59d85cf3b906342d70adcdf20247c42a01070fadff642d2b4a3d34814b916d3
Block
5353887
Time (UTC)
2026-10-30 16:54:17
Amount
4.357634 ADA to the seller (5 ADA escrow minus the fee)
Fee
0.642366 ADA
Latency
39 s after unlock_time, within one cron period

The seller worker's cron sweeper (every minute) saw chain time pass unlock_time and spent the escrow with the Withdraw redeemer. This closes the honest lifecycle of the escrow above: lock, SubmitResult, Withdraw. No ZyroPay component and no passkey is involved; the seller collects alone. How this works

Masumi registry registration (NFT mint)

Live on preprod
11dcdf21c55a4eca0d8bddbd3b823785ae19ef84e218e6f93b304c816f1486e9
Block
5354719
Time (UTC)
2026-10-30 22:06:48
Amount
1 registry NFT, held with 5 ADA by the selling wallet
Fee
0.289014 ADA

Our own Masumi Payment Service (0.29.0, Docker) minted the registry entry for Cardano Address Intelligence from its selling wallet. The NFT's asset id is the agentIdentifier; its metadata points Sokosumi and other Masumi buyers at the MIP-003 endpoint https://masumi-agent.zyropay.online, at a fixed 1 tUSDM. How this works

Open 0818000832…ef1ace on Cardanoscan (preprod) and check:

WhereWhat you should see
InputOne UTxO from the user's enterprise address addr_test1vqj6…3wa (no stake part, ADR-002)
Output #01 ADA to the demo seller addr_test1qr954…kaen
Output #1Change back to the sender's address
Fee0.167349 ADA (271-byte transaction)
ValidityAn upper bound (TTL) only
Scripts, metadataNone. One vkey witness.

Open 83ecc5742f…9d787b on Cardanoscan (preprod) and check:

WhereWhat you should see
InputOne UTxO from the same user address addr_test1vqj6…3wa
Output #0Exactly 2 ADA (the 402's amount) to payTo addr_test1qr954…kaen
Output #1Change to the sender
ValidityTTL 489 slots after inclusion: inside the 402's maxTimeoutSeconds (600)
Fee0.167349 ADA
Scripts, metadataNone. A plain transfer: the x402 exact scheme

Also in the seller’s answer (not on chain): PAYMENT-RESPONSE names this transaction id, and the receipt verified against the seller’s address.

Open 630f20122b…43c653 on Cardanoscan (preprod) and check:

WhereWhat you should see
Output #0Exactly 5 ADA to the Masumi V2 escrow script addr_test1wzs4e6…37w4g, with an inline datum
Datum: buyerPayment key hash 25a18eb6… (the user's address)
Datum: sellerPayment key hash cb4ab9d1… (the seller's address)
Datum: stateFundsLocked (constructor 0), result_hash empty
Datum: deadlinespayBy 16:28:38, submitResult 16:38:38, unlock 16:53:38, external dispute 17:08:38 (UTC)
ValidityTTL = payBy rounded down to a slot (137694518)
Output #1Change to the user; no script runs at lock time
Fee0.187589 ADA (731-byte transaction)

Open ee7b142e73…865361 on Cardanoscan (preprod) and check:

WhereWhat you should see
InputsThe escrow UTxO 630f2012…#0 (5 ADA, script) and a 20 ADA seller UTxO
ScriptOne Plutus V3 execution (the 10,003-byte vested_pay script, inline)
Output #05 ADA back to the escrow, same datum except the fields below
Datum: result_hashd80a4d02d13d08a45d4662e432c5a5a6550ac9c2a093549f5dbbd0c6afbfbfce
Datum: stateResultSubmitted (constructor 1); seller cooldown set
CollateralThe same 20 ADA seller UTxO, with a 15 ADA collateral return
Fee0.688128 ADA (11,052-byte transaction, paid by the seller)

The proof: the SHA-256 ZyroPay’s MCP worker computed over the report the agent received equals the result_hash above, so the request’s proof state is verified.

Open c59d85cf3b…b916d3 on Cardanoscan (preprod) and check:

WhereWhat you should see
InputThe escrow UTxO ee7b142e…5361#0 (5 ADA at the script, state ResultSubmitted)
ScriptOne Plutus V3 spend of the vested_pay script a15ce9d8…14ad, redeemer Constr 0 [] (Withdraw)
Output #04,357,634 lovelace to the seller addr_test1qr954…kaen; no output back to the escrow
ValidityStarts at slot 137696019, after unlock_time (16:53:38 UTC): the script only allows Withdraw then
SignerThe seller's payment key (cb4ab9d1…), the key the datum names
Fee0.642366 ADA (10,450-byte transaction, the script inline, paid out of the escrow)

Lock, SubmitResult and Withdraw are one escrow, start to finish: each spends the output the one before created (630f2012…#0, then ee7b142e…#0). The seller’s own status route agrees: GET https://address-intel.zyropay.online/v1/escrow/630f2012…c653 answers "status": "withdrawn".

Open 11dcdf21c5…1486e9 on Cardanoscan (preprod) and check:

WhereWhat you should see
Mint1 asset under the Masumi V2 registry policy 67ab0c92…bd0b, mint redeemer Constr 0 []
agentIdentifier67ab0c92…bd0b106fe284…8f000000 (policy id followed by the asset name)
Output #0The NFT with 5 ADA to the selling wallet addr_test1qr44th…c2xv
Metadata 674msg: Masumi, RegisterAgent
Metadata 721name Cardano Address Intelligence, author ZyroPay, api_base_url https://masumi-agent.zyropay.online
Fee0.289014 ADA (2,922-byte transaction)

The full agentIdentifier is 67ab0c92c4ac1610895a1c965ee50aba41a8f1513b15240723b3bd0b106fe284ceb06b6c8510815f3d9813378d66b57c8c9cecf4e31532928f000000 (token on Cardanoscan). Its endpoint answers: GET https://masumi-agent.zyropay.online/availability returns {"status": "available", "type": "masumi-agent"}, and POST /start_job returns node-signed terms in state awaiting_payment. Two smaller transactions before the mint funded the selling wallet (e42223ad…7313, 100 tADA from a test wallet of the ZyroPay team) and split off its collateral (3e101ee6…5d89); both are housekeeping and prove nothing on their own.

These are built and tested offline; each will be added here with its hash after it runs.

Refund: SetRefundRequested and WithdrawRefund, passkey-signed

Awaiting live run

The user asks for a refund in the app, the seller authorizes it, and the user withdraws. Both buyer spends are signed with the passkey. How this works

Dishonest seller: proof mismatch, then refund

Awaiting live run

The seller's demo switch records one hash on chain and delivers other bytes; ZyroPay reports mismatch and recommends a refund. How this works

Agents hiring agents: the seller's sub-payment

Awaiting live run

Address Intelligence pays Token Intelligence over x402 while building a report, and embeds the specialist's receipt. How this works

Paid Sokosumi task

Awaiting live run

A Sokosumi hire paid into the Masumi escrow, the result hash submitted by our Payment Service. How this works

Autonomous payment within an on-chain allowance

Not built

Not built. Cardano payments always need the passkey today. How this works

On the previous staging deployment (2026-10-20), real passkey-signed sends confirmed on Solana devnet and Ethereum Sepolia through the web app, and a delegated-key autonomous payment of 0.01 SOL confirmed on devnet. They are recorded in docs/IMPLEMENTATION_STATUS.md; their hashes are not part of this evidence set.