Skip to main content

Sponsored transfer

Offload transaction fees to any Utila wallet

Updated over 2 weeks ago

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

  • Ethereum Sepolia

  • Base

  • Optimism

  • Arbitrum

  • Avalanche

  • Polygon amoy

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

To use native sponsored transfers on EVM, please ensure you are running version 2.11 or later of the mobile app.

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

Order of events

  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.

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 the destination

    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. Bank account. Select a predefined bank account.

      6. Utila Link. Select a Utila link.

    2. Select the destination and click Next step.

  4. Enter the amount to transfer and select the sponsor wallet

    1. Enter the amount.

    2. Select the sponsor wallet.

      If the source wallet doesn't have sufficient native tokens, the sponsor switch is on by default.

    3. Set the fee priority. Estimated fees are updated based on sponsorship status.

    4. Click Next step.

  5. 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.

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

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

  6. 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.

  7. 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. You automatically move to the 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. You automatically move to the next step.

  3. Select sponsor wallet
    Select which wallet pays the transaction fees. Make sure it has enough tokens to cover the fees. You automatically move to the next step.

  4. Select 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.

    2. Select the destination. You automatically move to the next step.

  5. Select amount
    Enter the amount you want to transfer. Click Next step on the procedure guide.

  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.

    This is what you see after adding the EVM approval rule. Click Create token approval.

  7. Summary
    You are presented with a summary of the transaction for you to approve.

    Set the fee priority. You can also add a note about the transfer. Click Transfer to send the transaction.

    The transaction 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.

Did this answer your question?