zkEVM: new custom endpoints (optional, but recommended)

Earlier this year, Polygon zkEVM changed how it calculated transaction fees. While the actual transaction fee paid by users went down for most types of DeFi activity, there was one unintended consequence: The estimated gas price users had to sign was much higher than what they would end up paying.

If you have a dApp deployed on Polygon zkEVM, this solution is for you. Using this custom endpoint is not obligatory, but strongly recommended.

Relevant Calls

Standard endpoint:

  • eth_estimateGas returns the gas needed to execute the transaction, given the state of the network

New custom endpoints:

  • zkevm_estimateGasPrice returns an almost exact gas price based on the transaction type and calldata being used, given the state of the network.
  • zkevm_estimateFee returns the estimated transaction fee following the estimated gas price, given the state of the network.

How-to for dApps devs

The relevant JSON content and documentation can be found here:

  1. Copy the JSON content for node v0.5.13: zkevm-node / json / 0.5.13
  2. You can visualize the spec by pasting the code into the playground area of the OpenRPC Playground
  3. The process is the same as requesting eth_estimateGas. You’ll call the new endpoints with the exact same parameters. For additional reference, see the call examples in the blog post.

Based on the responses and the state of the network, the new endpoints provided gas estimates that were ~20% lower than the standard endpoint. Note: Users on dApps that continue using the standard endpoint are always going to sign the higher price but the actual fee paid will be the same as with the custom endpoint.

For RPC infra providers: node compatibility

This custom endpoint is available for Node version 0.5.13, which was included in the Etrog upgrade:

If you’re an infrastructure provider running RPC nodes on Polygon zkEVM, you need to update to the latest release of the node on mainnet for dApps to call zkevm_estimateGasPrice.

Nearly all of the node providers on Polygon zkEVM are already running the latest version.

Additional Material

A complete list of all JSON RPC endpoints supported on Polygon zkEVM can be found here:

If you have questions or issues connecting to the new endpoints, let me know below.

1 Like