Gasless Transactions in WDK: A Chain-by-Chain Guide Walkthrough
Simple. Send USD₮, Pay Gas in USD₮
In Wallet Fundamentals: Build, Sign, and Send Your First Transaction in WDK, we built a self-custodial wallet that sends transactions across Bitcoin, Ethereum, and TON, and we also sent our first USD₮ transaction in Wallet Fundamentals: Sending USDt in WDK. But we hit a friction point in both cases: users need separate gas tokens for each chain.
Want to send USD₮ on Ethereum? You need ETH for gas. Want to send USD₮ on TON? You need TON for gas. Want to send USDt on TRON? You need TRX for gas.
Every blockchain's transactions have a gas cost, which is paid in its native token
Imagine a user's perspective:
User: "I want to send $100 USD₮ ."
Wallet: "Sure, but you also need 0.0001 ETH for gas."
User: "What's ETH? I just want to send USD₮ ."
Wallet: "You have to buy it separately."
User: Frustrated. Bad UX. The User leaves.
This is bad UX. Blockchain complexity leaks into the user experience. WDK eliminates that friction; with the gas abstraction modules, users can send USD₮ on EVM with the ERC-4337 module and the EIP-7702 module, on Ton with the Gasless TON module, on Tron with the Gasfree TRON module, and on Solana with the Gasless Solana module; and pay the gas in USD₮.
Good UX looks like this:
User: "I want to send $100 USD₮."
Wallet: "Done. Transaction cost was 0.05 USD₮." (Gas was paid in USD₮ from the user’s balance)
User: Simple. Stays.
Gasless transactions solve this by allowing users to pay gas with the same token they're sending. Instead of buying ETH, TON, SOL, or TRX separately, the gas fee is deducted from the USD₮ transfer itself.
How Gasless Works (the 30-Second Version)
In WDK, the pattern is always the same:
Without gasless (traditional):
- User builds and signs the transaction
- User's wallet sends it to the network
- User pays gas in the native token (ETH, TON, TRX, SOL) plus the USD₮ transfer amount
With gasless:
- User builds and signs the transactions
- A paymaster service intercepts the transaction
- The paymaster pays the gas in the native token on the user's behalf
- The paymaster gets repaid in USD₮ for the gas cost, deducted from the user's balance in the same transaction
The mechanics differ by chain, but thanks to WDK, from the user's perspective, it's identical: send USD₮ and pay gas in USD₮. Some setups go one step further and allow the application to sponsor gas entirely, so the user pays nothing at all.
How can I get configured in the different supported chains?
We will deliver a specific blog post for each supported chain, with a complete guide to getting all the necessary credentials, paymaster providers' API keys, and configuration.
- Building on Ethereum or another EVM chain? Coming next: EVM Gasless Transactions in WDK: ERC-4337 and EIP-7702 Gasless Transactions. If you want users to keep their existing EOA addresses, the new EIP-7702 module is the one to read closely. If you want smart-contract accounts, the ERC-4337 module will be covered too.
- Building on Solana? Solana Gasless Transactions in WDK will cover the newest WDK Gasless Solana module, supporting Kora paymasters and fee caps.
- Building on TON? TON Gasless Transactions in WDK will walk through the two API keys you need (yes, two from two different services, one of which is a Telegram bot) and the module integration with the Gasless TON module.
- Building on TRON? TRON Gasless Transactions in WDK will cover getting your GasFree.io credentials and the module integration with the Gasfree TRON module.
- Building on all of them? Never has it been easier: one pattern to remember them all, consistent API calls, easy to maintain.
import WDK from '@tetherto/wdk'
import WalletManagerX from '@tetherto/wdk-wallet-<chain>-gasless'
const wdk = new WDK(seedPhrase)
.registerWallet('my-chain', WalletManagerX, { /* chain-specific config */ })
const account = await wdk.getAccount('my-chain', 0)
// Always quote first — show users the cost before they commit
const quote = await account.quoteSendTransaction({ /* ... */ })
// Then send
const result = await account.sendTransaction({ /* ... */ })Only the configuration object and one or two parameter names change per chain. Everything else, such as the key derivation from a single seed phrase, signing, and fee handling, is normalized by WDK.
Key Insights
- One seed phrase, every chain: The same seed generates accounts on Solana, EVM, TON, and TRON. Users manage one backup, not four.
- Gas paid in USD₮ (or sponsored): The paymaster covers native gas and is repaid in USD₮, or, under sponsorship policies, your app absorbs the cost entirely and users pay zero.
- Same API, different mechanics: ERC-4337 bundlers, TON protocol paymasters, GasFree.io WDK abstract them behind a single interface. Register once, send anywhere.
- Credentials are the real setup cost: The code takes minutes; getting API keys is where developers get stuck. That's why every post in this series has a dedicated "Get Your API Keys" section with screenshots.
Next Steps
Follow WDK's official X account to stay up to date with all the announcements. Join us on Discord, the best place to ask questions, share what you're building, and get help directly from the team.
All four modules are already documented and ready to use. And if you'd enjoy a more guided, step-by-step take with extra tips along the way, we've got you. Coming up:
- EVM Gasless Transactions in WDK: ERC-4337 and EIP-7702 Gasless Transactions
- TON Gasless Transactions in WDK
- TRON Gasless Transactions in WDK
- Solana Gasless Transactions in WDK
And after that, more to come. Protocol Integration: Swaps, Bridges, and Lending with WDK, where we layer DeFi functionality on top of these gasless wallets.
Gasless + swaps + bridges + lending = a complete DeFi experience without ever touching native tokens.
Receive the latest WDK news
Click to subscribe to the WDK newsletter and stay updated!
Latest Articles & Guides


Wallet Fundamentals: Sending USDt in WDK
Understand how token transfers work across different blockchain models and how WDK unifies them under a single developer experience.

Wallet Fundamentals: Build, Sign, and Send Your First Transaction in WDK
Learn how to create a wallet that can send transactions across multiple blockchains, without rewriting code for each chain
