I want to deploy a Smart Contract to Polygon. My contract takes 0.01 eth to pay for some digital goods.

When deploying to Polygon, the native currency of the chain is not Eth anymore, but Matic, so if my smart contract charging 0.01 Eth for my digital goods on the Ethereum chain, and the same smart contract is charging 0.01 Eth in the Polygon Chain, will I get 0.01 Matic or the equivalent of that in the current Ethereum price?

1 Answer 1


So in Solidity programming the term "Ether" mean 10^18

(For example: 5 ETHER = 5*10^18 = 5000000000000000000)

So regarding the programming side of things, it does not see Ether as the Ethereum coin, but just as a suffix to indicate size.

Regarding actual workings on Polygon, if you deploy your contract on Matic, it will see any native currency coded into the contract as Matic. So if you set the fee as 0.01 ether, and deploy on Matic; then it will actually charge 0.01 MATIC

  • is there any way possible to force my contract to use actual ether as value for comparison? I want to use ether as for price value but my contract is deployed on Polygon. I can ask users to bridge their ethereum to Polygon and then pay but how do I ensure incoming value is equal to ether? Commented Jan 21, 2022 at 8:41
  • I've been trying to find a solution to this but no luck. there's another posted too: ethereum.stackexchange.com/questions/119544/… Commented Jan 21, 2022 at 8:41

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.