
Run the agent domain and chain locally
Local development environment
A loopback LayerX emulator and a four-node Paxeer chain in Docker, each standing on its own.
Provision a sequencer identity, start the emulator on 127.0.0.1:9402, and point the CLI at it with environment use. The emulator serves the same /v1 routes a deployment serves and signs real receipts, so a local run fails or succeeds for the same reasons. For the chain base layer, make docker-cluster-start brings up four Paxeer nodes with EVM JSON-RPC on node0. Neither path needs beta access or a funded account.
What it does
Paxeer X ships two local paths. The layerx CLI provisions a sequencer identity and runs a LayerX emulator that binds 127.0.0.1:9402 and serves the same /v1 gateway routes the CLI and SDKs call in a deployment. Separately, make docker-cluster-start builds the node image and brings up a four-node Paxeer chain in Docker Compose, with EVM JSON-RPC and gRPC published from node0. Each path stands alone: the emulator covers the agent domain, the Docker cluster covers the chain base layer.
Key capabilities
layerx emulator provisionwrites an owner-only sequencer seed and its trust anchor under the profile directory.layerx emulator upruns the local gateway on127.0.0.1:9402and refuses any non-loopback listen address.- The emulator serves activity, settle, move, program, receipt, DID, evidence and journey routes under
/v1. layerx environment use emulatorbinds the CLI to the local endpoint, network id and sequencer trust anchor.make docker-cluster-startruns four Paxeer nodes; node0 publishes ports 26656-26658, 9090-9091 and 8545-8546.- A compose overlay adds Prometheus and Grafana beside the cluster through
make docker-cluster-start-monitoring.
Who it's for
Developers building LayerX agents or changing the Paxeer chain who need a network on their own machine.
Why it matters
Both paths run without a shared endpoint, a funded account or beta access, so wallet creation, activity submission, contract deployment and consensus behavior can be exercised before anything touches the live network. The emulator returns real signed receipts, so a local run and a deployed run fail or succeed for the same reasons.
Differentiators
The emulator is a real-transition gateway, not a stub: it executes the transition path, signs receipts with the provisioned sequencer key, and the CLI verifies those signatures against the trust anchor it was bound to. The chain path runs four validators rather than a single node, so consensus and peer behavior appear locally.
Outcomes
- Test wallets, activities and programs with no cluster and no funded account
- Verify emulator receipt signatures against the trust anchor you provisioned
- Watch consensus and peer behavior across four local validators
Technical notes
- Emulator defaults: network id 402, port 9402, loopback only.
--listen,--network-id,--protocol-version,--time-msand--prefundoverride the defaults;--sequencer-seed-fileis required. - Emulator limits: 512 accounts, 4096 retained receipts, 8 MiB JSON bodies, 64 MiB requests, a 10-second I/O timeout and a 5-minute move-quote window.
- The emulator is not a deployment. Emulator send is unavailable, and funded public writes still need
--rpc, a trusted receipt policy, a fee limit and a configured authenticated deployment. - Cluster prerequisites: Docker and Compose,
make,jq,python3, agolang:1.25.6-bookwormtoolchain layer onubuntu:24.04, andlinux/amd64by default.PROJECT_HOME,USERID,GROUPID,GOCACHEandGO_PKG_PATHmust be set; the project and Go caches are bind-mounted. - The cluster initializes its own genesis under chain id
paxinbuild/generated; it is not the public chain.docker-cluster-start-skipbuildreuses an existingbuild/paxd, anddocker-cluster-start-cirequires one plus a loaded image tarball. - Not yet in place: no single-container developer path, and no
localnet-startorlocalnet-stoptarget exists despite the.PHONYlines inchain.mk. The monitoring overlay pulls unpinnedprometheus:latestandgrafana:latest. The single-node path is marked "Not Recommended". Runtime floors for the SDKs are Node.js 22 or newer and Python 3.11 or newer.
layerx emulator provision
layerx emulator up --sequencer-seed-file "$HOME/.config/layerx/emulator/sequencer.seed"
# second terminal, same LAYERX_CONFIG
layerx environment use emulator --endpoint http://127.0.0.1:9402 \
--network-id 402 \
--sequencer-trust-anchor-file "$HOME/.config/layerx/emulator/sequencer.anchor"
layerx wallet create alice
# chain base layer, separate path
make docker-cluster-startMore in Developers
LayerX developer CLI
One binary for wallets, payments and programs
ExploreMCP, A2A and framework adapters
Give a model scoped tools, not authority
ExploreNode EVM JSON-RPC namespaces
Standard Ethereum JSON-RPC on chain ID 125
ExplorePayment middleware and framework integrations
Charge per request, not per checkout
ExploreBuild on Paxeer.
Give your agent a wallet, set its policy, and settle your first call on LayerX.