Tempo has no native token, so every fee is paid in a TIP-20 token. The feeToken field of sendTempoTransaction selects which token pays the fee for a transaction. Embedded Tempo wallets support fee token selection, and supportsFeeTokenSelection is true on the Tempo wallet provider.
Choose the fee token
Pass the token’s contract address as feeToken. It can be the same token the transaction transfers or a different one.
The fee is charged in the fee token, so the wallet needs a balance of it. When you omit feeToken, the SDK leaves the field out of the signed transaction.
An address that is not a valid address throws TempoTransactionValidationError with the reason malformed feeToken address before the wallet signs.
How the fee amount is set
The SDK reads the network’s current gas price and sets maxFeePerGas to at least that price, and maxPriorityFeePerGas to at least a tenth of it. If you pass higher values through a viem sendTransaction call, the SDK keeps your values. It throws TempoTransactionValidationError if the priority fee exceeds the maximum fee.
The gas limit comes from the estimate described in Send batched calls.
- Tempo covers
sendTip20Transaction and transferAmount, which move tokens without Tempo-only fields.
Last modified on October 15, 2026