List top-up intents
List top-up intents for the authenticating merchant in the key's environment, ordered most-recent-first.
List top-up intents for the authenticating merchant in the key's environment, ordered most-recent-first.
Authorization
apiKey Merchant API key pair. Send as Authorization: Basic base64(publicKey:secretKey) — username is the public key (pk_live_… / pk_test_…), password is the secret key (sk_live_… / sk_test_…). The public key prefix determines the environment of every order created by the request — there is no body, query, or header override.
In: header
Query Parameters
ISO 3166-1 alpha-2 country code, e.g. "MY".
Inclusive lower bound on createdAt, ISO-8601 with offset.
Exclusive upper bound on createdAt, ISO-8601 with offset.
ISO 4217 currency code (e.g. "MYR", "USD") or a 3–6 letter token symbol. Uppercase.
Opaque pagination cursor returned by the previous page as next_cursor. Omit on the first page.
Exact-match filter on the merchant-supplied reference. Use to look up an intent by your own id.
Page size, 1-100. Defaults to 25. Walk pages via next_cursor rather than raising this.
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/topup_intents"{
"data": [
{
"created_at": "2026-06-07T10:20:00.000Z",
"destination": {
"amount": "100000",
"credited_amount": "100000",
"currency": "MYR",
"merchant_id": "team_01HZYABCDXYZ"
},
"environment": "test",
"expires_at": "2026-06-07T10:35:00.000Z",
"failure_code": null,
"failure_message": null,
"fx": {
"destination_currency": "MYR",
"rate": "4.670000",
"source_currency": "USDT",
"spread_amount": "0"
},
"id": "tuin_01HZYABCDXYZ",
"next_action": {
"address": "TExampleAddress",
"amount": "214123456",
"currency": "USDT",
"expires_at": "2026-06-07T10:35:00.000Z",
"network": "TRC20",
"type": "display_crypto_payment_instructions"
},
"object": "topup_intent",
"source": {
"amount": "214123456",
"currency": "USDT",
"expires_at": "2026-06-07T10:35:00.000Z",
"fee_amount": "0",
"fee_mode": "absorbed",
"provider": "m1pay",
"type": "provider_gateway"
},
"status": "requires_payment",
"updated_at": "2026-06-07T10:20:01.000Z"
}
],
"has_more": false,
"next_cursor": null
}{
"error": {
"code": "validation_failed",
"message": "Currency XYZ is not enabled for this merchant."
}
}{
"error": {
"code": "validation_failed",
"message": "Currency XYZ is not enabled for this merchant."
}
}{
"error": {
"code": "validation_failed",
"message": "Currency XYZ is not enabled for this merchant."
}
}{
"error": {
"code": "validation_failed",
"message": "Currency XYZ is not enabled for this merchant."
}
}Cancel a payout intent POST
Cancel a payout intent that is still awaiting approval. Only valid while the intent is in `requires_approval`; once approved, the intent has moved into processing and cannot be cancelled through the public API.
Get a top-up intent GET
Fetch a top-up intent by id. Scoped to the authenticating merchant and the key's stamped environment.