Break things here, not in production
Run a private copy of the network on your own machine, with the same RPC, the same receipts and the same tooling as mainnet.
Nothing leaves your laptop and nothing costs anything. When the tests pass, moving to chain 125 is a change of URL.
Money software earns trust by being boring in production, and that means being adventurous somewhere else first. Paxeer X gives you two places to be adventurous: a multi-node cluster that runs in Docker and behaves like the network's EVM, and an emulator that runs agent payment flows and signs receipts exactly the way the network does. Both come from the open repository, both run offline, and both are free to break.
A contract developer runs a Foundry suite against the cluster. An agent developer watches budgets refuse an overspend and receipts verify on the emulator, before a single real PAX is involved.
Two ways to run it
From laptop to mainnet in one config change
- 01
Write against localhost
Point Hardhat or Foundry at
http://127.0.0.1:8545. The repository ships a Foundry profile with the right compiler and OpenZeppelin remappings, and a Hardhat network entry that reads the local URL from an environment variable. - 02
Run your tests as usual
Deploy, call, read logs, assert. The cluster is a real chain, so gas estimates, events and reverts match what you will see on the network.
- 03
Swap the URL and chain ID
Change the RPC URL to
https://api-mainnet-beta.paxeer.network/rpcand the chain ID to125. Nothing else in your project changes. - 04
Keep both
Leave the local network in your config as a named environment. Your CI runs against it on every commit; your release pipeline targets mainnet.
Receipts you can trust before you trust us
If your verifier accepts an emulator receipt, it will accept a mainnet receipt, and refuse a forged one, for the same reasons.
The emulator signs with its own receipt key and publishes that key the way the network publishes its keys. That means the verification code in your SDK runs unchanged: fetch the receipt, check the signature, compare the transaction hash, confirm the position in sequence. The reference-app runner ties it together, spinning up a scratch profile, running a buyer payment, a merchant checkout and a program marketplace end to end, then tearing everything down, even when a step fails.
The emulator refuses any address other than localhost, and the Docker cluster binds to your machine. A test key created here cannot be reached from outside, and never holds real value.
Related
Follow the terminal tutorial
Every command on this page in order, with the output you should expect at each step.

