Why do we need Paymaster?
One of the major challenges in onboarding new users to web3 is the requirement of having a wallet and some Aptos tokens to pay for gas. This can be a significant barrier to entry for many users.
Paymaster offers a solution to this problem by allowing the Dapp owner to cover the gas fees on behalf of the users. By eliminating the need for users to have their own tokens, Paymaster greatly improves the user experience of web3 applications.
Traditionally, users would need to go through KYC procedures to purchase Aptos tokens and transfer them to their wallet, introducing friction that may discourage adoption among Web2 users. Additionally, requiring an Aptos balance for app usage could also prevent many potential users from participating.
With Paymaster, these obstacles are eliminated, making it easier for users to engage with web3 applications without the need for a native token balance. This opens up new opportunities for user adoption and removes barriers to entry, ultimately driving the growth of the web3 ecosystem.
How does Paymaster work?
The Kana Paymaster is based on the Aptos Improvement Proposal - 39. It introduces a mechanism for specifying a separate account to pay for gas in transactions, allowing the Dapp owner to cover the gas fees on behalf of the users. This mechanism deducts the gas from the payer account without granting access to its signer for any other purposes. As a result, the transaction is executed in the same way regardless of who pays for the gas.
Workflow of Kana Paymaster

The workflow of Paymaster is as follows:
- The Dapp registers for the Kana Paymaster service and deposits Aptos tokens to the FeePayer wallet. It also integrates the Paymaster SDK into their Dapp.
- A new user visits the Dapp and interacts with the smart contract, such as minting an NFT or trading tokens. The user does not have any Aptos tokens in their wallet.
- The Dapp checks if the user is eligible for the sponsored transaction and not already whitelisted. If eligible, the user's address is whitelisted.
- The Dapp submits the transaction payload to the Paymaster through the Paymaster SDK to obtain the fee payer's signature.
- The Paymaster validates the transaction payload and the user's eligibility for the sponsored transaction. If eligible, the Paymaster signs the transaction payload with its dedicated FeePayer wallet and returns the fee payer's signature to the Dapp.
- The Dapp adds the fee payer's signature to the transaction payload and submits the transaction to the blockchain.
- The transaction is executed, and the gas fee is deducted from the FeePayer wallet.
Features of Paymaster
- User whitelist: The Dapp owner can specify which users are eligible for sponsored transactions. This allows the Dapp owner to selectively enable the Paymaster service for specific users.
- Function whitelist: The Dapp owner can specify which functions are eligible for sponsored transactions. This allows the Dapp owner to have fine-grained control over which transactions are covered by the Paymaster.