Skip to main content

Sponsored transfer

Offload transaction fees to any Utila wallet

A sponsored transfer enables you to send tokens from a Utila wallet to any destination while another wallet, the sponsor, covers the blockchain fees (gas).

Sponsored transfers are supported across multiple blockchains through a single, streamlined experience. Utila supports two modes of sponsored transfers: native transfers and transfers based on token approval.

Sponsored transfers can be initiated from the web console or the API.

Native sponsored transfer for EVM

Native sponsored transfers are supported on top EVM chains, Solana, Sui and Aptos.

Supported EVM chains

This feature is supported by default on the following EVM chains:

  • Ethereum mainnet

  • Polygon mainnet

  • Tempo

  • Ethereum Sepolia

  • Base

  • Optimism

  • Arbitrum

  • BNB Smart Chain

  • BNB Smart Chain testnet

  • Polygon amoy

Need to transfer an unlisted EVM chain? Contact Utila support.

How it works

Utila sponsored transfers use EIP-7702 to delegate your wallet to a trusted and audited Utila smart contract. To delegate, sign a message with your source wallet. The sponsor wallet then submits this signature and your signed transfer intent to the blockchain.

This delegation allows:

  • The source wallet to authorize the transfer by signing an EIP-712 message

  • The sponsor wallet to submit the transfer message, alongside any delegation required, as a contract call to the sponsor wallet, thus paying the transaction fees

Delegations to the Utila contract are exempt from transaction policy screening. You do not need to configure an EVM Delegation transaction policy rule to use EVM sponsored transfers

The transfer flow

  1. The user creates a sponsored token transfer from the web console or the API.

  2. The token transfer undergoes transaction policy and AML screening.

  3. Utila checks if the source wallet is already delegated to the Utila smart contract.

    If not, Utila creates a delegation transaction.

    This is only for the first transfer from this specific source wallet on this specific blockchain. Any subsequent transfers from this source wallet on this chain do not require delegation. Note that signing this transaction does not require native balance from the source wallet.

  4. Once the transaction is approved, the source wallet signs both the transfer and the delegation transactions in one step on the mobile app.

  5. The sponsor wallet submits the transaction. The system packages and submits the signatures on-chain via an EVM Submission transaction.

Create a native sponsored transfer

To create a native sponsored transfer, click Transfer on the left navigation menu and select Sponsored Transfer.

The procedure steps on the left side of the page are there to guide you.

1. Select a token

  1. Select if you are transferring wallet or exchange tokens. If you have a lot of possible tokens, you can search for what you need.

  2. Select the tokens you want to transfer and click Next step.

2. Send from

You now need to select which wallet you are sending the tokens from (depending on what was selected in step 1).

  1. You can search for a wallet or exchange (if that's what was chosen in step 1).

  2. Select the wallet or exchange. You automatically move to the next step.

3. Send To

For this to work, you need the details of the destination. In this example, we need the wallet address. For the address book, see Add an address book entry.

4. Amount

  1. Enter the amount you want to transfer. This can be in tokens or USD equivalent.

    The following screenshot shows the notifications when you have insufficient funds.

  2. Decide from where the fee is taken.

  3. You can select a sponsor to pay the transaction fees. Turn on the switch and select the sponsor wallet.

  4. The expected amount of the fee is shown. If you do not have a sufficient native tokens balance to pay the transaction fee, you see an "insufficient funds" error and can't complete the transaction. To mitigate this, select a sponsor (step 4.3).

5. Summary

You are presented with a summary of the transaction for you to approve. You can also add a note about the transfer. Click Transfer to send the transaction.

It then goes through the transaction rules and any screening you’ve implemented.

Once approved, sign the transaction on your mobile. For details, see Sign a transaction.

The Transactions table shows two transactions, an EVM delegation and a transfer transaction. The sponsor wallet submits the transaction using an EVM Submission transaction.

If this is the first time the source wallet is used for a particular blockchain, you need wallet delegation. This enables sponsored transfers for this wallet and blockchain. In effect it is a signed message that allows the wallet to act via the Utila smart contract. Native tokens are not required.

Sign the delegation and transfer transactions on your mobile app. For details, see Sign a transaction.

View sponsored transfers

In the web console transactions page, the default is not to see the EVM Delegation and EVM Submission transactions, created as part of the sponsored transfer. This is intentional to help focus your view on financial transactions.

To view the EVM Delegation and EVM Submission transactions that relate to your sponsored transfer:

  1. Open the Transactions page and click the transaction to open its details.

  2. Click View related transactions.

  3. Only the transactions related to the transfer are listed in the Transaction page.

  4. Click See all transactions on the transactions page to revert to the default view.

You can also view the transactions relating to the sponsored transfer on the transaction details pane.

Accelerate or revoke a sponsored transfer

You may accelerate or revoke a signed sponsored transfer, as long as it has not reached "Mined" status. To do so, click the 3-dot action menu in the console or mobile app and select Revoke.

Resubmit a failed EVM submission transaction

If the EVM transaction fails to create or run, you can create a new submission directly from the sponsored transfer.

1. Click Resubmit either:

  • On the Transactions page, under the status column of the transaction.

  • In the transaction details

2. Add a note to the confirmation and click Resubmit.

The resubmission generates a new transaction that needs signing. This will replace your current transaction.

Native sponsored transfer for Solana, Sui and Aptos

Utila users native blockchain capabilities to enable sponsored transfers on Solana, Sui and Aptos. The flow is the same as with EVM, except there is no delegation or submission. The sponsored transfer happens in a single signature and transaction.

Sponsored transfer with token approval

You need an EVM approval rule for the sponsored transfer of TRON. For details, see Create an EVM approval rule.

This form of sponsored transfers make use of ERC-20 and TRC-20 token approvals. The source wallet enables a gas wallet to move tokens on its behalf.

To enable sponsored transfers for a specific wallet and token, you need to:

  1. Create a transaction policy token approval rule. Create an EVM approval rule that allows token approvals transactions. Apply the rule to any source wallet you want to sponsor transfers from, to the relevant token, and the gas wallet to use. For details, see Create an EVM approval rule.

  2. For any new wallet or token you wish to sponsor, you need to execute a single token approval transaction. Executing the approval transaction requires native currency (such as TRX or ETH), which means that you will need native currency in the source wallet to complete that single transaction. Once the token approval transaction is completed, you no longer need to have native tokens in the source wallet.

Create sponsored transfer with token approval

To create a sponsored transfer, click Transfer on the left navigation menu, and then Sponsored Transfer.

The procedure steps on the left side of the page are there to guide you.

1. Select a token

  1. If you have a lot of possible tokens, you can search for what you need.

  2. Select the tokens you want to transfer and click Next step.

2. Select source wallet

You now need to select which wallet you are sending the tokens from. Search for a wallet and select it. Then click Next step.

3. Select sponsor wallet

You now need to select the sponsor wallet that's paying the transaction fees. Search for a wallet and select it. Then click Next step.

4. Send to

  1. Select the destination type. You can also search for it.​

    1. Address book. You'll see a list of addresses

    2. Wallet. If you want to transfer assets between your own wallets, use this.

    3. Address. Enter the external address you want to transfer the assets to.

    4. Exchange. You'll see a list of the exchanges you've set up. Select the exchange account where you want to deposit assets.

    5. Utila Link. Select a Utila link.

    6. Bank account. Select a predefined bank account.

  2. Select the destination and click Next step.

5. Amount

Enter the amount and click Next Step. If the source wallet doesn't have sufficient native tokens, the sponsor switch is on by default.

6. Token approval

The first time you do a sponsored transfer of this token from this source wallet using this sponsor wallet, the source wallet needs to create an on-chain approval for the sponsored wallet. Click Create rule, and then redo the transfer. More details are provided in Create an EVM approval rule.

If there are enough tokens, click Create token approval. Open the Utila app on your mobile device and sign the token approval.

If the sponsor wallet doesn't have enough tokens to pay the fee, execute a TRC-20 Token Approval transaction to proceed.

7. Summary

A summary of the transaction is displayed for you to approve.

You can add a note about the transfer. Click Transfer to send the transaction.

Once approved, sign the transaction on your mobile. For details, see Sign a transaction.

Did this answer your question?