
Query the explorer or run your own
Explorer APIs and self-hosting stack
A Blockscout fork with five Paxeer X read endpoints and a Docker Compose stack you run locally.
Ask for one address and get its identities, balances and merged activity in one response, so you stop joining the chain side and the LayerX side by hand. Ask for one transaction and get the settlement rung it reached. Four paxeer-x routes serve capabilities, anchors and receipts. Bring the stack up locally from one Docker Compose file: Postgres, backend, frontend and both Rust services, built from the repository. lx_receipts stays empty, since the kernel history ingester is not written.
What it does
The Paxeer X Network explorer is a fork of Blockscout: backend v10.2.6, frontend v2.7.2, and two vendored Rust services from blockscout-rs (smart contract verifier and signature provider). On top of that it adds five read endpoints for Paxeer X data, five lx_* database tables filled from kernel precompile logs, and a paxeer_x JSON-RPC variant that records where the node's answers diverge from Ethereum's. A single Docker Compose file builds and runs the whole stack from the sources in the repository: Postgres, backend, frontend and both Rust services.
Key capabilities
GET /api/v2/addresses/:hash/unifiedreturns one account's identities, balances and merged activity.GET /api/v2/transactions/:hash/statusreturns the settlement rung a transaction has reached.GET /api/v2/paxeer-x/capabilities,/anchors,/receiptsand/receipts/:idserve LayerX data.- Five
lx_*tables carry account bindings, custody events, anchors, receipts and market events. - The
paxeer_xJSON-RPC variant documents and handles four node-specific divergences. - One compose file builds Postgres, backend, frontend and both Rust services locally.
Who it's for
Developers who query Paxeer X data over HTTP, and operators who run their own explorer.
Why it matters
An account's chain side and its LayerX side arrive in one response instead of two systems that have to be joined by hand, and a transaction's settlement progress is one request. The compose file means a developer can index a node and read those endpoints locally without a hosted service.
Differentiators
The unified account endpoint returns identities, one asset list where each asset carries a single total beside its chain, custody and kernel parts, and one activity feed merging chain transactions and token transfers with LayerX kernel events. The paxeer_x variant is the one place that states each divergence of the node's RPC and the handling it requires.
Outcomes
- Get one account's identities, balances and merged activity in one response
- Check a transaction's settlement rung with a single request
- Run the full explorer stack locally from one Docker Compose file
Technical notes
- Backend needs Elixir 1.19.4-otp-27, Erlang 27.3.4.6 and PostgreSQL 16; it serves port 4000 and the frontend serves port 3000. Set
ETHEREUM_JSONRPC_VARIANT=paxeer_x,CHAIN_ID,DATABASE_URLand aSECRET_KEY_BASEof at least 64 bytes. The frontend needs Node.js 22 or newer. - The local compose file takes
RPC_HTTP_URL,RPC_WS_URL,CHAIN_IDandSECRET_KEY_BASEfrom the shell with no default; an emptyCHAIN_IDorSECRET_KEY_BASEstops the container rather than starting it with a stand-in. RPC defaults point athost.docker.internal:8545. Ports 7432, 4000 and 3000 are published to the host, and every service has a health check. - The three frontend pages (
/paxeer-x/receipts,/paxeer-x/anchorsand/paxeer-x/account/:hash) are behindNEXT_PUBLIC_PAXEER_X_ENABLED, which defaults tofalse. - Hosted deployment is defined for Railway only: four services in one project, with the backend health check allowed 600 seconds so a fresh database can run every migration first. There is no Kubernetes or Terraform configuration under
explorer/. - The LayerX precompiles are not on the chain that is live now, so
/capabilitiesprobes the node every 30 seconds and reports a surface as false untileth_getCodeanswers with code.lx_receiptsis never filled by the indexer: a kernel receipt is not an EVM event, and the kernel history ingester that would fill the table is not written. - Range partitioning of
logsandtoken_transfersis not delivered; the database notes record it as blocked on the tables' primary keys, a nullable partition key and the absence of a job that creates partitions. DATABASE_READ_ONLY_API_URLroutes API reads to a read-only replica, falling back to the primary when replay lag exceedsREPLICA_MAX_LAG(five minutes by default).- Licensing: everything under
explorer/is GPL-3.0 except the vendored Rust services, which stay MIT. Neither tree is linked into the Apache-2.0 crates and Go packages in the rest of the repository.
RPC_HTTP_URL=http://127.0.0.1:8545/ RPC_WS_URL=ws://127.0.0.1:8546/ \
CHAIN_ID=125 SECRET_KEY_BASE="$(openssl rand -base64 48)" \
docker compose -f explorer/deploy/docker-compose.local.yml up --build
curl http://localhost:4000/api/v2/paxeer-x/capabilities
curl http://localhost:4000/api/v2/paxeer-x/anchors
curl http://localhost:4000/api/v2/addresses/0xYourAddress/unified
curl http://localhost:4000/api/v2/transactions/0xYourTxHash/statusMore in Developers
Documentation site and wiki
Docs that cite the code behind them
ExploreFoundry and Hardhat contract toolchain
Foundry and Hardhat, already wired up
ExploreHosted developer services
Faucet, webhooks, dashboard and program registry
ExploreLayerX developer CLI
One binary for wallets, payments and programs
ExploreBuild on Paxeer.
Give your agent a wallet, set its policy, and settle your first call on LayerX.