Merchant Onboarding
Onboarding takes a merchant from “I want to accept stablecoins” to working API keys in under five minutes.
The flow
Section titled “The flow”- Sign in — email-OTP via the merchant dashboard.
- Attach a wallet — SIWE (Sign-In With Ethereum) binds an EOA to the account. This wallet becomes the default settlement destination.
- Create a project — each project has its own keys, webhook secret, and settlement preferences.
- Issue API keys — keys are scoped per project:
sk_test_*(sandbox) andsk_live_*(production). - Configure webhooks — point at your endpoint and store the webhook secret.
Authentication model
Section titled “Authentication model”| Credential | Lifetime | Scope | Where it lives |
|---|---|---|---|
| OTP code | 10 minutes | One-time login | |
| Session JWT | 24 hours | Dashboard actions | Browser, httpOnly cookie |
sk_live_* / sk_test_* | Long-lived | Project | Your server, never the client |
pmc_* publishable | Long-lived | Project, restricted | Safe to ship in client bundles |
Server keys (sk_*) and publishable keys (pmc_*) are issued in pairs per project.
SIWE handshake
Section titled “SIWE handshake”After OTP login, you’ll be prompted to sign a SIWE message to bind a wallet to the account:
example.com wants you to sign in with your Ethereum account:0xabc...123
Sign in to StablecoinX as Merchant XYZ
URI: https://dashboard.stablecoinx.comVersion: 1Chain ID: 1Nonce: <server-generated>Issued At: 2026-05-26T17:00:00ZThe bound wallet becomes the default settlement destination. You can override it per project or per session later.
Profile metadata
Section titled “Profile metadata”Configurable per project:
- Business name and logo (rendered in checkout, hosted on our CDN).
- Default settlement chain and asset.
- Webhook URL and secret.
- Refund policy displayed on the hosted redirect page.
API key scoping
Section titled “API key scoping”| Key prefix | Use | Allowed |
|---|---|---|
sk_live_* | Server-side, production | Full project surface |
sk_test_* | Server-side, sandbox | Full sandbox surface |
pmc_* | Client-side | Create sessions only; origin-allowlisted |
Rotate keys from the dashboard at any time. Old and new keys are both valid for a configurable grace window (default: 24h).
- Quickstart — make your first API call.
- Session Payment — the primary product surface.
- Paymaster — sponsor gas for your users.