The agent does not hold the payment key: the wallet holds it for the owner and signs an EIP-3009 authorization only for a payment the agent wrote into its signed ledger, verified without trusting the agent under the policy the owner pinned and against the ledger heads the wallet itself saw (a branch is refused with a proof of equivocation, a backdated entry is refused), naming exactly this purchase, written now, and within the limit judged also against what the wallet itself has signed. The authorization nonce is sha256(entry hash), so the on-chain payment names the ledger entry. The policy gains an optional `wallet` field. Also: an x402 v2 client, a minimal resource server, a local facilitator for tests, and verifica-plati.mjs, which proves from outside that a wallet's on-chain payments were allowed by the agent's policy (with --all-transfers, that no payment left the wallet without a ledger entry). Tests: wallet 25/25 and payment verifier 10/10 without a network (the verifier on chain responses recorded on testnet 28001), negative control 21/21; policy 27/27, agents control 26/26. On the public testnet 28001 through its x402 facilitator: 9/9, with the evidence in agents/x402/dovezi-28001/. Needs ethers (npm install in agents/x402).
206 lines
9.7 KiB
JSON
206 lines
9.7 KiB
JSON
{
|
|
"v": 1,
|
|
"recordedAt": "2026-09-29T20:23:48.503Z",
|
|
"rpc": "https://testnet-rpc.aere.network",
|
|
"chainId": "0x6d61",
|
|
"receipts": {
|
|
"0xd70d44785359419a460226d3c54e8f76375332a5cf8634421b04e30b47e4c16e": {
|
|
"blockHash": "0x57b530673634ee3454a25cf2fef87ae019bdb7f7dc29041309f7248e5bb637ab",
|
|
"blockNumber": "0x3d5f58",
|
|
"contractAddress": null,
|
|
"cumulativeGasUsed": "0x144c4",
|
|
"from": "0x50f2a153be2c248b7050914a08f4f6f4498c4e48",
|
|
"gasUsed": "0x144c4",
|
|
"effectiveGasPrice": "0x3b9aca00",
|
|
"logs": [
|
|
{
|
|
"address": "0x8215ba247a3574af8ebc36606eb437811e318fbd",
|
|
"topics": [
|
|
"0x98de503528ee59b575ef0c0a2576a82497bfc029a5685b209e9ec333479b10a5",
|
|
"0x000000000000000000000000e61f2ac98f18465071afd3f2e9a39ee1b2a564e9",
|
|
"0x56f33b19d8186232d0a9f9d6c049389d88e0ab7d4f81eb9bd00ffc98b6605a48"
|
|
],
|
|
"data": "0x",
|
|
"blockNumber": "0x3d5f58",
|
|
"transactionHash": "0xd70d44785359419a460226d3c54e8f76375332a5cf8634421b04e30b47e4c16e",
|
|
"transactionIndex": "0x0",
|
|
"blockHash": "0x57b530673634ee3454a25cf2fef87ae019bdb7f7dc29041309f7248e5bb637ab",
|
|
"blockTimestamp": "0x6abc1e24",
|
|
"logIndex": "0x0",
|
|
"removed": false
|
|
},
|
|
{
|
|
"address": "0x8215ba247a3574af8ebc36606eb437811e318fbd",
|
|
"topics": [
|
|
"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
|
|
"0x000000000000000000000000e61f2ac98f18465071afd3f2e9a39ee1b2a564e9",
|
|
"0x0000000000000000000000005b63415ab4b96d55987c39a00f22a12f2732edc3"
|
|
],
|
|
"data": "0x0000000000000000000000000000000000000000000000000000000000002710",
|
|
"blockNumber": "0x3d5f58",
|
|
"transactionHash": "0xd70d44785359419a460226d3c54e8f76375332a5cf8634421b04e30b47e4c16e",
|
|
"transactionIndex": "0x0",
|
|
"blockHash": "0x57b530673634ee3454a25cf2fef87ae019bdb7f7dc29041309f7248e5bb637ab",
|
|
"blockTimestamp": "0x6abc1e24",
|
|
"logIndex": "0x1",
|
|
"removed": false
|
|
}
|
|
],
|
|
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000200000000000000008000000000000008000000000000000000000080000000000000000000000000000080000000000000000000000000000000000000000050000000000000002000000000000000000000000000000000000000004000000000000000000000000000000000040000010000000004000000000000000000000000000000000002000002000000000000000000000000000000000000000000000000000000000000000000000080000000000000002000000000000000000000000020",
|
|
"status": "0x1",
|
|
"to": "0x8215ba247a3574af8ebc36606eb437811e318fbd",
|
|
"transactionHash": "0xd70d44785359419a460226d3c54e8f76375332a5cf8634421b04e30b47e4c16e",
|
|
"transactionIndex": "0x0",
|
|
"type": "0x2"
|
|
},
|
|
"0xb9ece53b4f2106de68321c41d22ec1f37b9a1b38cce46747dca496de913ebdb9": {
|
|
"blockHash": "0xc91066be5b1ddfa9cfe7a507f8d8279a7745ab4733aab012eac76909b91c4f6a",
|
|
"blockNumber": "0x3d5f61",
|
|
"contractAddress": null,
|
|
"cumulativeGasUsed": "0x101f8",
|
|
"from": "0x50f2a153be2c248b7050914a08f4f6f4498c4e48",
|
|
"gasUsed": "0x101f8",
|
|
"effectiveGasPrice": "0x3b9aca00",
|
|
"logs": [
|
|
{
|
|
"address": "0x8215ba247a3574af8ebc36606eb437811e318fbd",
|
|
"topics": [
|
|
"0x98de503528ee59b575ef0c0a2576a82497bfc029a5685b209e9ec333479b10a5",
|
|
"0x000000000000000000000000e61f2ac98f18465071afd3f2e9a39ee1b2a564e9",
|
|
"0x65a47f30ec24141e06c9c82740601a3099f596a3c01c7bb80d3351753f8d8818"
|
|
],
|
|
"data": "0x",
|
|
"blockNumber": "0x3d5f61",
|
|
"transactionHash": "0xb9ece53b4f2106de68321c41d22ec1f37b9a1b38cce46747dca496de913ebdb9",
|
|
"transactionIndex": "0x0",
|
|
"blockHash": "0xc91066be5b1ddfa9cfe7a507f8d8279a7745ab4733aab012eac76909b91c4f6a",
|
|
"blockTimestamp": "0x6abc1e29",
|
|
"logIndex": "0x0",
|
|
"removed": false
|
|
},
|
|
{
|
|
"address": "0x8215ba247a3574af8ebc36606eb437811e318fbd",
|
|
"topics": [
|
|
"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
|
|
"0x000000000000000000000000e61f2ac98f18465071afd3f2e9a39ee1b2a564e9",
|
|
"0x0000000000000000000000005b63415ab4b96d55987c39a00f22a12f2732edc3"
|
|
],
|
|
"data": "0x0000000000000000000000000000000000000000000000000000000000002710",
|
|
"blockNumber": "0x3d5f61",
|
|
"transactionHash": "0xb9ece53b4f2106de68321c41d22ec1f37b9a1b38cce46747dca496de913ebdb9",
|
|
"transactionIndex": "0x0",
|
|
"blockHash": "0xc91066be5b1ddfa9cfe7a507f8d8279a7745ab4733aab012eac76909b91c4f6a",
|
|
"blockTimestamp": "0x6abc1e29",
|
|
"logIndex": "0x1",
|
|
"removed": false
|
|
}
|
|
],
|
|
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000200000000000000008000000000000009000000000000000000000080000000000000000000000000000080000000000000004000000000000000000000000010000000000000002000000000000000000000000000000000000000004000000000000000000000000000000000000000010000000004000000000000000000000000000000000002000002000000000000000400000000000000000000000000000000000000000000000000000080000000000000002000000000000000000000000000",
|
|
"status": "0x1",
|
|
"to": "0x8215ba247a3574af8ebc36606eb437811e318fbd",
|
|
"transactionHash": "0xb9ece53b4f2106de68321c41d22ec1f37b9a1b38cce46747dca496de913ebdb9",
|
|
"transactionIndex": "0x0",
|
|
"type": "0x2"
|
|
},
|
|
"0x02bb4b86da192c8277b36297a39233dd7b8831e6125385c32dc5f009908ecb63": {
|
|
"blockHash": "0x8ff8184bb076ad26e8b4e637ffdc596c63ba89f6e7eb94c53d300dd55a93a99b",
|
|
"blockNumber": "0x3d5f69",
|
|
"contractAddress": null,
|
|
"cumulativeGasUsed": "0x101ec",
|
|
"from": "0x50f2a153be2c248b7050914a08f4f6f4498c4e48",
|
|
"gasUsed": "0x101ec",
|
|
"effectiveGasPrice": "0x3b9aca00",
|
|
"logs": [
|
|
{
|
|
"address": "0x8215ba247a3574af8ebc36606eb437811e318fbd",
|
|
"topics": [
|
|
"0x98de503528ee59b575ef0c0a2576a82497bfc029a5685b209e9ec333479b10a5",
|
|
"0x000000000000000000000000e61f2ac98f18465071afd3f2e9a39ee1b2a564e9",
|
|
"0x1ae82892234488ec0d6e8f19a324a50682f0c7afccf2ec0e1e66a9cce1a5f443"
|
|
],
|
|
"data": "0x",
|
|
"blockNumber": "0x3d5f69",
|
|
"transactionHash": "0x02bb4b86da192c8277b36297a39233dd7b8831e6125385c32dc5f009908ecb63",
|
|
"transactionIndex": "0x0",
|
|
"blockHash": "0x8ff8184bb076ad26e8b4e637ffdc596c63ba89f6e7eb94c53d300dd55a93a99b",
|
|
"blockTimestamp": "0x6abc1e2d",
|
|
"logIndex": "0x0",
|
|
"removed": false
|
|
},
|
|
{
|
|
"address": "0x8215ba247a3574af8ebc36606eb437811e318fbd",
|
|
"topics": [
|
|
"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
|
|
"0x000000000000000000000000e61f2ac98f18465071afd3f2e9a39ee1b2a564e9",
|
|
"0x0000000000000000000000005b63415ab4b96d55987c39a00f22a12f2732edc3"
|
|
],
|
|
"data": "0x0000000000000000000000000000000000000000000000000000000000002710",
|
|
"blockNumber": "0x3d5f69",
|
|
"transactionHash": "0x02bb4b86da192c8277b36297a39233dd7b8831e6125385c32dc5f009908ecb63",
|
|
"transactionIndex": "0x0",
|
|
"blockHash": "0x8ff8184bb076ad26e8b4e637ffdc596c63ba89f6e7eb94c53d300dd55a93a99b",
|
|
"blockTimestamp": "0x6abc1e2d",
|
|
"logIndex": "0x1",
|
|
"removed": false
|
|
}
|
|
],
|
|
"logsBloom": "0x00000000000000002000000000000000000000000000000008000000000000000000000000000000000020000000000000000000000000000000000200000000000000008000000000000008000000000000000000000080000000000000000000000000000080000000000000000000000000000000000000000010000000000000002000000000000000000000000000000000000000004000000000000000000000000000000000000000010000000004000000000000000000000000000000000002000002000000000000000000000000000000000000000000000000000000000000000000000080000000000000002010000000000000000000000000",
|
|
"status": "0x1",
|
|
"to": "0x8215ba247a3574af8ebc36606eb437811e318fbd",
|
|
"transactionHash": "0x02bb4b86da192c8277b36297a39233dd7b8831e6125385c32dc5f009908ecb63",
|
|
"transactionIndex": "0x0",
|
|
"type": "0x2"
|
|
}
|
|
},
|
|
"transfersOut": [
|
|
{
|
|
"logIndex": "0x1",
|
|
"removed": false,
|
|
"blockNumber": "0x3d5f58",
|
|
"blockHash": "0x57b530673634ee3454a25cf2fef87ae019bdb7f7dc29041309f7248e5bb637ab",
|
|
"blockTimestamp": "0x6abc1e24",
|
|
"transactionHash": "0xd70d44785359419a460226d3c54e8f76375332a5cf8634421b04e30b47e4c16e",
|
|
"transactionIndex": "0x0",
|
|
"address": "0x8215ba247a3574af8ebc36606eb437811e318fbd",
|
|
"data": "0x0000000000000000000000000000000000000000000000000000000000002710",
|
|
"topics": [
|
|
"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
|
|
"0x000000000000000000000000e61f2ac98f18465071afd3f2e9a39ee1b2a564e9",
|
|
"0x0000000000000000000000005b63415ab4b96d55987c39a00f22a12f2732edc3"
|
|
]
|
|
},
|
|
{
|
|
"logIndex": "0x1",
|
|
"removed": false,
|
|
"blockNumber": "0x3d5f61",
|
|
"blockHash": "0xc91066be5b1ddfa9cfe7a507f8d8279a7745ab4733aab012eac76909b91c4f6a",
|
|
"blockTimestamp": "0x6abc1e29",
|
|
"transactionHash": "0xb9ece53b4f2106de68321c41d22ec1f37b9a1b38cce46747dca496de913ebdb9",
|
|
"transactionIndex": "0x0",
|
|
"address": "0x8215ba247a3574af8ebc36606eb437811e318fbd",
|
|
"data": "0x0000000000000000000000000000000000000000000000000000000000002710",
|
|
"topics": [
|
|
"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
|
|
"0x000000000000000000000000e61f2ac98f18465071afd3f2e9a39ee1b2a564e9",
|
|
"0x0000000000000000000000005b63415ab4b96d55987c39a00f22a12f2732edc3"
|
|
]
|
|
},
|
|
{
|
|
"logIndex": "0x1",
|
|
"removed": false,
|
|
"blockNumber": "0x3d5f69",
|
|
"blockHash": "0x8ff8184bb076ad26e8b4e637ffdc596c63ba89f6e7eb94c53d300dd55a93a99b",
|
|
"blockTimestamp": "0x6abc1e2d",
|
|
"transactionHash": "0x02bb4b86da192c8277b36297a39233dd7b8831e6125385c32dc5f009908ecb63",
|
|
"transactionIndex": "0x0",
|
|
"address": "0x8215ba247a3574af8ebc36606eb437811e318fbd",
|
|
"data": "0x0000000000000000000000000000000000000000000000000000000000002710",
|
|
"topics": [
|
|
"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
|
|
"0x000000000000000000000000e61f2ac98f18465071afd3f2e9a39ee1b2a564e9",
|
|
"0x0000000000000000000000005b63415ab4b96d55987c39a00f22a12f2732edc3"
|
|
]
|
|
}
|
|
]
|
|
}
|