Skip to content

Fuel Station ​

The Fuel Station pays gas for your users' transactions on Sui. Users sign as usual. Your tank pays the gas. The user never needs to hold SUI.

Available on all plans. Free tier includes 10 sponsorships per month per network. See Plans.

New here? First sponsored transaction in 10 minutes.

How it works ​

┌──────────┐  1. build + sign  ┌──────────┐  2. POST /v1/gas/submit  ┌──────────────┐  3. co-sign + execute  ┌─────┐
│ Your app │ ────────────────► │ Your API │ ───────────────────────► │ Fuel Station │ ─────────────────────► │ Sui │
└──────────┘                   └──────────┘                          └──────────────┘                        └─────┘
  1. Your app builds a transaction. The user is the sender. The tank address is the gas owner.
  2. The user signs the transaction bytes with their wallet.
  3. Your app sends the bytes and the user signature to POST /v1/gas/submit.
  4. Inodra checks the transaction against your tank's rules, adds the sponsor signature, and executes it.
  5. You get back the digest, the status, and the gas used.

Read the full client flow in Sponsoring transactions.

What is a tank ​

A tank is a pool of SUI that pays gas for one project on one network. Each tank has:

  • A name. You pass it as tank when you submit.
  • A deposit address. Send SUI to it to fund the tank.
  • A set of rules that bound what the tank will pay for.
  • A balance, a spendable amount, and a daily cap meter in the dashboard.

Create tanks in the dashboard under Fuel Station. Tanks belong to a project, so the API key you use must belong to the same project.

Non-custodial dual signing ​

Every sponsored transaction carries two signatures:

  • The user signature authorizes the transaction. Only the user can produce it.
  • The sponsor signature from the tank authorizes gas payment. It cannot move anything but gas.

Inodra never holds user keys. Tank keys never leave Inodra. The tank can never be the sender of a transaction. See Security.

Spend bounds ​

You control how much a tank can spend:

BoundDefaultCeiling
Gas budget per tx0.05 SUI10 SUI
Daily cap per tanknone1000 SUI
Sponsorships per sender per daynone1,000,000
Allowed senders, targets, recipients, coin typesnone100 entries each

Rules are checked before the sponsor signs. A transaction that breaks a rule gets 403 with a code that names the rule. See Rules.

Plans ​

PlanSponsorships per monthTanks per project
Free10 per network (hard cap)1
TeamUnlimited3
GrowthUnlimited5
ProfessionalUnlimited10
BusinessUnlimited20
EnterpriseUnlimitedUnlimited

The free cap resets with your billing period. When you reach it, submit returns 429 PLAN_CAP_EXCEEDED. Mainnet and testnet follow the same rules.

Pricing ​

  • Fee: 0.001 SUI per sponsorship, taken from the tank. The fee also applies when the transaction fails on chain.
  • Credits: POST /v1/gas/submit costs 5 credits, the same as executing a transaction. GET /v1/gas/config and GET /v1/gas/pool cost 1.
  • Gas: the tank pays the gas the transaction uses, minus storage rebates.

Fees stay in the tank as an owed amount until Inodra sweeps them. See Funding and refunds.

API key scope ​

All /v1/gas/* routes need a key with the Sponsor scope. A key with only Data or Manage cannot submit or read tank balances. See API Key Scopes.

Frontend keys: a Sponsor key spends tank funds within the tank's rules. If you ship one in a browser, set an origin allowlist and tight rules.

Endpoints ​

MethodPathCreditsPurpose
GET/v1/gas/config?tank=<name>1Sponsor address, gas price, epoch, budget
GET/v1/gas/pool?tank=<name>1Balance, spendable, caps, rules
POST/v1/gas/submit5Sponsor and execute one transaction
GET/v1/gas/transactions/{digest}1Status of a sponsorship you submitted

Base URLs: https://mainnet-api.inodra.com and https://testnet-api.inodra.com. The key's network selects the tank's network.

Next steps ​

The full-stack Sui data layer.