One link for USDC. It ends in proof.
Freelancers lose hours to the same back-and-forth — which wallet, which network, which address format, which kind of USDC. OneLink is one page that settles on Arc, and only shows paid after the server verifies the on-chain event. No screenshots. No trust me.
- Settles on
- Arc
- chain 5042002
- Native gas
- USDC
- no second token
- Status source
- On-chain
- server-verified
- Fee
- ≤1%
- capped on-chain
01 · The problem
Getting paid in USDC is still a support thread.
The asset is global and programmable. The experience around it is anything but — and freelancers absorb the friction on every invoice.
Too many ways to get it wrong
Wallets, networks, address formats, and USDC variants turn one invoice into a back-and-forth. Send on the wrong chain and the money is gone.
Clients want reassurance
Payers hesitate without a clear, trustworthy page. Freelancers fill the gap with ad-hoc support and screenshots — every single time.
A screenshot isn't proof
A raw explorer link or a cropped screenshot isn't a professional checkout, and it doesn't actually prove the money arrived where it should.
02 · The solution
Settlement before status.
OneLink is one professional page that replaces the chain confusion. The UI only flips to paid after the server verifies the settlement event on Arc — never on the browser’s word. The contract is the source of truth.
- 1
Create
Set amount, memo, expiry.
- 2
Open & connect
Payer opens one page, connects a wallet.
- 3
Pay a supported route
Direct on Arc, or bridge from Base.
- 4
Verify on Arc
Server confirms the on-chain event.
- 5
Verifiable receipt
Anchored to Arcscan, re-checkable.
03 · Differentiators
What makes it different.
Pay however you hold USDC
Direct on Arc, or bridge from Base via Circle CCTP. Whatever route the payer picks, the money always lands on Arc.
USDC is the only token you need
USDC is Arc's native gas. No ETH-for-gas dance, no second balance — the payer signs once and it settles.
Server-verified, not browser trust
The browser can ask, but it cannot mark anything paid. Only a verified Arc event flips terminal state.
Every claim has a hash
Each receipt anchors to a real Arcscan transaction you can open and re-check yourself. Nothing to take on faith.
04 · How it works
Five steps, each anchored to an event.
Nothing flips to a positive state on a hunch. Each step maps to a real contract event, and the receipt links back to the chain.
- 01Create
Creator sets the amount and memo. The contract emits a PaymentLinkCreated event the app verifies before the link goes live.
PaymentLinkCreated - 02Share
One shareable URL — a clean checkout, not a raw address. Works as a one-time invoice or a permanent profile page.
One link - 03Pay
Pay directly on Arc, or bridge from Base Sepolia via CCTP. USDC pays the network fee — no separate gas token.
Arc · or CCTP from Base - 04Verify
The server watches for the PaymentCompleted event on Arc and confirms it before any status changes to paid.
PaymentCompleted - 05Receipt
A verifiable receipt with the Arcscan transaction and a server-verified flag — proof the payer and the creator both keep.
Arcscan + server-verified
05 · Supported routes
Three routes. Two proven live today.
However the payer holds USDC, the destination is the same. Base Sepolia is the proven bridge source; other testnet sources are in beta. Gateway is built but gated.
Arc-direct
Pay USDC straight to the contract on Arc.
Bridge via CCTP
Base Sepolia → Arc through Circle App Kit. Always lands on Arc.
Unified balance · Gateway
Circle Gateway crosschain balance — implemented, not yet enabled.
06 · Proof
A working product — not a mockup.
Public deployment, public test artifacts, public on-chain settlement. Every figure links to something you can re-check.
- 0/27
- Foundry contract tests
- 0
- Open security alerts
- 0
- Viewports QA'd
- ≤0%
- Fee, capped on-chain
Real on-chain transactions
Arcscan07 · Verified scope
What we claim — and what we don't.
Same truth in the live product, the README, and this deck. We don’t ship what we can’t prove.
Live & proven
- Arc Testnet · USDC-native settlement
- Base Sepolia → Arc via Circle CCTP
- Profile, invoice & receipt surfaces
- Server-verified terminal state
- 27/27 Foundry tests · 0 open alerts
Gated / beta
- Circle Gateway unified balance (built, awaiting enablement)
- Ethereum Sepolia · Arbitrum Sepolia · Polygon Amoy bridge sources
Not claimed
- Mainnet
- Any-chain / arbitrary wallet
- Solana
- Fiat / cards
To be explicit: we do not claim mainnet, any-chain or arbitrary-wallet support, and Circle Gateway is not proven live — it’s implemented but gated. Everything is on Arc Testnet.
08 · Model & market
Capped fee, non-custodial, freelancer-first.
The model
- ≤1% feeCapped on-chain. The contract enforces the ceiling — not a dashboard setting.
- Non-custodialFunds move wallet-to-contract. OneLink never holds the payer's USDC.
- VerifiableEvery payment resolves to an Arcscan transaction and a server-verified flag.
The market
- WedgeWeb3-native freelancers already paid in USDC, tired of route fragmentation and screenshot proofs.
- ExpansionDesigners, devs and consultants invoicing across borders; creators with a tip-jar-plus-invoice link.
- ThenSmall agencies running per-project invoices with verifiable on-chain receipts.
09 · Roadmap
Unblock the rails we already built.
The work after this is enabling what’s implemented — not adding new theatre. Each step is sequenced, not promised.
Gateway enablement
Unblock the Circle Gateway unified-balance flow that's already implemented behind the gate.
More bridge sources
Promote Ethereum Sepolia, Arbitrum Sepolia and Polygon Amoy from beta to proven CCTP routes.
Mainnet pilot
Closed-cohort rollout once Gateway proof and a final security review land.
Solana
Extend the same verify-before-status model beyond EVM. Future-tense — not claimed today.
See it settle. Then re-check the hash.
The fastest way to understand OneLink is to create a link, pay it, and watch the receipt anchor to Arcscan.