Documentation
Home
Documentation
IDE
Documentation
Getting Started
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
Addresses, Wallets and Messages Signing
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
OP_NET Client Library
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
Frontend Integration
Setting Up Your Environment
React (Vite)
Basic examples
Wallet Integration
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
Writing smart contracts
Documentation
Github Documentation
Examples and Tutorials
Getting Started Examples
GitHub Examples
Token Standards
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
Epochs and Mining
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
OP_NET Node
Setting Up a Node
Installation Guide
Configuration
Audit Reports
Verichain Reports
ABI System
Understanding ABIs
GitHub Documentation
Data Encoding
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
Getting Started
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
Addresses, Wallets and Messages Signing
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
OP_NET Client Library
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
Frontend Integration
Setting Up Your Environment
React (Vite)
Basic examples
Wallet Integration
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
Writing smart contracts
Documentation
Github Documentation
Examples and Tutorials
Getting Started Examples
GitHub Examples
Token Standards
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
Epochs and Mining
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
OP_NET Node
Setting Up a Node
Installation Guide
Configuration
Audit Reports
Verichain Reports
ABI System
Understanding ABIs
GitHub Documentation
Data Encoding
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
Launch Playground
Select Category