A curated encyclopedia of OPNET — the Bitcoin-native smart contract metaprotocol. Resources, tools, dApps, SDKs, and developer references, organized for both humans and LLMs.
Want to add something? See CONTRIBUTING.md.
- What is OPNET?
- Official Links
- Networks & RPC
- Block Explorers
- Wallets & Faucet
- Token Standards
- DEXes & DeFi
- Mainnet Contract Addresses
- Official SDKs & Packages
- Smart Contract Development
- Infrastructure
- Ecosystem & dApps
- Community & Social
- Media & Coverage
- Deep Dives
- Troubleshooting
OPNET is a consensus layer on Bitcoin L1 that enables fully expressive smart contracts, DeFi, and post-quantum security — directly on Bitcoin, with no sidechains, bridges, or rollups.
It is a metaprotocol built on Bitcoin's Taproot/SegWit stack. Smart contracts are written in AssemblyScript, compiled to WebAssembly (WASM), and deployed via Tapscript-encoded Bitcoin transactions. All fees are paid in native BTC. There is no separate protocol token.
Mainnet launched: March 19, 2026 — Block 941,400
Key properties at a glance:
| Property | Value |
|---|---|
| Language | AssemblyScript → WASM |
| VM | WebAssembly (Rust-based op-vm) |
| Hash function | SHA-256 (not keccak-256) |
| Signatures | ECDSA + ML-DSA (post-quantum) |
| Block time | ~10 minutes (Bitcoin L1) |
| Protocol token | None — all fees in native BTC |
| Deployment | Two-phase Taproot tx (funding + reveal) |
→ Full protocol overview: docs/protocol.md
| Resource | URL |
|---|---|
| Website | https://opnet.org |
| Documentation | https://docs.opnet.org |
| GitHub Organization | https://github.com/btc-vision |
| Block Explorer | https://opscan.org |
| MotoSwap DEX | https://motoswap.org |
| OPTools | https://optools.org |
| AI Dev Assistant (Bob) | https://ai.opnet.org |
| DeFi Bible | https://defibible.org |
| Network | RPC Endpoint |
|---|---|
| Mainnet | https://mainnet.opnet.org |
| Testnet | https://testnet.opnet.org |
The environment variable OPNET_RPC_URL is the standard override across all tooling.
→ Full networks reference: docs/networks.md
| Name | URL | Network |
|---|---|---|
| OpScan | https://opscan.org | Mainnet |
| OpScan | https://testnet.opscan.org | Testnet |
| Transaction Explorer | https://transaction.opnet.org | Mainnet |
| Mempool Explorer | https://github.com/btc-vision/mempool-opnet | Self-hosted |
| Resource | URL |
|---|---|
| OP_WALLET (browser extension) | Install via docs.opnet.org |
| Testnet Faucet | https://faucet.opnet.org/ |
→ Wallet & key concepts: docs/wallets.md
| Standard | Description | Status |
|---|---|---|
| OP-20 | Fungible token standard (ERC-20 equivalent). Uses increaseAllowance() instead of approve(). |
Live |
| OP-721 | Non-fungible token standard (ERC-721 equivalent). | Live |
| OP-20S | Stablecoin extension of OP-20. | Expected Q2 2026 |
→ Full token standards reference: docs/token-standards.md
| Protocol | Type | URL |
|---|---|---|
| NativeSwap | BTC ↔ OP-20 AMM (2-phase swaps, no wrapped BTC) | github.com/btc-vision/native-swap |
| Motoswap | OP-20/OP-20 AMM (Uniswap V2 style, MOTO as hub) | https://motoswap.org |
| MotoChef | LP staking & MOTO farming rewards | (deployed on mainnet) |
→ Full DeFi mechanics: docs/defi.md
| Contract | Address |
|---|---|
| NativeSwap | op1sqzjrvunc39nahkr6a0d4vx7rjdfjfc7qtqhp9wks |
| Motoswap Factory | op1sqpud62qd6gewyz4vd8x6lyrtwv6dkrd8n56j5ujw |
| MotoChef (staking) | op1sqq9axjh9mm03sz962n5dvgfae0pnvwr0zvzhm28r |
| MOTO Token | 0x0a6732489a31e6de07917a28ff7df311fc5f98f6e1664943ac1c3fe7893bdab5 |
OPNET addresses appear in two equivalent forms: Bech32m (
op1sq...) and 32-byte hex (0x...). Convert between them with thegetPublicKeysInfoRawRPC method.
→ Full address reference: docs/addresses.md
| Package | npm | Description |
|---|---|---|
opnet |
npmjs.com/package/opnet | Primary SDK — JSONRpcProvider, contract calls, ABI. Audited by Verichains. |
@btc-vision/btc-runtime |
github.com/btc-vision/btc-runtime | AssemblyScript runtime for writing contracts |
@btc-vision/transaction |
npmjs.com/package/@btc-vision/transaction | Transaction building & broadcasting |
@btc-vision/bitcoin |
npmjs.com/package/@btc-vision/bitcoin | Bitcoin primitives — keys, addresses, UTXOs |
@btc-vision/walletconnect |
github.com/btc-vision/walletconnect | WalletConnect integration for OP_WALLET |
@btc-vision/unit-test-framework |
github.com/btc-vision/unit-test-framework | Smart contract test runner |
# dApp / backend development
npm install opnet @btc-vision/transaction @btc-vision/bitcoin
# Smart contract development
npm install @btc-vision/btc-runtime @btc-vision/unit-test-framework→ Full SDK reference: docs/sdks.md
Contracts are written in AssemblyScript and compiled to WASM using @btc-vision/btc-runtime.
Key differences from Solidity / EVM:
| Concept | Ethereum | OPNET |
|---|---|---|
| Language | Solidity | AssemblyScript |
| Compile target | EVM bytecode | WASM |
| Hashing | keccak-256 | SHA-256 |
| Signatures | ECDSA | ECDSA + ML-DSA (quantum-resistant) |
| Deployment | Single tx | Two-phase Taproot (funding + reveal) |
| Storage | Slot-based | Pointer-based (Blockchain.nextPointer) |
| Token approval | approve() |
increaseAllowance() |
| Constructor | Runs once | Runs on every interaction |
| Block time | ~12 s | ~10 min |
Official resources:
- btc-vision/btc-runtime — runtime library with base classes
- btc-vision/unit-test-framework — test runner
- btc-vision/example-tokens — reference OP-20 implementations
- btc-vision/indexer-demo — demo indexer showing how to read OPNET contract events and state
- docs.opnet.org — official developer documentation
- bc1plainview/buidl-opnet-plugin — Claude Code plugin (
/buidl "idea") that orchestrates multi-agent spec, contract, frontend, security audit, testnet deploy, and E2E testing in one command
Community resources:
- memoriesadrift/opnet-starter-template — starter template with contracts, unit tests, and integration tests
→ Full contract development guide: docs/contracts.md
| Repository | Description |
|---|---|
| btc-vision/opnet-node | Full OPNET node implementation |
| btc-vision/op-vm | Rust WebAssembly VM for contract execution |
| btc-vision/mempool-opnet | Self-hostable mempool explorer |
| btc-vision/native-swap | NativeSwap contract source |
| btc-vision/motoswap | Motoswap DEX contract source |
| mwaddip/otzi | Post-quantum T-of-N multisig vault — distributed ML-DSA + FROST threshold signing for OPNet transactions |
Community-built projects on OPNET:
| Project | URL | Description |
|---|---|---|
| OPNet Hub | https://vibecode.finance | All-in-one dashboard — token launcher, DEX UI, epoch miner, 26+ dApp directory |
| BlockFeed | https://blockfeed.online/docs | Public OPNET data API — REST/GraphQL/WebSocket, 35+ endpoints, no API key |
| Tenero | https://tenero.io | Real-time Bitcoin DeFi analytics — token, DEX, and wallet tracking with live BTC market data across Bitcoin ecosystems |
| OpGuard (experimental) | https://opguard-production-5676.up.railway.app | OP-20 token security auditor — static analysis and audit tooling for OPNET smart contracts |
| OpFlow (experimental) | https://opflow-production.up.railway.app | OPNet token analytics — on-chain data and charts for tokens deployed on Bitcoin L1 |
| BlockHost | blockhost.io | Decentralized VM hosting with crypto-native payments and wallet-based auth — OPNET engine handles on-chain subscriptions and NFT-gated access |
| SATSX | https://satx.io | OP-721 NFT marketplace and OP-20 token swap — list, buy, and trade Bitcoin-native assets with BTC as gas, no bridges |
| op-bet | https://mint.op-bet.xyz/ | On-chain betting dApp |
| DeFiSloth | https://defisloth.com | Bitcoin Layer 1 DeFi analytics — TVL tracking, token and DEX data for OPNET |
| CatPound | https://catpound.org | Auto-compounder on OPNET — automated yield compounding for multiple tokens and LP rewards |
→ Full ecosystem listing with 26+ dApps: vibecode.finance/ecosystem · docs/resources.md
| Platform | Link |
|---|---|
| Twitter / X | https://x.com/opnetbtc |
| Discord | https://discord.com/invite/opnet |
| Official Site | https://opnet.org |
| Documentation | https://docs.opnet.org |
| Faucet | https://faucet.opnet.org/ |
Detailed reference documents:
| Doc | Contents |
|---|---|
| docs/protocol.md | How OPNET works, epochs, transaction structure, key properties |
| docs/networks.md | Networks, RPC endpoints, JSON-RPC method reference |
| docs/wallets.md | OP_WALLET, key formats, the two-key system, testnet faucet |
| docs/token-standards.md | OP-20, OP-721, OP-20S — mechanics and differences from ERC equivalents |
| docs/defi.md | NativeSwap 2-phase mechanics, Motoswap architecture, MotoChef staking |
| docs/contracts.md | AssemblyScript contracts, btc-runtime, storage model, common pitfalls |
| docs/sdks.md | opnet SDK, @btc-vision packages, WalletConnect integration |
| docs/addresses.md | Mainnet contract addresses, genesis block, address formats |
| docs/resources.md | Full GitHub org listing, documentation links, community |
| docs/troubleshooting.md | Known gotchas and fixes (op-vm glibc mismatch, etc.) |
Common pitfalls when setting up OPNET tooling on Linux, with copy-paste fixes — including the @btc-vision/op-vm GLIBC_2.39 not found.
→ See docs/troubleshooting.md
Last updated: 2026-04-22 — Mainnet launched March 19, 2026 (block 941,400).