Merchant API
Topup Intents

List top-up intents

List top-up intents for the authenticating merchant in the key's environment, ordered most-recent-first.

GET
/topup_intents

List top-up intents for the authenticating merchant in the key's environment, ordered most-recent-first.

AuthorizationBasic <token>

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

country?string

ISO 3166-1 alpha-2 country code, e.g. "MY".

Match^[A-Z]{2}$
created_after?string

Inclusive lower bound on createdAt, ISO-8601 with offset.

Match^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
Formatdate-time
created_before?string

Exclusive upper bound on createdAt, ISO-8601 with offset.

Match^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
Formatdate-time
currency?string

ISO 4217 currency code (e.g. "MYR", "USD") or a 3–6 letter token symbol. Uppercase.

Match^[A-Z]{3,6}$
cursor?string

Opaque pagination cursor returned by the previous page as next_cursor. Omit on the first page.

Length1 <= length
merchant_reference?string

Exact-match filter on the merchant-supplied reference. Use to look up an intent by your own id.

Length1 <= length <= 256
limit?integer

Page size, 1-100. Defaults to 25. Walk pages via next_cursor rather than raising this.

Range1 <= value <= 100
Default25
source_type?string

Value in

  • "test_funding"
  • "manual_receipt"
  • "provider_gateway"
status?|array<>

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": null,        "type": "provider_gateway"      },      "status": "requires_payment",      "updated_at": "2026-06-07T10:20:01.000Z"    }  ],  "has_more": false,  "next_cursor": null}