ArcPay
Stablecoin Payment Infrastructure
Developer-first stablecoin payment infrastructure for merchants and applications — payment links, verification, settlement tracking and receipts behind one API.

- Listed
- Circle Alliance Directory
- Bridge SDKs · Fintech · Payments
- Categories
Demo
A payment link created, paid and verified on-chain, then settled through the merchant dashboard.
Problem
Accepting stablecoins sounds simple until you build it. You need to watch chains for confirmations, handle a customer paying twice or paying the wrong amount, produce a receipt someone's accountant will accept, reconcile settlement, and expose all of it to a merchant who does not want to think about any of it. Most teams rebuild that whole stack badly, in-house.
Why I built it
I wanted to understand payment infrastructure properly, and reading about it does not work. Building the boring parts — idempotency, verification, reconciliation — is what actually teaches you why payment systems are shaped the way they are.
What I built
A payment gateway with the developer surface a payments product needs: idempotent APIs so a retried request never charges twice, on-chain transaction verification, settlement tracking, payment receipts, payment links and QR flows, and a merchant dashboard that makes the state of every payment legible.
How it works
- Merchant creates a payment intent
- Customer pays via link, QR or direct transfer
- On-chain verification confirms amount and recipient
- Idempotency key resolves duplicates and retries
- Settlement tracked and receipt issued
- Merchant dashboard reflects final state
What I did
- End-to-end product and engineering
- API design — idempotency and verification model
- Merchant dashboard
- Circle ecosystem integration and listing
Technology
- React
- Node.js
- Express
- PostgreSQL
- Supabase
- REST APIs
- Arc
- Tempo testnet
- x402
- CCTP
- Circle
- Stablecoins
Challenges
Idempotency is the whole game and it is deceptively hard. A network retry, a double-submitted form and a genuine second purchase look nearly identical at the API boundary, and getting that wrong in a payments system is the one bug you cannot apologise your way out of.
What I learned
Payment infrastructure is mostly about what happens when things go wrong. The happy path took a fraction of the time; the rest was retries, partial payments, wrong amounts, chain reorgs and reconciliation — which is exactly why the category is defensible.