Gasless Settings (Third-party Wallets)
Estimated time to read: 4 minutes
The built-in gasless feature of the Arcana Auth SDK can be used to enable gasless transactions for app users through the Arcana wallet. For enabling gasless transactions in third-party browser-based wallets supported by the app, developers must use the standalone Arcana Gasless (Standalone) SDK.
When enabling gasless transactions in the Arcana wallet, or a third-party wallet, developers must use the Arcana Developer Dashboard and set up gas tanks, whitelist gasless app operations for the supported blockchain networks.
In this guide, you will learn how to configure gasless transactions irrespective of whether you wish to use only the standalone Arcana Gasless (Standalone) SDK or use the built-in gasless feature in the Arcana Auth SDK.
Disabling Gasless Capability
Once a gas tank is set up, gasless transactions feature will remain active in Arcana Auth SDK for that blockchain. The EoA and SCW addresses will always be available, even if the gas tank is paused or empty. Users can switch between these addresses in the Arcana wallet UI.
Prerequisites
To log into the Arcana Developer Dashboard, you’ll need an account with a supported social login or use email for passwordless access.
- GitHub
- Twitch
-
Discord
-
To deposit funds in a newly created gas tank, developer must use a browser based wallet such as MetaMask.
Gasless Transaction Limitations
- Gasless transactions are available only for ERC-20 tokens.
- To ensure smooth gasless operations, the gas tank must have at least a 0.1 ETH (or native chain token) balance.
Steps
Login to the Arcana Developer Dashboard and follow these three steps:
1. Provision Gas Tanks
Visit the 'Manage Apps' page of the Arcana Developer Dashboard. Choose the registered app for which you need to enable the gasless feature. If the app is not registered, create a new app entry by registering it and then configure gasless settings to enable gasless transactions.
Click Configure dropdown, and choose Gasless in the LHS navigation. A registered app has no gas tanks set up by default. Select Gas Tanks to add or edit the gas tanks.
Choose the Add Gas Tank control; provide a name for the gas tank and select a chain that will be serviced by this gas tank. Refer to the list of supported chains that allow setting up the gas tanks.
Note that you can only set up one gas tank per blockchain network. Once configured, the newly added gas tank is displayed the Arcana Developer Dashboard.
2. Deposit/Withdraw Credits
To add crypto assets to a new gas tank, the developer needs to use a browser-based wallet like MetaMask and choose an account with sufficient funds. This account is referred to as the owner's account. Anyone, including the developer or third-party sponsors, can contribute credits to the gas tank. However, credits can only be withdrawn into the owner's account.
Browser-based wallet
You can use MetaMask or any other browser-based wallet to deposit credits in a gas tank. Make sure the browser-based wallet sets the windows.ethereum
variable.
Minimum Gas Tank Balance
Ensure there is at least 0.1 ETH or native gas token balance in the gas tank for a successful ERC-20 token transaction.
Go to the dashboard page listing all the configured gas tanks. Click 'ellipsis' in the gas tank entry and choose Deposit from the dropdown menu list:
- Deposit
- Withdraw
- Manage Whitelist
Add the amount you want to deposit, and confirm the transaction. Once it's done, you'll see your Total Deposit go up by that amount in the gas tank.
To withdraw funds, click 'ellipsis' and choose Withdraw from the menu list. Enter the amount you wish to withdraw. After successful withdrawal, the Total Amount in the gas tank goes down by the withdrawal amount and the owner's wallet address will see the withdrawn amount added.
To take out money, click the 'ellipsis' and pick Withdraw from the menu. Enter the amount you want to withdraw. When it's done, the gas tank's Total Amount drops by what you withdrew, and the owner's wallet gets the money.
3. Whitelist Operations
To whitelist one or more app functions, choose Manage Whitelist and specify the following:
- Contract Address
- Contract ABI
On the right-hand side, you'll find a list of functions. Use the radio buttons to select the ones that are eligible for gasless transactions. Only these functions will enable gasless operations when users perform blockchain transactions related to them.
Optional: Enable/Disable Smart Accounts
Developers can choose to enable/disable smart accounts. When the smart accounts are disabled, all transactions happen via the EoA account. What this means is that the gas tank is paused when smart accounts are disabled.
When smart accounts are disabled, users pay gas fees for whitelisted app operations. They can access both EoA as well as the smart account.
That is all! 🎉
You have successfully configured gasless operation for the application users.
What's next?
After configuring gasless, integrate the app with the Arcana Auth SDK. Add code to onboard users and allow authenticated users to sign blockchain transactions.
See Also
- FAQ - Gasless Transactions
- Managing Testnet and Mainnet Configurations
- Arcana Gasless (Standalone) SDK Quick Start Guide
- Arcana Gasless (Standalone) SDK Usage Guide
- Arcana Auth SDK Usage Guide
- Arcana Auth SDK Reference