Accept your first stablecoin payment in 5 minutes.
Get an API key. Make one POST request. Share the link. Real code, real endpoints, same flow as the production API.
Before you start
PYMSTR account
Free. No KYB. Sign up in 5 minutes via social login.
API key
Created in the PYMSTR dashboard. Store server-side only.
Settlement wallet
Bring your own self-custody wallet, or PYMSTR creates an embedded wallet for you on signup. You hold the keys either way.
Webhook endpoint
Configure your webhook URL in the dashboard so PYMSTR can notify your backend when payments complete. Optional: set a redirect URL the customer returns to after paying.
One POST. That's the integration.
Send an amount and a currency. PYMSTR returns a paymentUrl your customer pays at. Optional fields (acceptedChains, acceptedTokens, externalId, expiresAt, sellers) let you restrict the customer's options or wire up marketplace splits.
curl -X POST https://api.pymstr.com/v1/payments \
-H "Authorization: Bearer pk_live_..." \
-H "Content-Type: application/json" \
-d '{
"amount": "49.99",
"currency": "USD",
"title": "Order #1234",
"externalId": "order-1234"
}'Response · 201 Created
{
"id": "8f3a9c2d-1b6e-4d8a-9c2e-3f4b5d6e7a8c",
"status": "ACTIVE",
"amount": "49.99",
"currency": "USD",
"title": "Order #1234",
"externalId": "order-1234",
"acceptedChains": [1, 42161, 8453, 137, 56],
"acceptedTokens": ["USDC", "USDT"],
"pymstrFee": "0.24",
"merchantFee": "49.75",
"paymentUrl": "https://pay.pymstr.com/p/8f3a9c2d-1b6e-4d8a-9c2e-3f4b5d6e7a8c",
"expiresAt": "2026-05-20T07:00:00Z",
"createdAt": "2026-05-19T07:00:00Z"
}One URL. Anywhere your customer is.
The response's paymentUrl is a hosted PYMSTR page. You don't build a checkout, you don't render anything customer-facing. Drop it into whatever channel reaches the customer.
https://pay.pymstr.com/p/8f3a9c2d-1b6e-4d8a-9c2e-3f4b5d6e7a8cSend in an email
Link the URL from your transactional emails or order confirmations.
Link from your invoice
Embed the URL as the "Pay now" CTA on PDF or HTML invoices.
Send via SMS or chat
Short URL, copies cleanly into texts, WhatsApp, Telegram, Slack.
Redirect from your app
After the customer hits "Pay" in your checkout, redirect them to the paymentUrl.
At the URL, the customer signs in (social login or wallet connect), picks from the chains + tokens you accept, and signs one transaction. Funds settle directly to your wallet on-chain.
Webhook fires when the chain confirms.
Configure a webhook endpoint in Dashboard → Webhooks. Once a customer pays, PYMSTR sends a payment.completed event with the paymentId. The funds are already in your wallet. The webhook is for your accounting and order-fulfilment side.
See /developers/webhooks for more.
Common questions.
Sign up at the PYMSTR dashboard, then create a key in the API Keys section. Treat the key like any other production secret and store it securely in the backend. See docs.pymstr.com for the full key-management flow.