Tester quickstart
From zero to a settled testnet payment in five steps.
Should take ten minutes including the wallet setup. If anything sticks, open an issue on GitHub or email support@arcorapay.xyz — we'd rather hear about a bug now than once mainnet money is moving.
- STEP 01
Add Arc Testnet to your wallet
Arcora settles on Arc Testnet today. One click to add the network — your wallet will prompt for confirmation.
Or add it manually with these values
- Network name
- Arc Testnet
- Chain ID
- 5042002
- RPC URL
- https://rpc.testnet.arc.network
- Symbol
- USDC
- Explorer
- https://testnet.arcscan.app
On Arc, gas is paid in USDC, not ETH. Native USDC has 18 decimals; the ERC-20 interface (the one you'll see in dapps) is 6 decimals.
- STEP 02
Get testnet USDC and EURC
Circle's public faucet drops both stables on Arc Testnet — pick a token, paste your wallet address, claim.
Open Circle Faucet →You'll need a small amount of native USDC for gas plus whatever pay-in token you want to test (USDC or EURC). 10 of each is plenty for a few full pay/refund cycles.
- STEP 03
Sign in as a merchant
Open the merchant portal and authenticate with Sign-In-with-Ethereum. The wallet you sign with becomes your merchant identity — there's no signup form on testnet, just a signature.
Open merchant portal →First time only: you'll be asked which stablecoin you want to settle in (USDC or EURC). That choice is frozen at registration but rotatable later for future invoices.
- STEP 04
Create a test invoice
From the dashboard, click Create invoice. Set the amount, the pay-in token (the customer's side — can be different from your payout), and a success URL. Arcora returns a hosted checkout link.
Go to dashboard →You can also create invoices from the SDK — see the “Developers” section on the home page.
- STEP 05
Pay the invoice from a different wallet
Open the invoice link in an incognito window or a different wallet. Connect, see the live FX quote, sign one Permit2 message — no transaction popup, no gas. Arcora's relayer handles the on-chain side.
Watch settlement land on the merchant dashboard's treasury page within ~30 seconds. Try a refund from the invoice row to round-trip the flow.
Known issues
What's rough, on purpose.
We'd rather you hit these expecting them than be surprised mid-test.
We’re on Arc Testnet only — no real money moves.
Arc itself is on testnet, so we are too. Mainnet T-0 is gated on Arc going mainnet. Treat this as a working preview, not a production payment rail.
Pay-in / payout tokens are USDC and EURC for now.
App Kit Swap on Arc Testnet supports only USDC ⇄ EURC today. USDT, PYUSD, DAI, and USDe are mainnet-only on App Kit; we’ll list them as Arc opens those on testnet or as we move to mainnet.
Refunds work until the escrow is claimed — a soft 7-day window, no merchant approval needed.
The custody-escrow gateway holds each settled invoice for 7 days. Refunds drain straight from the escrow without any ERC-20 allowance from the merchant. The window is soft: after 7 days anyone can call claim(globalIds[]) to release matured funds to the merchant payout address, but a refund stays callable until that claim lands — whichever transaction confirms first wins. Once claimed, the refund path closes.
Webhooks retry 5× over 30 minutes, then stop.
If your webhook endpoint is down longer than that, you’ll need to fetch missed events via the API. Long-term retry policy is on the v1.x list.
Compliance screening is in shadow mode.
The /api/checkout/authorize gate exists and logs decisions, but the active provider is Noop on testnet — no wallet is rejected today. Mainnet flips it to a real Elliptic / TRM Labs adapter via env, no code change.
Single-instance relayer.
One VPS handles every settle and refund. If it’s slow or briefly down, your invoice queues up and processes when it’s back. Multi-relayer with rolling failover is on the v1.x ops list.