A network is the blockchain that hosts your digital assets. Ethereum is a network that hosts its native cryptocurrency ETH as well as all ERC-20 tokens (including USDC and DAI).
We explain how transactions work on Coinbase Commerce and what you can do to avoid accidentally sending coins to an unsupported network.
When a customer makes a payment using Coinbase Commerce, the funds are first sent from the customer's wallet to a forwarding smart contract where a small fee is deducted before being automatically deposited to the merchant's account.
This forwarding smart contract in the middle of the transaction is designed to forward all incoming payments to the merchant's wallet address. This is why it is called a forwarding contract.
Each merchant on Coinbase Commerce has their own forwarding contract that is deployed specifically for their wallet address and can be cloned for each unique customer payment.
The forwarding contract will only forward incoming transactions in the form of USDC, ETH or DAI on the Ethereum blockchain. Any other type of ERC-20 token or non ERC-20 token will not be recognized by the forwarding contract and as a result the funds will be stuck in the contracts address.
Because the forwarding contract has been deployed on the blockchain, its rules are permanent and unchangeable. This means that neither Coinbase nor the merchant has the ability to retrieve any funds that become stuck in the contract address.
More details about forwarding contracts can be found in our blog post - USDC payment processing in Coinbase Commerce.
Coinbase Commerce currently supports the following networks and assets:
Bitcoin Cash network
Assets: ETH, USDC, USDT, SHIB and DAI.
For ERC-20 tokens we only support USDC, USDT, SHIB, APE, and DAI, and only support them being sent over the Ethereum network. At this time you cannot send tokens via a layer 2 network like Polygon or alternative network like Binance Smart Chain.
APE, SHIB, and USDT are currently only supported for Coinbase Managed Commerce accounts. These assets will be supported on Self Managed and Coinbase Managed Commerce accounts in the near future.
Only send USDC, DAI or ETH to a merchants wallet address over the Ethereum network when using Coinbase Commerce.
You can verify this by selecting the appropriate currency when initiating the transfer (check to make sure the cryptocurrency name and symbol matches USDC, DAI or ETH) and making sure the recipient's address uses the correct format for the Ethereum network (all ethereum and ERC-20 token addresses begin with 0x).
Here are some other common address formats you should be aware of:
The ERC-20 protocol does not allow Coinbase Commerce to reject unsupported ERC-20 deposits, and other exchanges or wallets are not able to determine if we support a specific cryptocurrency.
As a reminder, please remember to verify that you are sending to the correct address over the correct network when depositing ERC-20 cryptocurrencies.
The Ethereum blockchain prevents transfers from being reversed and does not require the receiver to accept the transfer. If the assets were sent from another exchange, this makes it difficult to make sure that the deposit will return to the original sender. For these reasons, we cannot automatically return unsupported ERC-20 deposits that are sent to Coinbase.
Unfortunately, we're unable to recover BEP20 tokens sent to a Coinbase Ethereum address. BEP20 tokens have a similar address format as Ethereum and share the same properties of the ERC-20 standard, however, they are not the same.
BEP20 tokens are on a separate network called Binance Smart Chain, which Coinbase Commerce currently does not support.
At this time, Coinbase Commerce does not support and cannot recover any tokens sent on Ethereum-compatible Layer 2 networks. Assets on Ethereum-compatible Layer 2 networks have similar address formats as Ethereum and support similar Ethereum assets, but they are different:
Layer 2 networks run on top of the Ethereum network (or mainnet) and function independently, only periodically sharing data with the Ethereum mainnet. Therefore, ERC-20 tokens on layer 2 networks will not be recognized if sent to a Coinbase Commerce address on the mainnet.
Unfortunately, our team is unable to recover USDT sent to a Coinbase Commerce address.
We recommend reaching out directly to Tether to see about potentially recovering your funds from their side. You can learn more about Tether’s token recovery process here.