Rise In Logo

Move on Sui Course

Move on Sui Sponsored Transactions

This is a bonus lesson where you will learn about sponsored transactions feature in Sui Network. This lesson is a little bit advance, so you are free to skip. That being said, it is also important to know the unique features of Sui Network and understand how they can make a change. At the end of the lesson, you will find more resources if you want to learn more about sponsored transactions in Sui Network and their implementation.

What are Sponsored Transactions and Why They are Important

One of the biggest challenges for Web3 adoption is the user experience. Users who are used to Web2 applications often find it confusing and inconvenient to install a wallet, buy tokens, and pay gas fees for every transaction they make on a Web3 network. This can discourage them from using Web3 applications and limit the growth of the ecosystem.

Move on Sui sponsored transactions are a solution to this problem. They allow developers to pay the gas fees for some or all their app transactions, eliminating the need for users to do so. This can improve the user experience, increase conversion rates, and create new revenue models for Web3 applications.

What is the Idea Behind Sponsored Transactions

Move on Sui is a dialect of Move, a programming language developed by Facebook to power the Diem blockchain. Move on Sui can define, create, and manage programmable Sui objects representing user-level assets. Sui’s object system is implemented by adding new functionality while also imposing additional restrictions to the original Move.

Sponsored transactions are one of the new features that Move on Sui introduces. They are based on the idea that any Sui object can be owned by an address, and only the owner can use that object in a transaction. This means that if a developer owns a Sui object that represents gas fees, they can use it to pay for another address’s transaction. This way, the developer becomes the sponsor of the transaction, and the user does not have to pay anything.

How Do Sponsored Transactions Work

Sponsored transactions work by using two types of data structures: GasLessTransactionData and TransactionData. GasLessTransactionData is an incomplete transaction that does not include gas fees. TransactionData is a complete transaction that includes gas fees.

Now let’s see how sponsored transactions are implemented.

There are three methods to implement sponsored transactions:

  • User-initiated transactions: The user creates a GasLessTransactionData object and sends it to the sponsor. The sponsor validates the transaction, constructs a TransactionData object with gas fees, and signs it. The sponsor sends the signed TransactionData and their signature back to the user. The user verifies and signs the TransactionData and sends it to the Sui network.
  • Sponsor-initiated transactions: The sponsor creates a TransactionData object that contains the transaction details and gas fees. The sponsor signs it and sends it to the user via email, instant messaging, or any other method. The user verifies and signs the TransactionData and sends it to the Sui network.
  • GasData object-based transactions: The sponsor creates a GasData object that defines the gas fee budget and sends it to the user. The user creates a TransactionData object, signs it, and sends it back to the sponsor. The sponsor verifies and signs the TransactionData and sends it to the Sui network.

When to Use Sponsored Transactions

Sponsored transactions can be used for various purposes depending on the developer’s goals and strategies. Some possible use cases are:

  • Onboarding new users: Developers can use sponsored transactions to cover the fees for users who are new to Web3 or their app. This can reduce the friction and increase the retention of users who might otherwise be deterred by having to pay gas fees.
  • Promoting app features: Developers can use sponsored transactions to incentivize users to try out new or premium features of their app. For example, they can offer free trials, discounts, or rewards for using certain functions or services.
  • Creating revenue models: Developers can use sponsored transactions to create different revenue models for their app. For example, they can charge users a subscription fee, display ads, or sell tokens or other assets in exchange for sponsoring their transactions.


For more information on sponsored transactions, you can visit:

As you can see, even though sponsored transactions are not mandatory for projects, they can actually create new possibilities for smart contract development and decentralized applications.

Rise In Logo

Rise together in web3