# Add ERC2771Recipient

## Overview

Contracts that are [ERC2771](https://eips.ethereum.org/EIPS/eip-2771) compatible are natively supported by the RallyMobile SDK to perform gasless transactions. Contracts that are not ERC2771 compatible, but are whitelisted by us, can also perform gasless transactions

## If you are able to update the contract:

1. [Add `ERC2771Recipient` to your token contract](https://docs.opengsn.org/contracts/#install-opengsn-contracts) to make it compatible with our SDK.&#x20;
2. Set the trusted forwarder:
   1. Amoy: `0x0ae8FC9867CB4a124d7114B8bd15C4c78C4D40E5`  &#x20;
   2. Mainnet: `0xB2b5841DBeF766d4b521221732F9B618fCf34A87`
3. [View code example](https://gist.github.com/DonGambas/230389f11dc5f10137a510527175e01e)

{% hint style="info" %}
For ERC721 contracts, follow [Opensea's guide](https://docs.opensea.io/docs/polygon-basic-integration) to enable meta transactions for your NFTs.
{% endhint %}

## If you are unable to update the contract:

Contact us on [Discord](https://discord.gg/rlynetwork) with the contract address and [gasless transaction method](https://docs.rallyprotocol.com/unity/gasless-transactions/guides/determining-the-gasless-transaction-method) (`permit` or `executeMetaTransaction`) to have it reviewed and whitelisted by our team. &#x20;
