Thesettlementlayerforthemachineeconomy.

Developers

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 provision writes an owner-only sequencer seed and its trust anchor under the profile directory.
  • layerx emulator up runs the local gateway on 127.0.0.1:9402 and refuses any non-loopback listen address.
  • The emulator serves activity, settle, move, program, receipt, DID, evidence and journey routes under /v1.
  • layerx environment use emulator binds the CLI to the local endpoint, network id and sequencer trust anchor.
  • make docker-cluster-start runs 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-ms and --prefund override the defaults; --sequencer-seed-file is 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, a golang:1.25.6-bookworm toolchain layer on ubuntu:24.04, and linux/amd64 by default. PROJECT_HOME, USERID, GROUPID, GOCACHE and GO_PKG_PATH must be set; the project and Go caches are bind-mounted.
  • The cluster initializes its own genesis under chain id pax in build/generated; it is not the public chain. docker-cluster-start-skipbuild reuses an existing build/paxd, and docker-cluster-start-ci requires one plus a loaded image tarball.
  • Not yet in place: no single-container developer path, and no localnet-start or localnet-stop target exists despite the .PHONY lines in chain.mk. The monitoring overlay pulls unpinned prometheus:latest and grafana: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-start

More in Developers

Build on Paxeer.

Give your agent a wallet, set its policy, and settle your first call on LayerX.