Yield Payment Network · executed on-chain

The whole loop,
run live on testnet.

Deposit → earn → authorize → spend, plus a native USDC bridge — every leg executed on-chain, with real transaction hashes you can open in a block explorer. The plumbing working end to end, not a mock-up.

Testnet · unaudited · valueless test USDC. Everything below ran on Circle’s Arc testnet (5042002) and Base Sepolia (84532). Vaults are empty, nothing is an offer, and external audit remains the gate before real value. The hashes are real; the dollars are not.
Run date
2026-08-19
Networks
Arc + Base Sepolia
Signer
0x9c64…33AD
Vault right now
reading…
Anyone with the link can view — no wallet, no sign-in.
1

Deposit & earn

Proven on ArcArc · MintwareYieldVault 0x11Ef…C421

5 USDC deposited into the treasury vault. The same transaction routed it through the adapter into the yield source — the capital went straight to work rather than sitting idle.

Vault total assets2.007.00 USDC
Signer vault shares2.007.00
Capital earning in yield source2.007.00 USDC
Approve0x529e20de…ca612farcscan
Deposit0x9d34c116…a58449arcscan
2

Authorize — sub-10 ms, off live NAV

Live serviceedge-auth → live Arc NAV (7.00 USDC backing)

The Rust edge-auth service, pointed at the live Arc vault, decided each spend off the real NAV — reserving a hold on approval, failing closed otherwise. Off-chain, so no tx hash; these are the running service’s live responses.

RequestDecisionReasonLatency
$2.00Approvedhold reserved · headroom 7→57.2 ms
$10.00Declinedinsufficient_equity (over 5 headroom)6.9 ms
$300.00Declinedhigh-value lane · 2nd-signer absent → fail-closed6.1 ms
$2.00 · no bearer401fail-closed: endpoint reserves equity
3

Settle — spend as USDC

Proven on ArcArc · MintwarePaymentGateway 0x1D07…5399

A signed EIP-712 spend permit → the gateway burned exactly the shares needed and paid the merchant 2 USDC. The event trace unwinds the earn path in reverse (yield source redeemed → adapter → vault → merchant) — the dollars came out of the earning position at the moment of the spend.

Merchant USDC received0.002.00 USDC
Signer vault shares7.005.00
Vault total assets7.005.00 USDC
Point card rail0x9879e7fa…d01420arcscan
settleSpend0x7fd4b3f0…7c6934arcscan · PaymentSettled
4

Bridge — native USDC, Base → Arc

Proven end-to-endBase Sepolia → CCTP domain 26 (Arc)

1 USDC burned on Base Sepolia through Circle’s CCTP v2, attested by Circle (~22 min, standard finality), then minted natively on Arc and deposited straight into the vault as yield-earning shares. Bridged capital arrived already earning.

Bridged USDC minted on Arc1.00 USDC
Vault total assets5.006.00 USDC
Recipient vault shares5.006.00
Approve (Base)0xff7318e4…51c18dbasescan
Burn (Base)0xc7a0d7c3…031df9basescan · depositForBurn
Receive (Arc)0xf99b2d6f…3d4796arcscan · BridgedAndDeposited

The suites behind it

The on-chain run rides code that is green across every layer — Solidity, Rust, and the property-based invariants where money can be lost.

489 / 0
Forge tests pass / fail · 46 suites (6 fork skips)
109 Rust
edge-auth 86 · relayer 23 — all pass
7 / 7
MEV + solvency invariants · 256 × 128k
~10 ms
edge-auth decision, off live NAV
ContractNetworkAddress
Treasury vaultArc0x11Ef…C421
Payment gatewayArc0x1D07…5399
Yield adapterArc0xb9FB…2B88
CCTP deposit routerArc0xDB9D…Fc03
CCTP TokenMessengerBase Sepolia0x8FE6…2DAA

Recorded 2026-08-19 · Arc testnet (5042002) + Base Sepolia (84532) · unaudited. To reproduce or extend the run, see the deploy scripts in contracts-v4/script and the runbook docs/developers/session-handoff-arc.md. What is YPN? →