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".

created_after?string

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

created_before?string

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

currency?string

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

cursor?string

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

merchant_reference?string

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

limit?integer

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

source_type?string
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": "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."
  }
}