Skip to main content
The Gas Station solves one of the most common UX friction points in crypto applications: requiring users to hold native tokens just to pay network fees. Without a Gas Station, a user who holds USDC on Solana still needs SOL to pay for the transaction fee. With a Gas Station, your platform pre-funds SOL (or ETH, BNB, etc.) and covers fees on behalf of your users — they only need to hold the token they actually want to send.

How It Works

  1. You add a gas station asset for a specific chain (e.g., SOL for Solana)
  2. You fund the gas station wallet with native tokens
  3. When a user initiates a transaction on that chain, the platform draws from the gas station to pay the network fee automatically
  4. You monitor the gas station balance and top it up as needed
The Gas Station covers network fees only. Transaction amounts are still drawn from the user’s wallet.

Add a Gas Station Asset

POST /assets/add-station-asset Creates a gas station wallet for a specific chain. The ticker must be the chain’s native token.
chain
string
required
The blockchain to create a gas station for (e.g., solana, ethereum).
ticker
string
required
The native gas token for that chain. Must match the chain’s native currency.
ChainRequired Ticker
EthereumETH
SolanaSOL
PolygonPOL
BSCBNB
BaseETH_BASE
ArbitrumETH_ARBITRUM
OptimismETH_OPTIMISM
XDCXDC
curl -X POST https://crypto-api.yativo.com/api/assets/add-station-asset \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "chain": "solana",
    "ticker": "SOL"
  }'
Response
{
  "id": "station_01abc123",
  "chain": "solana",
  "ticker": "SOL",
  "address": "GasStationXxKXtg2CW87d97TXJSDpbD5jBkheTqA83TZ",
  "balance": "0",
  "status": "active",
  "created_at": "2026-03-26T10:00:00Z"
}
Send SOL to the address to fund the gas station.

Get Gas Station Assets

POST /assets/get-station-assets Returns all gas station wallets and their current balances.
curl -X POST https://crypto-api.yativo.com/api/assets/get-station-assets \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Response
{
  "station_assets": [
    {
      "id": "station_01abc123",
      "chain": "solana",
      "ticker": "SOL",
      "address": "GasStationXxKXtg2CW87d97TXJSDpbD5jBkheTqA83TZ",
      "balance": "5.2",
      "balance_usd": "750.40",
      "status": "active"
    },
    {
      "id": "station_02def456",
      "chain": "ethereum",
      "ticker": "ETH",
      "address": "0xGasStationAddr...",
      "balance": "0.05",
      "balance_usd": "125.00",
      "status": "active"
    }
  ]
}

Monitoring & Top-Up

If the gas station runs out of native tokens, transactions on that chain will fail with an insufficient gas error. Monitor your gas station balance and set up top-up procedures before going to production.
Set up a webhook for the gas.low event to get notified when a gas station balance drops below the configured threshold:
Webhook payload (gas.low)
{
  "id": "evt_01abc",
  "type": "gas.low",
  "created_at": "2026-03-26T11:00:00Z",
  "data": {
    "station_id": "station_01abc123",
    "chain": "solana",
    "ticker": "SOL",
    "balance": "0.5",
    "balance_usd": "72.00",
    "threshold": "1.0"
  }
}

Best Practices

When launching, fund each gas station with enough native tokens to cover several hundred transactions. Monitor actual consumption in the first week to calibrate your top-up schedule.
Wire the gas.low webhook to an automated top-up system. Don’t rely on manual monitoring in production.
Each chain requires its own gas station. If you support 5 chains, you need 5 gas station wallets.
On Ethereum and other congested networks, gas prices can spike dramatically. Keep a larger buffer on high-usage chains to survive short-term price spikes.