Developers

Gas station

Every on-chain payout costs native gas — ETH on Ethereum, BNB on BSC, TRX on Tron, and so on. The gas station is the Stridge service that keeps that gas topped up, so a vault that holds only stablecoins can still send them.

You never fund gas manually. When a payout needs gas the vault wallet doesn't have, Stridge auto-refills it from a gas station first, then executes the transfer.

How auto-refill works

Payout is created

You call POST /v1/transfer/payout. The payout is recorded as queued.

Gas is checked

Stridge checks whether the vault wallet holds enough native gas to cover the transfer on its network.

Refill runs only if needed

If the vault already has gas, the payout proceeds straight to processing with no refill. If it's short, Stridge issues a refill from a gas station and the payout stays queued until the gas lands.

The transfer executes

Once gas is in place, Stridge signs from the vault wallet, broadcasts, and the payout moves to processing and then confirmed.

Note

Auto-refill is automatic and built in — there's no flag to set and no gas balance for you to manage. It runs as part of the payout's queued phase, which is why a payout can sit briefly in queued before it starts processing.

Inspecting gas stations

The gas-station endpoints are read-only and useful for monitoring — confirming a station has reserves, or charting native balances across networks.

By address

GET /v1/gas-stations/address/{address}
{
  "data": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "address": "0x742d35Cc6634C0532925a3b844Bc9e7595f2bD58",
    "network_id": "60",
    "network_symbol": "ETH",
    "balances": [
      {
        "asset": "Ethereum",
        "symbol": "ETH",
        "decimal": 18,
        "network_id": "60",
        "network_symbol": "ETH",
        "balance": { "amount": "1.5", "raw": "1000000000000000000", "usd": "3500.00" }
      }
    ]
  },
  "message": "operation completed successfully",
  "success": true
}

By wallet id

GET /v1/gas-stations/wallet/{wallet_id}

Same response shape as the address lookup, keyed by the wallet's UUID instead of its on-chain address.

FieldNotes
idGas-station wallet id
addressOn-chain address of the gas station
network_symbolNetwork the station funds
balances[].symbolNative asset symbol
balances[].decimalDecimals for the native asset
balances[].balance.amountHuman-readable native balance
balances[].balance.usdIndicative USD value

Listing gas-station wallets

GET /v1/gas-stations/wallets?page=1&limit=20

Supports filtering, OR-filtering, sorting, and pagination.

Query parameterNotes
filter[]Filter conditions with AND semantics. Format: field:operator:value
filterOr[]Filter conditions with OR semantics. Format: field:operator:value
sort[]Sort fields. Format: field:direction (asc/desc)
pagePage number (default 1)
limitItems per page (default 20, max 100)
{
  "data": [
    {
      "id": "550e8400-e29b-41d4-a716-446655440000",
      "address": "0x742d35Cc6634C0532925a3b844Bc9e7595f2bD58",
      "network_id": "60",
      "network_symbol": "ETH",
      "created_at": "2024-01-01T00:00:00Z"
    }
  ],
  "message": "operation completed successfully",
  "pagination": {
    "page": 1,
    "limit": 20,
    "total_items": 100,
    "total_pages": 5,
    "has_next": true,
    "has_prev": false
  },
  "success": true
}

API surface

EndpointPurpose
GET /v1/gas-stations/address/{address}Gas station details + balances by address
GET /v1/gas-stations/wallet/{wallet_id}Gas station details + balances by wallet id
GET /v1/gas-stations/walletsPaginated list of gas-station wallets

See the API reference for full schemas and error codes.

Next

Was this page helpful?