Gas Station Guide

Shinami’s gas station allows apps on Sui to abstract away gas fees


Sending a transaction on Sui requires end users to first have a SUI balance in order to pay gas fees. This typically involves KYC & AML checks to purchase SUI and interact with apps on the network.

Alternatively, apps on Sui can sponsor their end user's transactions to remove friction. Shinami handles the management, refueling and optimization of gas (SUI) to facilitate sponsored transactions. This frees apps to focus on how to apply sponsored transactions to improve onboarding and user engagement.


End user - sender of the transaction. Has a wallet and Sui address.
App (sponsor) - the app funding transactions on behalf of end users
Gas station (Shinami) - manager of gas objects for sponsors, and facilitator of sponsored transactions
Wallet - interface for the end user to interact with the the app and node service
Node service (Shinami) - endpoint for transactions to be submitted to


Role of Shinami's Node Service

Shinami’s node service provides enterprise-grade infrastructure to read and write to the Sui blockchain. The gas station leverages this infrastructure when tracking state and it's also used to submit sponsored transactions to Sui.

Gas Station API

Shinami provides easy to use APIs for sponsoring transactions. Once you've created a gas station access key in the Shinami dashboard, you can make the following JSON-RPC requests:

  • gas_sponsorTransaction: send a transaction to the gas station to request gas sponsorship
  • gas_getSponsoredTransactionStatus: retrieve the state of the gas object assigned for sponsorship (in flight, invalid, or complete)

You can find more info on these methods in our Gas Station API page.

End-to-end Scenario

  1. End user is interacting with an app (sponsor) and has connected a wallet
  2. End user wants to perform a transaction on the app, e.g. mint an NFT
  3. App:
  • Constructs the mint NFT transaction gaslessly under the hood
  • Sends it to the gas station via gas_sponsorTransaction with additional auth data verifying its gas station account has enough funds
  1. Gas station:
  • Puts a hold on the sponsor's funds for the corresponding gas budget amount
  • Constructs the transaction data to mint the NFT with a provisioned gas object
  • Signs the transaction and returns the transaction data with gas to the app
  1. App presents the transaction to the end user and prompts for signature via wallet
  2. Wallet submits the transaction to Sui (sui_executeTransaction)