Deposit ERC20 from Goerli to Mumbai

Hi support team. I’ve been trying to deposit ERC20 tokens from Ethereum Goerli to Matic Mumbai using the PoS Bridge. I’ve already mapped my tokens:

Goerli: 0x15D7A96c78C78C84d8603ad7d210F4Eb7BD0656d
Mumbai : 0x62007d78249c0044b2894be75dadf83ab5ce586a

Now I’m trying to use the sample app from here:
Tutorial Sample App

When I try the ERC20 Deposit, MetaMask pops up to approve my transaction in Goerli, but it never actually deposits anything to Mumbai. Please help.

1 Like

Here is the transaction on Ethereum Goerli. I believe this was just to authorize the deposit amount from Ethereum ERC20, but I would’ve expected a second Metamask approval to actually deposit to the Mumbai ERC20 contract:

@shubhangi Also, here is the code for that Deposit button. Looks like there are 2 function calls to the maticPoSClient, but I think its only calling the first one.

  // POS ERC20 functionality

  const depositERC20 = async () => {
    const maticPoSClient = posClientParent();
    const x = inputValue;
    const x1 = x.toString();
    await maticPoSClient.approveERC20ForDeposit(config.posRootERC20, x1, {
      from: account,
    await maticPoSClient.depositERC20ForUser(config.posRootERC20, account, x1, {
      from: account,

hi @shubhangi
I tried splitting into a second function for the deposit. Its still not working. When I click the button to make the deposit call, nothing happens. MetaMask does not even pop up.

Any other suggestions on this?

Kindly chat with one of our dev on live chat to get a quicker response for the question and any other related issue @rich_hedgefy click here

Hello @rich_hedgefy

A representative from Matic will further escalate this issue via the live chat support and help you sort it out right away.

CLICK HERE>>>>>> (

@shubhangi I joined the Discord channel but I’m not getting any quicker responses. However, I did figure out something. I believe the mapped token has a different # of decimals. The root ERC20 token I deployed has 0 decimals, but it seems like the child token was mapped with 18 decimals.

I just minted 1000 * (10^18) tokens into my wallet on L1, and now it works. I was only trying to deposit 10 tokens, but when I have a balance of 1000 tokens, the deposit doesn’t work. However, after I minted the 1000 * 10^18 tokens, then it worked. However, the amount deposited was still only 10 tokens.

Looks like Polygon’s token mapper doesn’t support using 0 decimals. I guess I need to deploy a custom child token?

@rich_hedgefy Kindly chat with one of our dev on live chat to get a quicker response for the question and any other related issue click here