Polygon Knowledge Layer
PoS
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

    Polygon PoS

    Polygon PoS is an EVM-compatible, proof-of-stake sidechain for Ethereum, with high throughput and low costs.


    Get started with PoS

    Get started with building on Polygon PoS.

    Run a PoS node

    Find out the differences between types of PoS nodes and how to set up, run, and deploy them.

    PoS architecture

    Find out about the PoS architecture and its Heimdall and Bor layers.

    Previous
    CIRCOM
    Next
    Overview
    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.