Chain 10143 · 2026-10-13
Live on Monad testnet
One full credit cycle, broadcast to the deployed vault and the canonical x402 contract. Every row opens on the explorer. Scripted agent, test token, no facilitator. Every transaction below was sent by tools/live-run.ts. One funded wallet played lender, sponsor, customer and keeper, and the agent and vendor were throwaway keys.
- Agent's own funds
- 0.00
- it signed vouchers and held nothing
- Customer paid
- 100.00
- 40.00 repaid the loan first
- Agent received
- 60.00
- the remainder, after the loan
- Refusals matched
- 4/4
- simulated against the live vault
- 01funder sends the agent gasblock 707879250x0a9894f3…f3b904
- 02funder sends the vendor gasblock 707879270xc6664f50…1bbd3d
- 03mint test stablecoin to the funderblock 707879300xa80d6195…bde37a
- 04funder approves the vaultblock 707879330xbb65fb6b…57c2f3
- 05lender supplies 1000 to the vaultblock 707879360x23a7eb3a…977af5
- 06sponsor opens a line for the agent: 400 collateral, 100 base, 40 per channel, 10% APR, 30 days, 50% revenue shareblock 707879380xbdbb2e06…4467b8
- 07sponsor allowlists the vendorblock 707879410x23e2a4b4…d2a326
- 08sponsor allowlists the customer as a revenue payerblock 707879430x35a9abb4…3ef97a
- 09agent asks the vault to fund a 40.00 channel for the vendor (quote 25)block 707879470xf6868ade…016b6e
- 10vendor claims the agent's signed voucher for 25.00block 707879510x6ced01d5…54868c
- 11anyone settles the claimed funds to the vendorblock 707879540xd3c1ddbf…795718
- 12vendor refunds the 15 it did not use, straight to the vaultblock 707879570x07664293…3e8259
- 13anyone reconciles: debt drops by 15block 707879600x54a884ac…121733
- 14sponsor repays the 25 owedblock 707879630xacaa440c…dc61ec
- 15agent asks the vault to fund a 40.00 channel for the vendor (quote 40)block 707879660xff2ac73a…41f3fd
- 16vendor claims the agent's signed voucher for 40.00block 707879690x180c904d…1e9943
- 17anyone settles the claimed funds to the vendorblock 707879710x5e7f99ea…082a26
- 18a customer pays the agent 100 through the vault: the loan is repaid firstblock 707879750xeefa6329…1c0657
- 19sponsor revokes the lineblock 707879820x175ab0a3…723caf
The longer recorded run, on a local fork
The fork run's contracts
CreditVault run against the real x402BatchSettlement contract on a local Anvil fork of Monad testnet. State changes stay in the fork; nothing was broadcast to Monad. The token is MockAUSD. No facilitator was involved.
Mode ANVIL_FORK_MONAD_TESTNET. Generated 2026-09-30T04:41:20.372Z. Re-run it with pnpm proof:local.
- MockAUSD
- 0x7fe8f693e40de8380a846a94b92b33d59bbb30c7 (local fork only)
- CreditVault
- 0x3e982dec52fc7b579cda9b3a06af0fc17309f7f6 (local fork only)
- x402BatchSettlement
- 0x4020074e9dF2ce1deE5A9C1b5c3f541D02a10003 (canonical, has code on Monad testnet 10143 and mainnet 143)
Run 01
Vault funds an x402 channel; agent signs vouchers; vendor claims; vendor refunds; reconcile books it
- agent tokens change
- 0.00
- escrowed
- 40.00
- debt after fund
- 40.00
- vendor received
- 25.00
- unbooked refund
- 15.00
- share value before reconcile
- 5000.00
- share value after reconcile
- 5000.00
- debt after reconcile
- 25.00
Run 02
Repayments raise the agent's tier; collateral supports more credit
- tier before
- 0
- tier after
- 1
- ltv bps before
- 7500
- ltv bps after
- 10000
- repaid principal
- 145.00
- credit limit before
- 100.00
- credit limit after
- 245.00
Run 03
A customer pays the agent through the vault; the loan is repaid first
- debt before
- 40.00
- customer paid
- 100.00
- agent received
- 60.00
- debt after
- 0.00
Run 04
The record follows the agent to a new sponsor
- sponsor2 credit limit
- 100.00
Run 05
An overdue line is liquidated; the default pins the agent to tier 0
- debt at liquidation
- 40.33
- returned to sponsor
- 59.66
- defaults
- 1
- tier after
- 0
- ltv bps after
- 7500
Attempts that were refused
| Attempt | Expected | Chain said |
|---|---|---|
| agent tries to fund a channel paying itself | ReceiverNotAllowed | ReceiverNotAllowed |
| agent tries to fund a wallet the sponsor never approved | ReceiverNotAllowed | ReceiverNotAllowed |
| agent funds 41 (cap is 40) | OverPerBorrowCap | OverPerBorrowCap |
| a wallet that is not the agent funds on the agent's line | LineInactive | LineInactive |
| agent funds past its credit ceiling | OverCreditLimit | OverCreditLimit |
| vendor claims a voucher signed by someone other than the agent | InvalidSignature | InvalidSignature |
| agent funds after revoke | LineInactive | LineInactive |
| a fresh agent asks for the same terms (base 90 on 100 collateral) | BadTerms | BadTerms |
Receipts, checked in your browser
Each digest is recomputed from the receipt's own fields. It proves a receipt was not edited after the fact. It is not a signature.
| Receipt | Amount | Transaction | Digest | Check |
|---|---|---|---|---|
| supplied | 5000.00 | 0xd49274…9052b3 | 0xfdce76…34d95d | Matches |
| lineopened | 400.00 | 0xadcbb0…3e101f | 0xe8146b…1e3abd | Matches |
| channelfunded | 40.00 | 0x05e3a7…0b729f | 0x9f113e…63d3bb | Matches |
| channelreconciled | 15.00 | 0x6e317d…8f8f09 | 0xf07d6d…65958a | Matches |
| repaid | 25.00 | 0xb16519…e30902 | 0xb0350a…4e24ae | Matches |
| channelfunded | 40.00 | 0x1361c8…5107ac | 0x621b6c…2a9f1f | Matches |
| repaid | 40.00 | 0x4aeef6…ade77a | 0x1ba962…3f0af1 | Matches |
| channelfunded | 40.00 | 0x90f497…700554 | 0x61807e…9d7ff4 | Matches |
| repaid | 40.00 | 0x706ad2…e778ac | 0x489ef3…992f23 | Matches |
| channelfunded | 40.00 | 0x1b2649…5b4dfc | 0x53b3a9…c817b2 | Matches |
| repaid | 40.00 | 0xa08746…802e37 | 0xa4f801…f04f67 | Matches |
| channelfunded | 40.00 | 0x08d04d…5f3701 | 0xa96463…69731d | Matches |
| revenuerouted | 100.00 | 0xc4b172…51fe07 | 0x3c0310…c54607 | Matches |
| repaid | 40.00 | 0xc4b172…51fe07 | 0x71a723…aa445e | Matches |
| channelfunded | 40.00 | 0x41093b…76a61e | 0x8c653a…a4f3a2 | Matches |
| channelfunded | 40.00 | 0xe0574c…df8135 | 0x290150…2060a0 | Matches |
| channelfunded | 40.00 | 0x072db3…36075f | 0xc96670…b8e6d1 | Matches |
| channelfunded | 40.00 | 0x96d8c4…45eb22 | 0x043461…05320a | Matches |
| channelfunded | 40.00 | 0xc4ee81…0058d6 | 0xa55a02…dff5d8 | Matches |
| channelfunded | 40.00 | 0x4ae52d…862a49 | 0x3ff113…860dd5 | Matches |
| channelfunded | 40.00 | 0x5c1a88…67fa99 | 0x927ba5…4c1435 | Matches |
| channelfunded | 5.00 | 0xeccf28…842cf8 | 0x3e7b71…d3c53e | Matches |
| lineopened | 100.00 | 0x4b7481…e55373 | 0xa2af0e…86e951 | Matches |
| channelfunded | 40.00 | 0xb6ecab…0329b0 | 0x22f675…f10fb5 | Matches |
| liquidated | 40.33 | 0xb54401…46849c | 0x5e69e6…cc36eb | Matches |
Transactions (50)
- 01deploy MockAUSD (stand in for the real stablecoin)block 66878622
- 02deploy CreditVaultblock 66878623
- 03mint 10000 to lenderblock 66878624
- 04mint 2000 to sponsorblock 66878625
- 05mint 500 to sponsor2block 66878626
- 06mint 5000 to customerblock 66878627
- 07lender approves the vaultblock 66878628
- 08sponsor approves the vaultblock 66878629
- 09sponsor2 approves the vaultblock 66878630
- 10customer approves the vaultblock 66878631
- 11agent approves the vaultblock 66878632
- 12lender supplies 5000block 66878633
- 13sponsor opens line: 400 collateral, 100 base, 40 per channel, 10% APR, 30 days, 50% revenue shareblock 66878634
- 14sponsor allowlists the vendor and its claim authorizerblock 66878635
- 15sponsor allowlists the customer as a revenue payerblock 66878636
- 16agent funds a 40 channel for the vendor (vault pays, agent holds nothing)block 66878637
- 17vendor claims a voucher for 12.30block 66878638
- 18anyone settles claimed funds to the vendorblock 66878639
- 19vendor claims a later voucher for 25block 66878640
- 20anyone settles claimed funds to the vendorblock 66878641
- 21vendor refunds the 15 it did not use (goes straight to the vault)block 66878642
- 22anyone reconciles the refund: debt drops by 15block 66878643
- 23sponsor repays the outstanding 25block 66878644
- 24agent funds a 40 channel (round 1)block 66878645
- 25vendor claims 40 (round 1)block 66878646
- 26anyone settles claimed funds to the vendorblock 66878647
- 27sponsor repays 40 (round 1)block 66878648
- 28agent funds a 40 channel (round 2)block 66878649
- 29vendor claims 40 (round 2)block 66878650
- 30anyone settles claimed funds to the vendorblock 66878651
- 31sponsor repays 40 (round 2)block 66878652
- 32agent funds a 40 channel (round 3)block 66878653
- 33vendor claims 40 (round 3)block 66878654
- 34anyone settles claimed funds to the vendorblock 66878655
- 35sponsor repays 40 (round 3)block 66878656
- 36agent funds a 40 channel to have debtblock 66878657
- 37customer pays the agent 100 through the vaultblock 66878658
- 38agent funds toward its credit ceiling (1)block 66878659
- 39agent funds toward its credit ceiling (2)block 66878660
- 40agent funds toward its credit ceiling (3)block 66878661
- 41agent funds toward its credit ceiling (4)block 66878662
- 42agent funds toward its credit ceiling (5)block 66878663
- 43agent funds toward its credit ceiling (6)block 66878664
- 44agent funds toward its credit ceiling (7)block 66878665
- 45agent funds toward its credit ceiling (8)block 66878666
- 46sponsor revokes the lineblock 66878667
- 47sponsor2 allowlists the vendor for the proven agentblock 66878668
- 48sponsor2 opens the same terms for the proven agent (allowed by its tier)block 66878669
- 49agent funds 40 on sponsor2's lineblock 66878670
- 50keeper liquidates the overdue lineblock 66878672