Skip to main content
POST

Create Payment Intent

Creates a payment intent and returns the payment address and QR code for the customer to scan.

Request

number
required
Payment amount in USD. Minimum: 0.01. Maximum: 10000.
string
required
Currency code. Currently only "usd" is supported.
string
required
The merchant’s Stable Genius ID (format: mer_*).
object
Arbitrary key-value pairs to attach to the payment intent. Max 10 keys, 500 characters per value. Returned in webhooks.
integer
Time-to-live in seconds. Default: 300 (5 minutes). Min: 60. Max: 3600.
string
Unique key for idempotent requests. If the same key is sent within 24 hours, the existing payment intent is returned.

Response

string
Unique payment intent ID (format: pi_*).
string
Always "payment_intent".
string
"awaiting_payment" on creation.
number
Payment amount in USD.
string
Currency code ("usd").
string
The merchant receiving the payment.
string
On-chain address for the customer to send USDC to.
string
Blockchain network (e.g., "base").
string
Token symbol (e.g., "USDC").
string
EIP-681 formatted URI for QR code rendering. Compatible with Coinbase Wallet, MetaMask, and other EIP-681 wallets.
string
URL to a hosted PNG image of the QR code (400x400px).
string
ISO 8601 timestamp when the payment intent expires.
object
Your attached metadata.
string
ISO 8601 timestamp.