GOAT BitVM2 Testnet User Guide
GOAT BitVM2 Testnet enables trust-minimized BTC interoperability between Bitcoin and GOAT Network. Access the current testnet UI at bitvm2-testnet4.goat.network.
BitVM2 is a permissionless bridge design that combines presigned transactions, one-time signatures, and SNARK-based dispute resolution. GOAT BitVM2 extends the base model with faster reimbursement and stronger operator-accountability mechanisms.
This page documents the active GOAT BitVM2 testnet flows. References to GOAT testnet iterations such as "Testnet V3" refer to the testnet release cycle, not to BitVM3 as the active bridge version.
What This Guide Covers
| Area | Audience |
|---|---|
| Bridge in / bridge out | End users moving BTC between Bitcoin and GOAT Network |
| Peg-out | Operators participating in the protocol |
| Graph states | Users or operators monitoring dispute paths |
| Node setup | Operators, challengers, and watchtowers |
BitVM2 Bridge Guide
BitVM2 Bridge is the user-facing entry point for moving BTC through the BitVM2 flow.
Bridge In

Connect both wallets
Connect your BTC wallet and your EVM wallet first.
Choose the amount and Bitcoin fee rate
The Bitcoin fee rate affects how quickly the source transaction confirms.
Wait for committee verification
Move to the next step, then refresh the status until the transaction becomes ready to submit.
Submit and sign
Click Submit, confirm the transaction in your wallet, and pay the required base fee.
Track confirmation
The transfer typically arrives in about 60 minutes, but Bitcoin congestion can extend the timeline.
Bridge Out

Connect the EVM and BTC wallets
Make sure the receiving BTC wallet is the one you intend to use for withdrawal.
Enter the amount
Confirm that it satisfies the minimum amount shown in the UI.
Review the transfer details
Double-check the amount, exchange rate, and bridge fee before continuing.
Submit within the valid window
Confirm the transaction in the wallet and pay the GOAT Network gas fee.
Monitor the arrival
Use the history page to follow progress until the BTC lands in the receiving wallet.
History
Every bridge-in and bridge-out transfer appears in the history view for status tracking.

BitVM2 Peg-out Guide
Peg-out is an operator-oriented flow that redeems PegBTC back to native BTC.

Connect the EVM wallet
The UI automatically shows the peg-out instances available to the connected operator.
Approve PegBTC
Click Approve and approve the maximum amount you intend to use for the operation.
Submit the peg-out
Return to the UI, click Submit, sign the transaction, and pay the gas fee.
Track the graph
Use BitVM2 Graph and peg-out history to follow reimbursement progress and dispute state.
Verify settlement
When the peg-out completes successfully, the BTC appears in the destination wallet.
BitVM2 Graph States
The BitVM2 graph explains how deposits, challenges, and reimbursements evolve on-chain.

| Case | Status | Meaning |
|---|---|---|
| Initial state | Pending peg-out / active deposits | Funds are locked and no operator has started reimbursement yet |
| Standard path | Withdrawal completed (Take-1) | No valid challenge was raised during the first time-lock |
| Challenge succeeds | Withdrawal intercepted (Disprove) | Operator misconduct was proven and collateral was slashed |
| Challenge fails | Withdrawal finalized (Take-2) | Operator defended the withdrawal and completed reimbursement |
Join GOAT BitVM2 Testnet
Role Requirements
| Role | Requirements |
|---|---|
| Watchtower | Committee-approved role, enough L1 balance for roughly 4,000 sats per challenge |
| Challenger | Permissionless role, enough balance for bond and transaction fees |
| Operator | Permissionless role, must prepay graph fees on L1 and stake PBTC on L2 |
Operator funding and staking requirements
| Layer | Requirement |
|---|---|
| Bitcoin L1 | Prepay roughly 10,000 sats per graph and keep at least 50,000 sats available at startup |
| GOAT Network L2 | Stake PBTC; the effective minimum locked stake is 0.06 PBTC |
| Contract | Address |
|---|---|
| Testnet Gateway | 0x440c6dCA87C3511E1eBf4FDB1f584ddaA49dD029 |
| Testnet StakeManagement | 0x4B6BD356FE9Ad077c6E3691BB2838e814B3F4032 |
| Testnet PegBTC | 0xdA97429ea2082334C63813f092B6A6209bfC4DEb |
Staking flow
A compressed public key is 33 bytes and usually starts with 02 or 03. The x-only public key is the 32-byte suffix after removing that prefix.
Run a BitVM2 Node
Download a release from bitvm2-noded releases and verify the version after installation.
Minimal setup checklist
- Prepare a
.envfile from the testnet template. - Generate the peer key:
- Prepare
BITVM_SECRET, which is the private key used for challenge-related signing. - Generate the funding address:
- Fund the address with Bitcoin Testnet4 BTC and run the node with the project run.sh.
Operate with Agent Skills
If you prefer an agent-driven workflow, the BitVM2 node repository also publishes operation documents for common tasks.
| Agent skill | Purpose | Command document |
|---|---|---|
/run-operator-node | Start an operator node | run-operator-node.md |
/run-challenger-node | Start a challenger node | run-challenger-node.md |
/pegin-request | Request, prepare, or cancel a peg-in | pegin-request.md |
/pegout | Initiate peg-out as an operator | pegout.md |
/bridge-out | Initiate bridge-out flow | bridge-out.md |
/challenge | Broadcast a challenge transaction | challenge.md |