← InvoiceFence interactive lab

One obligation. One testnet payment.

Approved payment confirmed → independent duplicate rejected

Recorded September 21, 2026 on Robinhood Chain Testnet, an Arbitrum chain (46630). The public interactive lab remains an isolated local EVM. These are separate environments.

Contract: 0x98A16442a62F9FbC49B8a156e45feE3Eb545f177
Official test USDG: 0x7E955252E15c84f5768B83c41a71F9eba181802F

ActionReceiptTransactionBlock
fund-vaultConfirmed0xddfb1e32a842…122415906
fund-independent-workerConfirmed0x122f4b7539d8…122415918
settle-approved-obligationConfirmed0xa5f3df280610…122415933
reject-second-executor-new-approval-nonceReverted as expected0x94426f0cae56…122415968

The synthetic vendor received exactly 1.000000 test USDG. A different executor, using a fresh owner-approved nonce for the same obligation, was rejected with ObligationAlreadyPaid. Its mined transaction reverted and its fresh approval nonce remained unused. This checks the shared business obligation, beyond simple transaction replay.

Valueless official faucet tokens and a synthetic invoice. The guarantee applies only to this vault and a reused obligation ID. A different ID for the same bill or a payment outside the vault is outside this protection. No production savings, audit or customer adoption is claimed.

Machine-readable evidence · Source