How it works
OneLink never asks you to trust it. Every final state is written by a server that has already verified the matching Arc Testnet event on-chain — and every receipt links the transaction so you can confirm it yourself.
The flow
The creator signs one Arc transaction to register the link. The server verifies the on-chain PaymentLinkCreated event before the invoice is ever stored.
The link (or its QR) goes to the payer. No account, no signup — they just connect a wallet when they're ready to pay.
The payer settles directly on Arc, or bridges USDC in from Base Sepolia via Circle CCTP. USDC is the native gas — no ETH required.
The server watches Arc for the matching PaymentCompleted event and only then writes the final paid state. The receipt links the exact Arcscan transaction.
Trust model
A client can claim anything. OneLink's API refuses to write a paid or cancelled state until it has matched the corresponding event from the OneLinkCollect contract on Arc. There is no path where the UI alone can fake a settlement.
Arc + Circle integration
Chain 5042002. USDC is the native gas token, so a payer never needs ETH. Deterministic on-chain finality.
Native USDC burn-and-mint from Base Sepolia into Arc, with retry-safe step events surfaced live in the pay flow.
Implemented end-to-end but gated — disabled in checkout until a funded deposit, burn, and mint flow is proven.
Final state is written by the server only after the on-chain event is verified. The contract, not the browser, is the source of truth.
Verify it yourself
Settlement contract
0x9b7D5B4DAD4c9B1065908FA8C6C34d697E3cBD0c
USDC token
0x3600000000000000000000000000000000000000
Chain
Arc Testnet · 5042002
Scope, stated plainly: OneLink is testnet-ready on Arc Testnet. It is not mainnet-ready; Circle Gateway checkout is implemented but gated until a funded end-to-end proof; Solana, fiat, and cards are not implemented. The product language never claims more than what is proven live.
Create a link, pay it on Arc, and watch the verified receipt appear.