Polygon Knowledge Layer
Developer tools
Initializing search
    Polygon Knowledge Layer
    • Home
    • Agglayer
    • CDK
    • zkEVM
    • PoS
    • Developer tools
    • Innovation & design
    • Learn
    Polygon Knowledge Layer
    • Home
    • Agglayer
    • CDK
    • zkEVM
      • Overview
        • Etrog upgrade
      • Build
        • Connect to zkEVM
          • Setup local zkNode
          • Setup production zkNode
            • Introduction
            • Environment overview
            • Prerequisites
            • Install dependencies
            • Create wallets
            • Configure node deployment
            • Configure prover
            • Start node
            • Start services
        • Risk disclosures
        • Historical data
        • JSON RPC endpoints
        • Check transaction status
      • Architecture
        • zkEVM protocol
          • zkNode
            • State management
            • Transaction life cycle
              • Submit transactions
              • Transaction execution
              • Transaction batching
              • Batch sequencing
              • Batch aggregation
            • Sequencing batches
              • Overall design
              • Data streamer protocols
              • Bookmarks
              • Protocol messages
              • Server-source library
              • Stream file
              • How rollbacks work
            • About reorgs
          • Admin role and governance
            • Protocol upgradability
            • Upgrade process
          • Security council
            • Force batches
            • Force verification
            • Emergency state
        • zkProver
            • Introduction
            • Executor
            • Proving system inputs
            • Order and prove
            • Aggregator
            • JSON-RPC
            • Polynomial identity language
            • Execution trace design
            • Selector columns
            • zkEVM and execution traces
            • Using lookup tables
            • L2 state tree concept
            • Keys and values
            • Processing L2 blocks
            • Recapitulation
          • Main state machine
            • As a processor
          • STARK recursion
            • Proving tools and techniques
            • Composition, recursion and aggregation
            • Recursion sub-process
            • Proving architecture
            • CIRCOM in zkProver
            • Proving setup phase
            • Intermediate steps
            • Final recursion step
            • Proof generation phase
          • Storage state machine
            • Creating keys and paths
            • Storage SM mechanism
            • Executor and PIL
          • Arithmetic state machine
          • Binary state machine
          • Memory state machine
          • Memory-align state machine
          • Hashing state machines
            • Keccak framework
            • Padding-kk state machine
            • Padding-kk-bit state machine
            • Bits2Field state machine
            • Keccak-f state machine
            • Poseidon state machine
        • Unified bridge
          • The rollup manager
          • Sequencing and verification flows
          • Updating rollups
          • Global exit trees
          • Cross-chain exchanges
          • Bridging
        • Smart contracts
          • Main contracts
          • Consensus contracts - sequencing
          • Exit roots
          • Consensus contracts - verification
            • PolygonRollupManager.sol
            • PolygonZkEVMBridgeV2.sol
            • PolygonZkEVMGlobalExitRootV2.sol
                • CDKDataCommittee.sol
                • PolygonDataComittee.sol
                • PolygonDataCommittee.sol
                • PolygonValidiumEtrog.sol
                  • PolygonRollupBaseEtrogNoGap.sol
                  • PolygonValidiumStorageMigration.sol
                • PolygonZkEVMEtrog.sol
                • PolygonZkEVMExistentEtrog.sol
                • PolygonZkEVMV2.sol
                • PolygonZkEVMV2Existent.sol
              • DepositContractBase.sol
              • DepositContractLib.sol
              • DepositContractV2.sol
              • PolygonAccessControlUpgradeable.sol
              • PolygonRollupBaseEtrog.sol
              • PolygonTransparentProxy.sol
              • PolygonZkEVMGlobalExitRootBaseStorage.sol
              • ClaimCompressor.sol
          • Addresses
          • Incentive mechanism
          • Effective gas price
            • Effective gas price strategy
            • User transaction flow
              • RPC transaction flow
              • Sequencer transaction flow
            • Implementing EGP strategy
            • Transaction prioritization
      • Specification
        • Polynomial Identity Language
          • Simple example
          • Modular programs
          • Connection arguments
          • Cyclicity in PIL
          • Filling polynomials
          • Generating proofs
          • Permutation arguments
          • Inclusion arguments
          • Compiling using PILCOM
          • Configuration files
          • PLONK in PIL
          • Public values
        • zkASM
          • Basic Syntax
          • Examples
        • EVM vs. zkEVM
      • Concepts
        • EVM basics
          • Merkle trees
          • Constructing simple SMTs
          • SMT concepts
          • Operations on SMTs
          • Design approach
          • An example
          • Commitment scheme
          • Verification scheme
          • PIL-STARK process
          • PIL-STARK demo
          • Generic SM introduction
          • Execution trace
          • Ending programs
          • Program counter
          • Plookup
        • CIRCOM
    • PoS
      • Overview
        • Migrate to POL
        • Building on PoS
        • Becoming a validator
          • Polygon Portal
          • Ethereum to PoS
          • PoS to Ethereum
          • Submit mapping request
        • State transfer
        • Prerequisites
        • Sync node using snapshots
          • Using binaries
          • Using Docker
          • Using Ansible
          • Using packages
          • Using GCP
          • Validator best practices
          • Using binaries
          • Using Ansible
          • Using packages
          • Next steps
          • Change owner and signer address
          • Top up Heimdall fee
          • Validator performance requirements
        • Run an Erigon archive node
          • Technical FAQs
          • Known issues and errors
          • Reporting issues
            • Genesis contracts
            • Delegation via validator shares
            • Staking manager
          • Rewards and staking incentives
          • Setting Up Telemetry
          • Default ports for nodes
          • Network upgrade process
          • Common commands
          • Seed and bootnodes
          • RPC endpoints
          • PoS mainnet multi-signatures
          • Mapped tokens
        • Governance fundamentals
        • Delegate tokens
        • Overview
          • Introduction
          • State sync
          • Network configuration
          • Introduction
          • Heimdall and Bor
          • Authentication
          • Key management
          • Validation
          • Balance transfers
          • Staking
          • Checkpoints
          • Topup
          • Chain management
          • Governance
          • POL
          • MATIC
          • EIP-1559
          • EIP-4337
          • Meta transactions
    • Developer tools
        • Test token faucets
        • Polygon Portal
          • Overview
          • Create MetaMask wallet
          • Add Polygon network
          • Configure custom tokens
          • Import accounts
          • Interact with a node RPC
            • Hardhat
            • Remix
            • Replit
            • Write a contract
            • Deploy a contract with Foundry
            • Deploy a contract with Hardhat
            • Verify a contract
            • Verify contract with API
            • Verify contract with external plugins
        • Estimate gas fees
          • Introduction
          • Quickstart
          • Frontend
          • Smart contracts
          • Commands
          • Contributing
          • Common pitfalls
          • Overview
          • Usage
          • Venly NFT API
          • Venly Zapier integration
        • Get started
          • POS client
          • API overview
            • Ethers
            • Web3js
          • Set proof API
            • ABI manager
            • Exit util
            • Plugin
          • ERC20
            • approveMax
            • approve
            • deposit
            • getAllowance
            • getBalance
            • isWithdrawExited
            • transfer
            • withdrawExitFaster
            • withdrawExit
            • withdrawStart
          • ERC721
            • approveAll
            • approve
            • depositMany
            • deposit
            • getAllTokens
            • getTokenIdAtIndexForUser
            • getTokensCount
            • isApprovedAll
            • isApproved
            • isWithdrawExitedMany
            • isWithdrawExited
            • transfer
            • withdrawExitFasterMany
            • withdrawExitFaster
            • withdrawExitMany
            • withdrawExit
            • withdrawStartMany
            • withdrawStartWithMetaData
            • withdrawStart
          • ERC1155
            • approveAllForMintable
            • approveAll
            • depositMany
            • deposit
            • getBalance
            • isApprovedAll
            • isWithdrawExitedMany
            • isWithdrawExited
            • transfer
            • withdrawExitFasterMany
            • withdrawExitFaster
            • withdrawExitMany
            • withdrawExit
            • withdrawStartMany
            • withdrawStart
            • Deposit ETH
            • isCheckPointed
            • isDeposited
          • zkEVM client
          • ERC20
          • Message passing
          • Common methods
        • Tutorials
          • Alchemy subgraphs
          • Covalent
          • DipDup
          • Envio
          • Flair
          • Moralis
          • PARSIQ
          • SQD (Subsquid)
          • SubQuery
          • The Graph
          • IPFS
          • Filecoin
          • Crust network
          • Getting started
          • API3
          • Bandchain
          • Band standard dataset
          • Chainlink
          • Chronicle
          • DIA
          • ORA
          • Pyth
          • Razor
          • Supra
          • Tellor
          • UMA optimistic oracle
          • Umbrella
          • Getting started
          • Venly
            • Create Venly wallet
            • Venly wallet API
            • Venly widget
          • Fortmatic
          • Openfort
          • Particle Network
          • Portis
          • Torus
          • WalletConnect
            • Intro
            • AppKit
          • WalletKit
          • OKX explorer
          • Polygon
          • zkEVM
          • zkEVM testnet
    • Innovation & design
      • Welcome
        • Introduction and definitions
          • Run prover quickly
          • Deploy prover on devnet
          • Overview
          • Type 1 design challenges
          • Tests and proving costs
          • CPU component
          • CTL protocol
          • Range checks
      • Plonky 2 & 3
      • Polygon protocols
      • Demystifying reorgs
        • Overview
          • Governance & management
          • Risk management
          • Human resources
          • Infrastructure
          • Software development
          • Smart contracts
          • Vulnerability management
          • Security operations
        • Security reports
        • Bug bounty programs
        • Responsable disclosure
        • Contact us
    • Learn
        • Stack Choice
        • Overview
        • Polynomial Time
        • NP Completeness
        • Cyclic Groups and Generators
        • Learning Resources
        • Overview
        • Trust
        • Exit and Balance Trees
        • A Day in the Life of an AggLayer Transaction
        • Pessimistic Proof
        • Unified Liquidity
        • Overview
        • Overview
        • Notes and Their Features
        • Note Types
        • Overview
          • Understanding and Implementing Milestones
        • Overview
        • Introduction to Plonky3 & Fibonacci Example
        • Constraint Degree, Intermediate Variables & Range Check Example
        • Overview

    Developer tools

    This section describes some of the in-house and third-party tools that are used by developers to work with Polygon products and services.

    Find out how to access data, code against blockchain networks, use oracles, and much more.

    All third-party content in this section is covered by our content disclaimer.

    dApp Launchpad

    Automated CLI tool for initializing, creating, and deploying fully-integrated, web3 dApp projects.

    Chain indexer framework

    Web3 data indexing framework for developing flexible, event-driven data pipelines on EVM blockchains.

    Token faucets

    Different ways to fetch test POL and ETH on Polygon PoS and zkEVM network.

    MaticJS

    The matic.js library used to interact with Polygon networks and services.

    Polygon Portal

    Polygon's asset management dashboard used for bridging and claiming.

    Wallets

    Using Polygon-compatible external wallets, such as MetaMask, with Polygon networks.

    Block explorers

    Links to useful explorers like Polygonscan and OKX explorer.

    Storage

    Interact with blockchain storage services such as IPFS.

    Oracles

    Oracle services used for accessing accurate offline data.

    Previous
    Meta transactions
    Next
    Test token faucets
    Copyright © 2025 Polygon Labs

    Cookie consent

    We use cookies to recognize your repeated visits and preferences, as well as to measure the effectiveness of our documentation and whether users find what they're searching for. With your consent, you're helping us to make our documentation better.