Live · deployed · verified on-chain

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. 1

    Create

    Set amount, memo, expiry.

  2. 2

    Open & connect

    Payer opens one page, connects a wallet.

  3. 3

    Pay a supported route

    Direct on Arc, or bridge from Base.

  4. 4

    Verify on Arc

    Server confirms the on-chain event.

  5. 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.

  1. 01Create

    Creator sets the amount and memo. The contract emits a PaymentLinkCreated event the app verifies before the link goes live.

    PaymentLinkCreated
  2. 02Share

    One shareable URL — a clean checkout, not a raw address. Works as a one-time invoice or a permanent profile page.

    One link
  3. 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
  4. 04Verify

    The server watches for the PaymentCompleted event on Arc and confirms it before any status changes to paid.

    PaymentCompleted
  5. 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.

Live-proven

Bridge via CCTP

Base Sepolia → Arc through Circle App Kit. Always lands on Arc.

Live-proven

Unified balance · Gateway

Circle Gateway crosschain balance — implemented, not yet enabled.

Gated

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

07 · 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.

Now

Gateway enablement

Unblock the Circle Gateway unified-balance flow that's already implemented behind the gate.

Next

More bridge sources

Promote Ethereum Sepolia, Arbitrum Sepolia and Polygon Amoy from beta to proven CCTP routes.

Later

Mainnet pilot

Closed-cohort rollout once Gateway proof and a final security review land.

Future

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.

onelink-mauve-nu.vercel.app·Arc Testnet · chain 5042002