OP_NET Documentation
Home Documentation IDE
Documentation

Introduction to OP_NET
  • What is Bitcoin?
  • Key Concepts and Terminology
  • What is OP_NET?
  • How OP_NET Extends Bitcoin
  • Detailed Architecture
  • Bitcoin Smart Contracts Explained
Quick Start Guide
  • Installing the Libraries
  • Setting Up TypeScript
  • Configuring Your Environment
  • Your First Contract Interaction
  • Browser vs Node.js Usage
Core Concepts
  • Understanding the Protocol Design
  • Transaction Types Explained
  • How Gas Works on Bitcoin
  • Fee Calculation Methods
  • Consensus and Block Production
  • OP_NET vs Metaprotocols
FAQ
  • Technical FAQ

Fundamentals
  • Bitcoin vs Ethereum Address Philosophy
  • How Private Keys Generate All Addresses
  • Bitcoin Addresses
  • Quantum Support
  • Package Requirements
  • Mnemonic
  • Wallet Management
  • Address Class
  • Address Verification
  • Message signing
Legacy Addresses (P2PKH)
  • Introduction
  • Transaction Structure
  • Using P2PKH
Script Hash Addresses (P2SH)
  • Introduction
  • Transaction Structure
  • Using P2SH
Native SegWit (P2WPKH)
  • Introduction
  • Transaction Structure
  • Using P2WPKH
Witness Script Hash (P2WSH)
  • Introduction
  • Transaction Structure
  • Using P2WSH
Taproot Addresses (P2TR)
  • Introduction
  • Merklized Alternative Script Trees
  • Transaction Structure
  • Using P2TR
OP_NET Contract Addresses (P2OP)
  • Introduction
  • Using P2OP
Witness Data Authentication (P2WDA)(Experimental)
  • Introduction
  • Technical Architecture
  • Economics
  • Operational Capabilities
  • Advanced Considerations

Audit Reports
  • Verichain Reports
Using the OP_NET Client Library
  • Installing the Library
  • Architecture
Understanding Providers
  • What Providers Do
  • Choosing the Right Provider
  • Choosing a Network
JSON-RPC Provider
  • Setting Up HTTP Connections
  • Choosing a Network
  • Handling Request Batching
  • Configuring JSON RPC
  • Caching JSON Provider
Smart Contract Interactions
  • Import ABI and Contract Types
  • Instantiating a Contract
  • Simulating a Call
  • Simulating Transaction
Working with Bitcoin
  • Get Address Balance
  • Get Multiple Balances
  • Fetch UTXOs for an Address
  • Optimize UTXO Selection
  • Sending Bitcoin
  • Batch payment (splitting UTXOs)
  • UTXO Consolidation
Working with Blocks
  • Get the Current Block Height
  • Fetch a Block
  • Fetch Multiple Blocks at Once
Working with Transactions
  • Fetch a Transaction
  • Get Transaction Receipts
  • Broadcasting Transactions
Working with Public Keys
  • Get Unified Addresses
  • Fetch Multiple Keys

Setting Up Your Environment
  • React (Vite)
Basic examples

    About Wallet
    • Introduction
    • Supported Wallet
    • Provider Injection
    Using WalletConnect
    • Introduction
    • Installation
    • Wallet Detection
    • Managing Session
    • WalletConnect Context
    • Using walletInstance
    • Event Management
    • Connecting
    • Disconnecting
    • Getting Balances
    • Getting Wallets Information
    • Getting Network Information
    • Switching Networks
    • Switching Accounts
    • Signing and Sending Transactions
    • Signing Messages
    OP_WALLET Guide
    • Setting Up OP_WALLET
    • Usage
    Implementing new Wallet
    • Introduction
    • Auto Detection
    • Connecting and Disconnecting
    • Utility Functions
    • Wallet Hooks
    • Last Steps
    • Full Example
    Hardware Wallet Support
    • Integration Points
    • Security Best Practices

    Documentation
    • Github Documentation

    Getting Started Examples
    • GitHub Examples

    OP-20 Tokens
    • Introduction
    • Token Metadata
    • Creating Tokens
    • Allowance
    • Allowance by Signatures
    • Transfer Operations
    • OP-20 Implementation
    • OP-20 Standard
    OP_721 NFTs
    • Minting NFTs
    • Transfer Methods
    • Approval Management
    • Token URIs
    • Collection Metadata
    • Reservation System

    Understanding Epochs
    • About Epochs
    • Mining Process
    Challenge System
    • Getting Challenges
    • Calculating Solutions
    • Verifying Solutions
    • Difficulty Adjustment
    Submitting Solutions
    • Preparing Submissions
    • Signature Requirements
    • Validation Process
    • Reward System

    Setting Up a Node
    • Installation Guide
    • Configuration
    Audit Reports
    • Verichain Reports

    Understanding ABIs
    • GitHub Documentation

    Binary Operations
    • Reading Binary Data
    • Writing Binary Data
    • Buffer Management
    • Endianness Handling
    Type Encoding
    • Encoding Primitives
    • Encoding Arrays
    • Encoding Structures
    • Custom Types
    Address Operations
    • Address Maps
    • Address Sets
    • Deterministic Collections
    • Iterator Support
    Documentation
    Introduction to OP_NET
    • What is Bitcoin?
    • Key Concepts and Terminology
    • What is OP_NET?
    • How OP_NET Extends Bitcoin
    • Detailed Architecture
    • Bitcoin Smart Contracts Explained
    Quick Start Guide
    • Installing the Libraries
    • Setting Up TypeScript
    • Configuring Your Environment
    • Your First Contract Interaction
    • Browser vs Node.js Usage
    Core Concepts
    • Understanding the Protocol Design
    • Transaction Types Explained
    • How Gas Works on Bitcoin
    • Fee Calculation Methods
    • Consensus and Block Production
    • OP_NET vs Metaprotocols
    FAQ
    • Technical FAQ
    Fundamentals
    • Bitcoin vs Ethereum Address Philosophy
    • How Private Keys Generate All Addresses
    • Bitcoin Addresses
    • Quantum Support
    • Package Requirements
    • Mnemonic
    • Wallet Management
    • Address Class
    • Address Verification
    • Message signing
    Legacy Addresses (P2PKH)
    • Introduction
    • Transaction Structure
    • Using P2PKH
    Script Hash Addresses (P2SH)
    • Introduction
    • Transaction Structure
    • Using P2SH
    Native SegWit (P2WPKH)
    • Introduction
    • Transaction Structure
    • Using P2WPKH
    Witness Script Hash (P2WSH)
    • Introduction
    • Transaction Structure
    • Using P2WSH
    Taproot Addresses (P2TR)
    • Introduction
    • Merklized Alternative Script Trees
    • Transaction Structure
    • Using P2TR
    OP_NET Contract Addresses (P2OP)
    • Introduction
    • Using P2OP
    Witness Data Authentication (P2WDA)(Experimental)
    • Introduction
    • Technical Architecture
    • Economics
    • Operational Capabilities
    • Advanced Considerations
    Audit Reports
    • Verichain Reports
    Using the OP_NET Client Library
    • Installing the Library
    • Architecture
    Understanding Providers
    • What Providers Do
    • Choosing the Right Provider
    • Choosing a Network
    JSON-RPC Provider
    • Setting Up HTTP Connections
    • Choosing a Network
    • Handling Request Batching
    • Configuring JSON RPC
    • Caching JSON Provider
    Smart Contract Interactions
    • Import ABI and Contract Types
    • Instantiating a Contract
    • Simulating a Call
    • Simulating Transaction
    Working with Bitcoin
    • Get Address Balance
    • Get Multiple Balances
    • Fetch UTXOs for an Address
    • Optimize UTXO Selection
    • Sending Bitcoin
    • Batch payment (splitting UTXOs)
    • UTXO Consolidation
    Working with Blocks
    • Get the Current Block Height
    • Fetch a Block
    • Fetch Multiple Blocks at Once
    Working with Transactions
    • Fetch a Transaction
    • Get Transaction Receipts
    • Broadcasting Transactions
    Working with Public Keys
    • Get Unified Addresses
    • Fetch Multiple Keys
    Setting Up Your Environment
    • React (Vite)
    Basic examples
      About Wallet
      • Introduction
      • Supported Wallet
      • Provider Injection
      Using WalletConnect
      • Introduction
      • Installation
      • Wallet Detection
      • Managing Session
      • WalletConnect Context
      • Using walletInstance
      • Event Management
      • Connecting
      • Disconnecting
      • Getting Balances
      • Getting Wallets Information
      • Getting Network Information
      • Switching Networks
      • Switching Accounts
      • Signing and Sending Transactions
      • Signing Messages
      OP_WALLET Guide
      • Setting Up OP_WALLET
      • Usage
      Implementing new Wallet
      • Introduction
      • Auto Detection
      • Connecting and Disconnecting
      • Utility Functions
      • Wallet Hooks
      • Last Steps
      • Full Example
      Hardware Wallet Support
      • Integration Points
      • Security Best Practices
      Documentation
      • Github Documentation
      Getting Started Examples
      • GitHub Examples
      OP-20 Tokens
      • Introduction
      • Token Metadata
      • Creating Tokens
      • Allowance
      • Allowance by Signatures
      • Transfer Operations
      • OP-20 Implementation
      • OP-20 Standard
      OP_721 NFTs
      • Minting NFTs
      • Transfer Methods
      • Approval Management
      • Token URIs
      • Collection Metadata
      • Reservation System
      Understanding Epochs
      • About Epochs
      • Mining Process
      Challenge System
      • Getting Challenges
      • Calculating Solutions
      • Verifying Solutions
      • Difficulty Adjustment
      Submitting Solutions
      • Preparing Submissions
      • Signature Requirements
      • Validation Process
      • Reward System
      Setting Up a Node
      • Installation Guide
      • Configuration
      Audit Reports
      • Verichain Reports
      Understanding ABIs
      • GitHub Documentation
      Binary Operations
      • Reading Binary Data
      • Writing Binary Data
      • Buffer Management
      • Endianness Handling
      Type Encoding
      • Encoding Primitives
      • Encoding Arrays
      • Encoding Structures
      • Custom Types
      Address Operations
      • Address Maps
      • Address Sets
      • Deterministic Collections
      • Iterator Support