For the complete documentation index, see llms.txt. This page is also available as Markdown.

Gas Manager

GET /2.0/gas-manager/list

The history of your Gas Manager operations, with our fee on each one.

What the Gas Manager does

Your payment addresses need the network's native coin to send transactions from. The Gas Manager keeps them topped up: it takes stablecoins from your gas liquidity address, converts them, and credits native coin to whichever of your payment addresses is running low.

Two consequences worth knowing before reading the response:

  • These operations do not pass through your asset balances. Nothing here appears in internal-transaction/list; the stablecoins are spent from the gas liquidity address, not from an asset. The three gas opcodes you may see in the ledger (withdrawal-gas, and the deposit / invoice refund gas ones) are a completely different mechanism and never show up in this list.

  • The unit of this list is a distribution - one top-up of one address - not a pipeline. One pipeline (one purchase of native coin) usually feeds several distributions.

Reading one row

{
  "id": "0848e093-bb67-4e06-b89a-c051a0408f57",
  "status": "success",
  "subStatus": "sent",
  "network": {"id": "e130ce89-1d4d-4951-beaf-465ec43cf399", "title": "BNB Chain", "symbol": "BSC"},
  "targetAddress": "0x8139BC460c0Ff40850fA69026910a0713699E516",
  "txHash": "cspt2801-gas-a-1",
  "topUp": {
    "amount": "4000000000000000",
    "amountFormatted": "0.004",
    "currency": "BNB",
    "cryptoId": "75608cde-155c-4550-8025-cddf01bf2289",
    "networkId": "e130ce89-1d4d-4951-beaf-465ec43cf399",
    "amountInUsd": "12.00",
    "isChargedToMerchant": false
  },
  "charged": {
    "amount": "13200000000000000000",
    "amountFormatted": "13.2",
    "currency": "USDT",
    "cryptoId": "1fa107f9-3832-4286-9c72-493eaf675da5",
    "networkId": "e130ce89-1d4d-4951-beaf-465ec43cf399",
    "amountInUsd": "13.20",
    "isChargedToMerchant": true
  },
  "fee": {
    "network": null,
    "service": {
      "amount": "1200000000000000000",
      "amountFormatted": "1.2",
      "currency": "USDT",
      "cryptoId": "1fa107f9-3832-4286-9c72-493eaf675da5",
      "networkId": "e130ce89-1d4d-4951-beaf-465ec43cf399",
      "amountInUsd": "1.20",
      "isChargedToMerchant": true
    },
    "exchange": null,
    "totalInUsd": "1.20"
  },
  "pipeline": {
    "id": "f1000000-0000-0000-0000-000000000001",
    "status": "finished",
    "totalAmountInUsd": "36.00",
    "createdAt": "2026-07-28T11:17:25+00:00"
  },
  "createdAt": "2026-07-28T11:17:15+00:00",
  "updatedAt": "2026-07-28T11:17:25+00:00"
}

charged vs topUp vs fee.service

These three are easy to confuse. They answer different questions.

Field
Question it answers
Currency
Charged to you

topUp

How much native coin was credited to your address?

native coin of the network

no - this is what you received

charged

How much was debited from your gas liquidity address?

your donor stablecoin

yes

fee.service

How much of that debit was our fee?

your donor stablecoin

yes

The relationship: charged = value of the top-up + fee.service. In the example above, 13.2 USDT = 12.00 (the 0.004 BNB you received) + 1.20 (our fee).

fee.network is always null here: the gas of the distributing transaction itself burns on our sender address and is not billed to you.

fee.totalInUsd equals fee.service.amountInUsd - our fee is the only thing in the fee object.

The pipeline block

A compact view of the batch this distribution belonged to: id, status, totalAmountInUsd, createdAt. Deliberately nothing else - the liquidity-side details of how we sourced the native coin are internal.

Statuses

status: pending, cancelled, failed, success. subStatus carries the finer state within the pipeline (sent, enough_balance, not_enough_donor_balance, …) and may be null.

🔴 Cancelled operations are hidden by default

A distribution is cancelled when the top-up turned out to be unnecessary - typically the address already had enough gas (sub_status: enough_balance) or its balance could not be determined (undefined_balance). Nothing was sent, nothing was charged, and such rows carry charged: null, topUp: null and fee.service: null.

They are excluded from the default listing so they do not pad your pages with rows that cost nothing. To see them, ask explicitly:

This is the only filtering the endpoint applies on its own. Everything else you see is everything there is.

Request

Query parameter
Type
Meaning

cursor

string

Page cursor, taken from cursorNext / cursorPrevious of a previous response

status

string

One of pending, cancelled, failed, success

networkId

string

Our network identifier

createdAtFrom

string

ISO-8601 with offset, e.g. 2026-07-01T00:00:00+00:00

createdAtTo

string

Same format

Page size is fixed at 50. The response shape is {data, cursorPrevious, cursorNext}; a null cursor means there is no page in that direction.

Permissions

Requires can_invoice - the same permission that guards deposits. The endpoint returns targetAddress, a real on-chain payment address of yours, together with the hash of every top-up, and can_invoice is the flag that already governs access to those addresses.

It only ever returns your own merchant's operations; the scope comes from the apiKey and cannot be influenced by any query parameter.

Response codes

Code
When

200

OK

400

Invalid status value or malformed date

401

Missing or invalid apiKey

403

The apiKey has no can_invoice permission

429

Rate limit (50 requests per second)

Last updated