Your node
UnknownRecent node logs
What shall Bitcoin become?
Describe a change. The lab builds it and runs it beside an unmodified node.
You see what each one does with the other's blocks.
Start with a ready-made experiment
No AI neededEach one has a known outcome. You make a prediction first, then watch two real nodes on a private chain, then read why it went the way it did.
Check your thinking
Ten statements: true or false?
Your own experiment
AI engineExample requests
Build preferences and agent limits
Current experiment
No experiment yet- Propose
- Build
- Test
- Compare
- Review
- Run
A little less prophecy. A little more proof.
Your request, the proposed change and what two nodes made of it will appear here.
This ran a ready-made node built from exactly the change shown below. Bitcoin Core's unit tests were not run on it; run the experiment again with "Compile it myself" to see which of them the change breaks.
What this would mean on a real network
Why it went this way
What the agent says it changed
This is the agent's own description. It has not been checked; the evidence above and the change below have.
The change
Technical activity
Your private chain
REGTEST ONLYProduce blocks on demand on your own node's private chain. Producing a block here takes no real work, which is why its coins are worth nothing.
Experiment history
Node settings
Settings are local choices about how your node runs: none of them changes which blocks are valid, and no other node is bound by them. They are saved to your node's own configuration and take effect when it restarts. No AI is involved.
Setup & help
Undo and reset
Undoing a change to the source does not undo what the node did under it: blocks it accepted or refused stay in its database. On the private chain the remedy is a clean start, which Reset gives you and which every Revert performs for you.
Updates
Like Bitcoin Core, this lab never updates by itself. Both buttons contact GitHub; nothing else does.
Compare with another node program
Run the unmodified node beside any other node program on this machine: another release, Bitcoin Knots, or a build of a proposed change. The lab gives both the same blocks and transactions and reports what each did. The program runs inside the sandbox, on a throwaway private chain. The lab never downloads one for you: get it from a source you trust and check its signature first.
Import or share a request
A shared request is the sender's words, never their code. Words are still instructions to an AI agent, so an imported request is treated as untrusted: it is shown to you first, it always stops for your review, it is never applied or started automatically, and the agent that reads it can edit files and nothing else.
How does an experiment work?
The agent writes a proposal in an isolated copy of the source. It can read and edit files there; it cannot run commands or use the network. The lab then compiles the proposal inside an operating-system sandbox, runs Bitcoin Core's unit tests on it, and starts it beside an unmodified node on a throwaway private chain. Each node is handed the other's blocks and a few test transactions, and the lab reports what each one did. Only then are you asked whether to keep the change. Applying it saves exactly the revision that was built.
Consensus rules, policy, and the two kinds of fork
Consensus rules decide whether a block is valid at all. Every node checks them for itself, and a block that breaks them is refused however much mining power produced it. Policy is a node's local choice about which unconfirmed transactions to keep and pass on; it never applies to transactions already in a block.
Change a consensus rule and one of two things happens. Tighten it, and your node refuses blocks everyone else accepts: it stops following the network at the first such block. That shape of change is called a soft fork, and others follow it only if most mining power enforces it. Loosen it, and nothing visible happens until a block uses the looser rule, which every unmodified node then refuses. That shape is called a hard fork.
Which network am I on?
What do the checks prove?
Compiled: the change builds. Unit tests: which of Bitcoin Core's own tests still pass; when a change alters a rule on purpose, the tests that pin that rule fail, and their names tell you what changed. Comparison: what an unmodified node did with this build's blocks and transactions, and the reverse. The comparison covers block rewards, one reward halving, two kinds of transaction and block exchange in both directions. A change to something it never exercises will show no difference. None of this proves a change is safe on a real network.
What if an experiment fails?
If the proposal does not compile, nothing has changed: read the compiler's output under Technical activity, then refine the request or ask the agent to fix the error. If a new build will not start, the previous build is started again. To undo a saved change, use Revert in the history, or Restore the baseline source above.
Where to go next
Everything here happens on your own machine. The same questions are worked on in the open:
bitcoin4plebs is a companion project that walks you through Bitcoin Core's real source, with no coding required. Bitcoin Inquisition is where proposed consensus changes are switched on for real on signet, a shared test network. Bitcoin Optech explains the proposals themselves. Nothing made in this lab is offered to Bitcoin Core.
Try it without an AI account
The ready-made experiments need no AI. To rehearse the request workflow, run ./vibes --engine mock: a stand-in agent makes one harmless edit to the manual.