docs.polygon.technology Open in urlscan Pro
2606:4700:4400::ac40:9292  Public Scan

Submitted URL: http://docs.polygon.technology/
Effective URL: https://docs.polygon.technology/
Submission: On June 06 via api from US — Scanned from DE

Form analysis 3 forms found in the DOM

<form class="md-header__option" data-md-component="palette">
  <input class="md-option" data-md-color-media="" data-md-color-scheme="default" data-md-color-primary="white" data-md-color-accent="purple" aria-label="Switch to dark mode" type="radio" name="__palette" id="__palette_1">
  <label class="md-header__button md-icon" title="Switch to dark mode" for="__palette_2">
    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
      <path d="M12 9a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3m0 8a5 5 0 0 1-5-5 5 5 0 0 1 5-5 5 5 0 0 1 5 5 5 5 0 0 1-5 5m0-12.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5Z"></path>
    </svg>
  </label>
  <input class="md-option" data-md-color-media="" data-md-color-scheme="slate" data-md-color-primary="black" data-md-color-accent="purple" aria-label="Switch to light mode" type="radio" name="__palette" id="__palette_2">
  <label class="md-header__button md-icon" title="Switch to light mode" for="__palette_1" hidden="">
    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
      <path d="M12 9a3 3 0 0 1 3 3 3 3 0 0 1-3 3 3 3 0 0 1-3-3 3 3 0 0 1 3-3m0-4.5c5 0 9.27 3.11 11 7.5-1.73 4.39-6 7.5-11 7.5S2.73 16.39 1 12c1.73-4.39 6-7.5 11-7.5M3.18 12a9.821 9.821 0 0 0 17.64 0 9.821 9.821 0 0 0-17.64 0Z"></path>
    </svg>
  </label>
</form>

Name: search

<form class="md-search__form" name="search">
  <input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required="">
  <label class="md-search__icon md-icon" for="__search">
    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
      <path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"></path>
    </svg>
    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
      <path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"></path>
    </svg>
  </label>
  <nav class="md-search__options" aria-label="Search">
    <a href="https://docs.polygon.technology/?q=" class="md-search__icon md-icon" title="Share" aria-label="Share" data-clipboard="" data-clipboard-text="javascript:void(0)" data-md-component="search-share" tabindex="-1">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M18 16.08c-.76 0-1.44.3-1.96.77L8.91 12.7c.05-.23.09-.46.09-.7 0-.24-.04-.47-.09-.7l7.05-4.11c.54.5 1.25.81 2.04.81a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3c0 .24.04.47.09.7L8.04 9.81C7.5 9.31 6.79 9 6 9a3 3 0 0 0-3 3 3 3 0 0 0 3 3c.79 0 1.5-.31 2.04-.81l7.12 4.15c-.05.21-.08.43-.08.66 0 1.61 1.31 2.91 2.92 2.91 1.61 0 2.92-1.3 2.92-2.91A2.92 2.92 0 0 0 18 16.08Z"></path></svg>
</a>
    <button type="reset" class="md-search__icon md-icon" title="Clear" aria-label="Clear" tabindex="-1">
      <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
        <path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"></path>
      </svg>
    </button>
  </nav>
  <div class="md-search__suggest" data-md-component="search-suggest"></div>
</form>

Name: consent

<form class="md-consent__form md-grid md-typeset" name="consent">
  <h4>Cookie consent</h4>
  <p>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.</p>
  <input class="md-toggle" type="checkbox" id="__settings">
  <div class="md-consent__settings">
    <ul class="task-list">
      <li class="task-list-item">
        <label class="task-list-control">
          <input type="checkbox" name="analytics" checked="">
          <span class="task-list-indicator"></span> Google Analytics </label>
      </li>
      <li class="task-list-item">
        <label class="task-list-control">
          <input type="checkbox" name="github" checked="">
          <span class="task-list-indicator"></span> GitHub </label>
      </li>
    </ul>
  </div>
  <div class="md-consent__controls">
    <button class="md-button md-button--primary">Accept</button>
    <label class="md-button" for="__settings">Manage settings</label>
  </div>
</form>

Text Content

Polygon Knowledge Layer
Home

Type to start searching
Polygon Knowledge Layer
 * Home
 * CDK
 * zkEVM
 * PoS
 * Miden
 * Developer tools
 * Innovation & design

Polygon Knowledge Layer
Polygon Knowledge Layer
 * Home
 * CDK
   CDK
    * Overview
    * Version compatibility matrix
    * Build
      Build
       * Deploy and manage a CDK stack
         Deploy and manage a CDK stack
          * Deploy the CDK stack
          * Set up a permissionless node
          * Observability
          * Breakdown the deployment
      
       * How to
         How to
          * Migrate
            Migrate
             * Fork id 7 to 9
             * General guide for partners
         
          * Mint, bridge, and use tokens
          * Integrate a DAC
          * Manage allowlists with policies
          * Quickly test a running stack
          * Connect to CDK testnets
   
    * Architecture
      Architecture
       * CDK rollup
       * CDK validium
       * Unified bridge - STB
   
    * Specification
      Specification
       * Validium vs rollup
   
    * Glossary
      Glossary
    * Additional resources
      Additional resources
       * Third-party guides
       * CDK repos

 * zkEVM
   zkEVM
    * Overview
    * Build
      Build
       * Quick start
       * Setup nodes
         Setup nodes
          * Setup local zkNode
          * Setup production zkNode
          * Deploy zkEVM
            Deploy zkEVM
             * Introduction
             * Environment overview
             * Prerequisites
             * Install dependencies
             * Create wallets
             * Configure node deployment
             * Configure prover
             * Start node
             * Start services
         
          * Sync state with snapshots
      
       * Historical data
   
    * Architecture high-level
      Architecture high-level
       * Overview
       * Smart contracts
         Smart contracts
          * Overview
          * Main contracts
          * Consensus contracts - sequencing
          * Bridging
          * Exit roots
          * API
            API
             * PolygonRollupManager.sol
             * PolygonZkEVMBridgeV2.sol
             * PolygonZkEVMGlobalExitRootV2.sol
             * Consensus
               Consensus
                * Data committee
                  Data committee
                   * CDKDataCommittee.sol
                   * PolygonDataComittee.sol
               
                * Validium
                  Validium
                   * PolygonDataCommittee.sol
                   * PolygonValidiumEtrog.sol
                   * Migration
                     Migration
                      * PolygonRollupBaseEtrogNoGap.sol
                      * PolygonValidiumStorageMigration.sol
               
                * ZkEVM
                  ZkEVM
                   * PolygonZkEVMEtrog.sol
                   * PolygonZkEVMExistentEtrog.sol
                   * PolygonZkEVMV2.sol
                   * PolygonZkEVMV2Existent.sol
            
             * Lib
               Lib
                * DepositContractBase.sol
                * DepositContractLib.sol
                * DepositContractV2.sol
                * PolygonAccessControlUpgradeable.sol
                * PolygonRollupBaseEtrog.sol
                * PolygonTransparentProxy.sol
                * PolygonZkEVMGlobalExitRootBaseStorage.sol
            
             * Utils
               Utils
                * ClaimCompressor.sol
         
          * Addresses
   
    * Architecture low-level
      Architecture low-level
       * Upgrades
         Upgrades
          * Etrog upgrade
      
       * Effective gas price
         Effective gas price
          * Effective gas price strategy
          * User transaction flow
            User transaction flow
             * RPC transaction flow
             * Sequencer transaction flow
         
          * Implementing EGP strategy
          * Transaction prioritization
      
       * zkEVM protocol
         zkEVM protocol
          * State management
          * Transaction life cycle
            Transaction life cycle
             * Submit transactions
             * Transaction execution
             * Transaction batching
             * Batch sequencing
             * Batch aggregation
         
          * Sequencing batches
          * Incentive mechanism
          * Protocol upgradability
          * Admin role and governance
          * Upgrade process
          * Security council
          * Malfunction resistance
            Malfunction resistance
             * Force batches
             * Force verification
             * Emergency state
         
          * Unified bridge
            Unified bridge
             * History of the unified bridge
             * The rollup manager
             * Sequencing and verification flows
             * Updating rollups
             * Global exit trees
             * Cross-chain exchanges
      
       * zkNode
       * Data streamer
         Data streamer
          * Overall design
          * Data streamer protocols
          * Bookmarks
          * Protocol messages
          * Stream file
          * How rollbacks work
      
       * The proving system
         The proving system
          * Introduction
          * Executor
          * Polynomial identity language
          * Execution trace design
          * Selector columns
          * zkEVM and execution traces
          * Using lookup tables
          * Recapitulation
      
       * zkProver
         zkProver
          * Main state machine
            Main state machine
             * As a processor
         
          * STARK recursion
            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
            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
            Hashing state machines
             * Keccak framework
             * Padding-kk state machine
             * Padding-kk-bit state machine
             * Bits2Field state machine
             * Keccak-f state machine
             * Poseidon state machine
   
    * Specification
      Specification
       * Polynomial Identity Language
         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
         zkASM
          * Basic Syntax
          * Examples
      
       * EVM vs. zkEVM
   
    * API
      API
       * JSON RPC endpoints
       * Check transaction status
   
    * Concepts
      Concepts
       * EVM basics
       * Sparse merkle trees
         Sparse merkle trees
          * Merkle trees
          * Constructing simple SMTs
          * SMT concepts
          * Operations on SMTs
      
       * mFibonnaci state machine
         mFibonnaci state machine
          * Design approach
          * An example
          * Commitment scheme
          * Verification scheme
          * PIL-STARK process
          * PIL-STARK demo
      
       * Generic state machine
         Generic state machine
          * Generic SM introduction
          * Execution trace
          * Ending programs
          * Program counter
          * Plookup
      
       * CIRCOM
   
    * Troubleshooting
      Troubleshooting
       * Disclosures

 * PoS
   PoS
    * Overview
    * Get started
      Get started
       * Building on Polygon
       * Becoming a validator
   
    * Builder how-tos
      Builder how-tos
       * Bridge layers
         Bridge layers
          * Ethereum-Polygon
            Ethereum-Polygon
             * Ethereum to MATIC
             * MATIC to Ethereum
             * Submit mapping request
         
          * L1-L2 communication
            L1-L2 communication
             * State transfer
      
       * Integrate Polygon DID
   
    * Node how-tos
      Node how-tos
       * Delegate tokens
       * Sync node using snapshots
       * Run a validator node
         Run a validator node
          * System requirements
          * Prerequisites
          * Using binaries
          * Using Ansible
          * Using packages
      
       * Operate validator nodes
         Operate validator nodes
          * Validator best practices
          * Stake tokens
          * Set commission rate
          * Change signer address
          * Top up Heimdall fee
          * Validator performance requirements
      
       * Run a full node
         Run a full node
          * System requirements
          * Using binaries
          * Using Docker
          * Using Ansible
          * Using packages
          * Using GCP
      
       * Run an access node
       * Run an Erigon archive node
       * Troubleshoot nodes
         Troubleshoot nodes
          * Technical FAQs
          * Known issues and errors
          * Reporting issues
   
    * Governance
      Governance
       * Governance fundamentals
   
    * Architecture
      Architecture
       * Bor
         Bor
          * State sync
          * Network configuration
          * Commands
      
       * Heimdall
         Heimdall
          * Heimdall and Bor
          * Authentication
          * Key management
          * Validation
          * Balance transfers
          * Staking
          * Checkpoints
          * Topup
          * Chain management
          * Governance
   
    * Reference
      Reference
       * Contracts
         Contracts
          * Genesis contracts
          * Delegation via validator shares
          * Staking manager
      
       * Rewards and staking incentives
       * Default ports for nodes
       * Common commands
       * Node errors
       * RPC endpoints
       * PoS mainnet multi-signatures
       * Mapped tokens
   
    * Concepts
      Concepts
       * Tokens
         Tokens
          * POL
          * MATIC
      
       * Transactions
         Transactions
          * EIP-1559
          * EIP-4337
          * Meta-transactions

 * Miden
   Miden
    * Miden base
      Miden base
       * Get started
         Get started
          * Prerequisite steps
          * Create account and use the faucet
          * Private peer-to-peer off-chain txs
          * Public peer-to-peer note transactions
      
       * Roadmap
       * Miden architecture
         Miden architecture
          * Overview
          * Accounts
          * Notes
          * Assets
          * Transactions
            Transactions
             * Transactions overview
             * Transaction execution
             * Transaction kernel
             * Transaction contexts
             * Transaction procedures
         
          * State
          * Execution
      
       * Network
   
    * Miden client
      Miden client
       * Overview
         Overview
          * Features
      
       * Get started
         Get started
          * Design
          * Install and run
      
       * Miden CLI
         Miden CLI
          * Configuration
          * Reference
      
       * Using the client library
       * Examples

 * Developer tools
   Developer tools
    * dApp development
      dApp development
       * dApp Launchpad
         dApp Launchpad
          * Introduction
          * Quickstart
          * Frontend
          * Smart contracts
          * Commands
          * Contributing
          * Common pitfalls
      
       * Smart contract development
         Smart contract development
          * PoS
            PoS
             * Hardhat
             * Remix
             * Replit
         
          * zkEVM
            zkEVM
             * Write a contract
             * Deploy a contract with Foundry
             * Deploy a contract with Hardhat
             * Verify a contract
      
       * Third-party tutorials
   
    * Popular tools
      Popular tools
       * OKX explorer
         OKX explorer
          * Verify contract with API
          * Verify contract with external plugins
      
       * Venly
         Venly
          * NFT API
          * Zapier integration
   
    * Chain indexer framework
      Chain indexer framework
       * Overview
       * Usage
   
    * Gas
      Gas
       * Polygon MATIC faucet
       * Polygon gas station
   
    * Data
      Data
       * Alchemy subgraphs
       * Covalent
       * Envio
       * Flair
       * Moralis
       * PARSIQ
       * SubQuery
   
    * Matic.js
      Matic.js
       * Installation
       * Get started
       * POS
         POS
          * POS client
          * API overview
          * Setup
            Setup
             * Ethers
             * Web3js
         
          * Set proof API
          * Advanced
            Advanced
             * ABI manager
             * Exit util
             * Plugin
         
          * ERC20
            ERC20
             * approveMax
             * approve
             * deposit
             * getAllowance
             * getBalance
             * isWithdrawExited
             * transfer
             * withdrawExitFaster
             * withdrawExit
             * withdrawStart
         
          * ERC721
            ERC721
             * approveAll
             * approve
             * depositMany
             * deposit
             * getAllTokens
             * getTokenIdAtIndexForUser
             * getTokensCount
             * isApprovedAll
             * isApproved
             * isWithdrawExitedMany
             * isWithdrawExited
             * transfer
             * withdrawExitFasterMany
             * withdrawExitFaster
             * withdrawExitMany
             * withdrawExit
             * withdrawStartMany
             * withdrawStartWithMetaData
             * withdrawStart
         
          * ERC1155
            ERC1155
             * approveAllForMintable
             * approveAll
             * depositMany
             * deposit
             * getBalance
             * isApprovedAll
             * isWithdrawExitedMany
             * isWithdrawExited
             * transfer
             * withdrawExitFasterMany
             * withdrawExitFaster
             * withdrawExitMany
             * withdrawExit
             * withdrawStartMany
             * withdrawStart
         
          * Common methods
            Common methods
             * Deposit ETH
             * isCheckPointed
             * isDeposited
      
       * zkEVM
         zkEVM
          * zkEVM client
          * ERC20
          * Message passing
          * Common methods
   
    * Storage
      Storage
       * IPFS
       * Filecoin
       * Crust network
   
    * Oracles
      Oracles
       * Getting started
       * API3
       * Bandchain
       * Band standard dataset
       * Chainlink
       * DIA
       * Pyth
       * Razor
       * Supra
       * Tellor
       * UMA optimistic oracle
       * Umbrella
   
    * Wallets
      Wallets
       * Getting started
       * Polygon Portal
       * MetaMask
         MetaMask
          * Create MetaMask wallet
          * Add Polygon network
          * Configure custom tokens
          * Import accounts
      
       * Venly
         Venly
          * Create Venly wallet
          * Venly wallet API
          * Venly widget
      
       * Fortmatic
       * Openfort
       * Particle network
       * Portis
       * Torus
       * WalletConnect
       * WalletKit
       * Web3Modal
   
    * Block explorers
      Block explorers
       * OKX explorer
       * Polygon
       * zkEVM
       * zkEVM testnet

 * Innovation & design
   Innovation & design
    * Welcome
    * Polygon type 1 prover
      Polygon type 1 prover
       * Introduction and definitions
       * How to
         How to
          * Run prover quickly
          * Deploy prover on devnet
      
       * Architecture
         Architecture
          * Overview
          * Type 1 design challenges
          * Tests and proving costs
      
       * Specification
         Specification
          * CPU component
          * CTL protocol
          * Range checks
   
    * Plonky 2 & 3
    * Polygon protocols
    * Demystifying reorgs




THE POLYGON KNOWLEDGE LAYER

Welcome to the technical documentation and knowledge resources for Polygon
protocols and scaling technologies.

Learn how to build and deploy dApps, launch ZK rollups and validiums as Layer 2s
on Ethereum, spin up nodes, and find out about the latest in zero-knowledge
research.




BUILD

Build today using Polygon technology. Select the protocol that best fits your
needs.

Polygon PoS

LIVE

Deploy a dApp on the widely adopted Polygon Proof-of-Stake protocol, an
EVM-compatible environment optimized for high throughput and low transaction
fees.

Polygon zkEVM

LIVE

Deploy a dApp or build infrastructure on zkEVM, an EVM-equivalent ZK rollup
designed for security.

Polygon CDK

LIVE

Build and test a zero-knowledge Layer 2 blockchain on Ethereum. Learn about
validium and rollup modes, custom native gas tokens, and more.

Polygon Miden

COMING SOON

Test the Miden VM and learn about Polygon Miden, the novel ZK rollup designed to
extend the EVM’s feature-set, including for privacy.

Polygon Edge

DEPRECATING

Polygon will shortly be removing support for Edge. The documentation is now
managed in the Edge repo.


LEARN

Deep dives only. Further your understanding of Polygon scaling technology.


Innovation & design


Resources focused on both current and future Polygon technologies. It features
detailed guides, foundational concepts, and previews of upcoming innovations.

Type 1 prover


The Polygon type 1 proving component used for creating proofs on your ZK-EVM
chain.

AggLayer


Introducing the multi-chain, multi-transaction Polygon Agg Layer; what it is and
how it works.

Plonky 2 & 3


Keep up with our latest cryptographic developments with the Plonky 2 & 3
libraries.

Polygon protocols


The Polygon protocol that’s best for you. A guide and decision matrix designed
to empower users to navigate the evolving world of decentralization.


DEVELOPER RESOURCES

For developers who know what they want to build and are ready to go.

Developer tools


RPC providers, faucets, data indexing, Web3 dApp development SDKs, block
explorers, storage, and more.

Write a zkEVM contract


Step-by-step guidance for writing smart contracts with zkEVM.

Solution Provider Network


Searchable catalog of tooling and infrastructure for developers.


QUICKSTART

Are you ready to start building?

Polygon CDK: Deploy a local test rollup

Polygon zkEVM: Deploy a smart contract to the Goerli testnet

Polygon PoS: Build a new web3 dApp

Polygon PoS: Deploy an existing contract

Polygon zkEVM: Set up a zkNode

Polygon CDK: Create your own validium

Polygon Miden: Explore the sandbox

Back to top
Next
CDK

Copyright © 2024 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.

 * Google Analytics
 * GitHub

Accept Manage settings