Stablecoin payments work in live mode only. Use a live API key.
How it works
1
Create a payment request
Tell us how much to collect, in USD or GMD. We return a
link.2
Send your customer to the link
They choose USDT or USDC and a network (for example USDC on Arc), then pay
from their wallet.
3
Get notified
We send a
charge.succeeded update each time money arrives, with the
running total.Create a payment request
POST /v1/minting/intents
number
required
How much to collect. Minimum 5 USD (or the GMD equivalent).
string
default:"USD"
USD or GMD. A GMD amount is converted to USD at the current rate, so the
request is always held in USD.object
Your own data, such as an order number. Returned to you unchanged in every
update.
string
Where we send updates for this payment.
string
Optional deadline for the payment, in ISO 8601 format.
Response
link.
What the customer sees
The hosted page lists the coins and networks we support, including USDT on Tron and USDC on Arc (see supported coins and networks). After they choose, the page shows the exact amount, the address and a QR code, and updates as soon as the payment arrives.Knowing when you’ve been paid
A customer can pay in one transfer or several, and can pay less than the full amount. Two fields in each update tell you where things stand:
The payment is complete when
status is completed.
Updates (webhooks)
We sendcharge.succeeded every time money arrives.
status is partially_paid. When the other
$10 arrives you get another charge.succeeded with amount: 20 and
status: "completed".
payment_method is the network the customer paid on (TRC20 or ARC).
payment_history lists each transfer separately.
To check an update really came from Modem Pay, see the
Webhooks guide.
List and look up payment requests
List
Look up one
Checklist
- Save the request
idand your own reference inmetadata. - Fulfil the order when an update arrives with
status: "completed". - Handle repeated updates for the same
idsafely. - Use
payment_historyif you need the individual transfers.
