I try to send a URI to the layer 2 (Matic sidechain) from the "ERC721 Dummy contract" as Matic/Polygon team calls it and deployed on L1 (Ethereum mainnet). Their current Dummy ERC721 template only works with a baseURI + token ID format, not a full on-chain URI storage as I use with OpenZeppelin URIStorage contract (best way for my dapp to scale) deployed on the Matic Mumbai test net (Contract link). The trick here is that they use a proxy contract called a ChainManager to manage this L1 to L2 communication, and there is no official documentation on how sending custom messages between those two layers. I could not find an answer from Matic team on their Discord nor official forum so I am trying here, thanks in advance.

1 Answer 1


You can use State Transfer which is the implementation of the FX portal (flexible portal). It allows passing arbitrary data between Matic and Ethereum.

Fx portal leverages state sync and checkpoint mechanism of polygon architecture.

Fx-portal Github: https://github.com/fx-portal/contracts

  • Amazing, thanks a lot ! So I understand that I can design my own L1/L2 bridge for my ERC721 tokens (or any other standard). I will investigate it, I hope this is not too complex, the PoS Bridge was quite handy but not flexible enough and that makes sense. Jun 21, 2021 at 20:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.