A user signs their own gasless transaction and you submit it once. Inodra validates it, co-signs as the gas sponsor, and executes it. Non-custodial, with spend caps to keep the cost predictable.
tx.setGasOwner(config.sponsorAddress)tx.setGasPayment([])const { signature } =await wallet.signTransaction(txBytes)// one call: validate, co-sign, executeconst r = await inodra.gas.submit({txBytes, userSignature: signature })// r.digest -> the user paid nothing
A new user acts the moment they arrive, holding nothing. The step where they leave to acquire gas, and often just leave, is gone.
The user signs the transaction. Your sponsor signature only pays the gas, so no keys or funds change hands and the action stays theirs.
Per-transaction budgets, daily and per-sender caps, and allowlists for senders and move-call targets bound what a tank can pay for as usage climbs.
You send the signed transaction to one endpoint. Inodra validates it against your rules, co-signs as sponsor, executes, and returns the result and gas used.
Fund one or more tanks per project, each with its own balance, limits, and rules. Staging and production, or two apps, never draw from the same pool.
Sponsored transactions and gas spent show up in your dashboard next to the rest of your Inodra usage, not in a separate console.
A short note on what you are building and where sponsored gas fits. No commitment.
Access to the sponsorship API and a direct line to the engineers, usually within a few days.
No usage costs while the beta runs. The API may still change, and we tell you before it does.
Closed beta, running on testnet today. Free while it runs.