What is OP_NET?
OP_NET brings smart contracts, tokens, and NFTs directly to Bitcoin-using only Bitcoin’s existing rules. No extra blockchains, no wrapped coins, no risky bridges.
Think of Bitcoin as a global, permissionless money network. OP_NET adds a way to run small programs on that network so you can:
- Create tokens (e.g., stablecoins, loyalty points)
- Mint NFTs (digital art, collectibles)
- Build dApps (games, marketplaces, DeFi)
Why OP_NET?
- Pure Bitcoin: Everything happens on Bitcoin. Your BTC stays BTC.
- Rock-solid security: Leverages Bitcoin’s battle-tested consensus.
- Clean UTXOs: Miners automatically remove unused data—no clutter.
- Familiar tooling: Write contracts in TypeScript via WebAssembly (Wasm).
How It Works
At its core, OP_NET uses Bitcoin’s existing transaction format and a special SegWit v16 address type (P2OP) to host WebAssembly (Wasm) smart contracts. Here’s what happens under the hood:
- Contract Deployment: Your compiled Wasm code is embedded in a P2OP output—this lives on-chain just like any Bitcoin transaction.
- Off-Chain Execution: The
opnet-node
daemon fetches P2OP outputs, runs the Wasm logic in a sandboxed environment, and tracks contract state securely. - State Commitment: After execution, any state changes or asset movements are submitted back to Bitcoin as standard transactions, ensuring every update is anchored by Bitcoin miners without altering consensus.
This approach means all contract logic remains trustless (via deterministic Wasm) while piggybacking on Bitcoin’s security model and UTXO architecture.
P2OP Addresses
P2OP (Pay‑to‑OPNet) is a new Bitcoin address type used to store and reference smart contracts (addresses start with op1...):
- Address format: Starts with
op1...
- Anyone‑can‑spend: Bitcoin treats P2OP outputs as anyone-can-spend, while off-chain logic enforces access control
- Automatic cleanup: Miners drop spent P2OP UTXOs to prevent chain bloat
- Future-proof: Fully compatible with upcoming Bitcoin soft forks
Smart Contracts on OP_NET
Smart contracts on OP_NET are:
-
Written in AssemblyScript (TypeScript subset)
-
Compiled to WebAssembly (Wasm) modules
-
Deployed on-chain by embedding the Wasm bytecode in a P2OP output
-
Executed off-chain by the
opnet-node
runtime, which:- Loads the Wasm module for each contract UTXO
- Runs contract methods deterministically
- Tracks and persists contract state (key/value store)
Contracts can store data, transfer assets, and invoke other contracts, all while ensuring every node arrives at the same result.
Tokens on OP_NET
OP_NET standardizes fungible tokens with the OP_20 standard, similar to Ethereum’s ERC-20:
- Mint, transfer, burn functions
- Allowance & approval mechanisms
- Sats-backed: Tokens can represent, lock, or wrap sats directly
- Composable: Tokens can integrate seamlessly into DeFi dApps on OP_NET
Is OP_NET a Layer 2?
No. OP_NET is not a Layer 2, sidechain, or rollup:
- No new consensus: All execution and validation stay within Bitcoin’s consensus rules
- No bridges or wrapped assets: BTC remains BTC at all times
- UTXO-native: Uses standard Bitcoin transaction formats and outputs
Your apps run directly on Bitcoin, inheriting its security without adding novel trust assumptions.
Security Model
- Bitcoin Consensus: Miners verify only Bitcoin scripts and P2OP outputs-no protocol changes
- Deterministic Execution: Wasm ensures identical behavior across all nodes
- State Verification:
opnet-node
nodes re-run contract logic locally to confirm state transitions - Open & Auditable: All Wasm bytecode lives on-chain in transparent P2OP outputs
Who Is OP_NET For?
- Bitcoin users who want tokens and apps without trust risks.
- Developers familiar with JavaScript/TypeScript, looking to tap into Bitcoin’s security.
- Businesses seeking to launch tokenized products on a proven blockchain.
Unlock The Full Potential Of Bitcoin with OP_NET