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.
- 01
PYMSTR account
Free. No KYB. Sign up in 5 minutes via social login.
- 02
API key
Created in the PYMSTR dashboard. Store server-side only.
- 03
Settlement wallet
Bring your own self-custody wallet, or PYMSTR creates an embedded wallet for you on signup — you hold the keys either way.
- 04
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.50",
"merchantFee": "49.49",
"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-3f4b5d6e7a8cAt 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.