Skip to main content

Documentation Index

Fetch the complete documentation index at: https://companyname-a7d5b98e-feature-fumodocs.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

Gasless in AppKit lets the selected wallet sign a transaction while a relayer broadcasts it and charges fees in an accepted jetton instead of TON.

Relayer model

Gasless does not remove the wallet step. The selected wallet still reviews and signs the message set, and the relayer only takes over after the wallet signature exists. The GaslessManager coordinates a gasless provider. The provider describes which gas jettons it accepts, how it estimates fees, and which message shapes it is willing to relay.

Fee and signature flow

The flow begins by reading relayer configuration, then estimating the fee for the chosen gas jetton. The estimate gives the app two things to present together: the fee charged by the relayer and the message set the wallet must sign. After signing, the app sends the signed payload to the relayer. The relayer broadcasts the transaction on behalf of the wallet and charges its fee according to its own rules.
import { estimateGasless, getGaslessConfig, sendGaslessTransaction } from '@ton/appkit';

const config = await getGaslessConfig(appKit, { network });
const gasJetton = config.gasJettons[0];

const estimate = await estimateGasless(appKit, {
  network,
  gasJetton,
  messages,
});

const response = await sendGaslessTransaction(appKit, {
  estimate,
});
Show the chosen gas jetton and estimated fee before opening the wallet. The wallet signs the message set; the relayer handles broadcast after that signature exists.

Failure boundaries

Gasless introduces a relayer failure class in addition to wallet and chain failures. The wallet can reject signing, the relayer can reject the signed request, and the chain can still reject or fail the broadcast transaction. Those outcomes need different recovery paths. A relayer rejection may require a different gas jetton or payload, while a chain failure requires normal transaction-status handling.

Tips

  • Show the fee in the chosen gas jetton before opening the wallet.
  • Treat relayer rejection and chain rejection as different outcomes.
  • Verify the final on-chain result after the relayer accepts the signed request.