# Accept stablecoins: any currency, any stablecoin

> How a website, ecommerce store, merchant, platform or PSP accepts stablecoin payments on Sera. Price the order in your own currency, let the customer pay in whatever stablecoin they hold, and receive the one you actually want — the currency conversion happens inside settlement, not at your checkout.

- **Gateway:** https://pay.sera.cx (SeraPay, open source)
- **Settlement:** non-custodial — funds move from the customer's wallet to an address you control in one transaction
- **Cost:** no protocol fee from Sera. The liquidity provider filling the conversion earns the FX spread, typically 10–30 bps, plus on-chain gas
- **Coverage:** 39 stablecoins across 21 currencies (the gSera Mechanics catalogue — what actually trades on Sera)
- **Network:** Ethereum mainnet (chain id 1); Sepolia (11155111) for testing. No other chain is supported.

## Three ways in

### Tier 0 — No code (live)

Sign in with a wallet at pay.sera.cx, enter an amount, and you have a payment link and a branded QR code. Nothing to install, no developer needed. Every payment lands in the dashboard with a receipt.

### Tier 1 — One line (in preview)

One script tag renders a checkout button in the page you already have:

```html
<script src="https://pay.sera.cx/button.js"
        data-key="pk_live_…"
        data-coin="XSGD"
        data-amount="25.00"
        data-ref="INV-1042"></script>
```

The publishable key is safe to ship in your HTML; your secret key never leaves your server. Not yet generally available.

### Tier 2 — The API (live)

Mint a signed checkout link per order from your own backend:

```bash
curl -X POST https://pay.sera.cx/api/payment/checkout/sign \
  -H "X-Api-Key: sk_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "receiverAddress": "0x…",
    "amount": "25.00",
    "receiveCoin": "XSGD",
    "orderId": "INV-1042"
  }'

→ { "paymentUrl": "https://pay.sera.cx/pay/…" }
```

Receiving addresses must be ones you control — the gateway refuses any other receiver. Settlement fires a merchant webhook signed with your own secret, and transactions can be polled or streamed to reconcile.

## What a payment actually needs

| Field | Needed | Why |
|---|---|---|
| `amount` | yes | What to collect. Up to six decimal places. |
| `coin` | yes | The stablecoin you want to end up holding. |
| `orderId` | yes | Your own reference. A token transfer has no memo, so without it you see money arrive but cannot tell which order paid. |
| `receiverAddress` | yes | Where it lands. Must be an address you own. |
| `chainId` | no | Ethereum mainnet (`1`), or Sepolia (`11155111`) for testing. Sera's contracts are on mainnet; nothing else is supported. |
| `expiresAt` | no | How long the price holds. FX moves. |
| `description` | no | What the customer sees on checkout and the receipt. |
| `metadata` | no | Anything else handed back on the webhook. |

The one worth repeating: **a stablecoin transfer carries no memo field.** The reference travels with the payment, not with the transfer — which is the difference between accepting stablecoins and simply being sent some.

## How settlement flows

Your checkout prices SGD 25.00 → the customer pays USDC from any wallet → Sera settles USDC → XSGD in one transaction with no custody → you receive MYRT 25.00 at your own address → your server gets a webhook closing order INV-1042.

Non-USD pairs settle directly, so an SGD price paid in ringgit skips the dollar detour and the second spread that comes with it.

## Not a processor — a settlement layer

| | Card processor | Sera |
|---|---|---|
| Who holds the money | The processor, paid out on their schedule | Nobody; wallet to wallet in one transaction |
| FX cost | 2–3% cross-border plus a rate markup | The corridor spread, typically 10–30 bps |
| What Sera charges | Per-transaction fee, monthly minimum, chargebacks | Nothing; you pay on-chain gas |
| To get started | Merchant account, underwriting, a payments licence | A wallet address and a stablecoin |

Compliance screening still runs on the payment flow, and your own obligations depend on your business and jurisdiction. What you are not doing is renting someone else's payments licence.

## Live integrations

- **SeraPay** (pay.sera.cx) — the open-source merchant gateway behind every tier above
- **YouApp** (youapp.ai) — scan to pay with stablecoins; tops up from ERC-20 stablecoins and pays DuitNow QR in ringgit, settling FX through Sera

---

Live page: https://sera.cx/accept · Gateway: https://pay.sera.cx · Protocol docs: https://docs.sera.cx · Full corpus: https://sera.cx/llms-full.txt
