Create your account
CallPOST /api/merchant/signup with your business email, a display name, and a password of at least 8 characters. FlareHQ sends a 6-digit verification code to that email address; the code expires after 10 minutes.
walletProvider, walletAddress, and externalAddress fields are ignored at signup — connecting a personal wallet (MetaMask, WalletConnect, Coinbase) happens later, after you’re authenticated, via the SIWE flow described below. See Sign Up.
Verify your email
Confirm the code you received withPOST /api/merchant/verify. This is the most important step in the lifecycle because it provisions two things at once:
- Your API key — a one-time credential in the format
arc_live_<48-hex-chars>. It is returned in this response and never shown again, so save it immediately. - Your payout wallet — a Circle-managed wallet, created automatically when your provider is
CIRCLE, so payments settle to an address you control without you managing keys.
Log in to the dashboard
Once verified, log in with your email and password.POST /api/merchant/login validates your credentials and sets an HTTP-only merchant_token cookie that lasts 7 days. Dashboard-scoped actions — wallet management, withdrawals, and payment links — authenticate with this cookie; the API-key endpoints (like the dashboard KPIs below) use x-api-key instead.
403. Keep the cookie jar (-b cookies.txt on subsequent calls) so your wallet, withdraw, and payment-link requests carry the session. See Login.
Dashboard KPIs
GET /api/merchant/dashboard is the one account endpoint that authenticates with your API key rather than the session cookie. Pass it in the x-api-key header:
Set up your payout wallet
Your Circle-managed wallet is provisioned automatically at verification, but you still control the payout destination. The wallet endpoints let you read it, switch back to Circle, or connect a wallet you already own. Read your wallet withGET /api/merchant/wallet, authenticated by the merchant_token cookie:
PATCH /api/merchant/wallet and { "walletProvider": "CIRCLE" }. This endpoint only accepts CIRCLE — it provisions a brand-new Circle wallet for your payouts. It deliberately rejects external addresses, because connecting a wallet you own requires proving ownership first.
Connect an external wallet through a two-step SIWE (Sign-In With Ethereum) flow at GET/POST /api/merchant/wallet/connect. You must already be logged in — this links a wallet to your merchant identity, it doesn’t create one.
1
Request a nonce challenge
Pass your wallet address as a query parameter. FlareHQ builds a SIWE message, stores the nonce in a 5-minute HTTP-only cookie, and returns the message for you to sign.
2
Sign the message and submit
Have the customer sign the message in their wallet (MetaMask, WalletConnect, or Coinbase), then submit the address, message, signature, and wallet kind. FlareHQ verifies the signature against the nonce and links the wallet.
walletKind must be one of METAMASK, WALLETCONNECT, or COINBASE. Connecting an external wallet never stores a private key — you keep custody; FlareHQ only records the address. See Merchant Wallet and Connect Wallet (SIWE).
Withdraw USDC
If your payout wallet is Circle-managed,POST /api/merchant/withdraw moves USDC out of it to any external address you control. Merchants with an external wallet don’t need this — settlements land directly in a wallet they hold the keys to.
https://explorer.arc.io). See Withdraw.
Create payment links
Once your payout wallet is set up,POST /api/merchant/payment-link turns a fixed amount into a shareable checkout URL — ideal for invoices, social-media sales, or one-off collections. Links expire after 24 hours.
checkoutUrl anywhere — email, DM, QR code. Your customer completes the USDC payment on the hosted page, and if you supplied a webhookUrl you’ll receive lifecycle events. GET /api/merchant/payment-link lists your 100 most recent links with their current status. See Payment Links and Hosted Checkout.
Next steps
Hosted Checkout
Create on-demand checkout sessions with the payments API and redirect customers to the hosted page.
Consumer Payments
Learn how consumers create sessions, track balances, and send or request payments — including Flow, the chat assistant.
Initialize Payment API
Full reference for creating a USDC payment session and getting a checkout URL.
Webhooks
Subscribe to payment lifecycle events so your backend reacts the moment a payment settles.

