
One endpoint for chain and agent reads
Public JSON-RPC gateway and OpenRPC schema
JSON-RPC 2.0 at POST /rpc relays EVM namespaces, reaches the agent domain and joins both.
Point your existing Ethereum tooling at one base URL and keep it working: eth_*, net_* and web3_* relay byte for byte to the Paxeer chain, lx_* reach the LayerX agent domain, and px_* join both. Fetch the OpenRPC 1.3.2 document from GET /rpc/schema and generate a client instead of transcribing prose. Sign transactions locally and relay the signed bytes. Access comes by team allocation while the limited beta stays closed.
What it does
The hosted gateway answers POST /rpc as JSON-RPC 2.0 for the whole of Paxeer X: eth_*, net_* and web3_* relay byte for byte to the Paxeer chain, lx_* reach the LayerX agent domain, and px_* join both halves. GET /rpc/schema serves the OpenRPC 1.3.2 document that is compiled into the binary, so the published contract and the running dispatch are the same file. GET /rpc/ws upgrades to an authenticated socket for lx_subscribe. The documented origin is https://api.paxeer.network, and access is by team allocation while the limited beta is closed.
Key capabilities
POST /rpcpublishes 27 methods (19lx_*and 8px_*) plus the relayed EVM namespaces.GET /rpc/schemaserves the OpenRPC 1.3.2 document with positional parameters, result shapes and per-method error lists.- A batch of 1 to 32 entries may mix
eth_,lx_andpx_; ids and order are preserved. eth_sendRawTransactionrelays, so a locally signed transaction reaches the chain through this endpoint.px_*reads join identity, balances, assets, network head and history across both domains.- The
PxClientclass inpaxeer-xdkwraps the joined reads in TypeScript and Python.
Who it's for
Developers and infrastructure teams integrating Paxeer X from a client, backend or indexer.
Why it matters
Existing Ethereum tooling keeps working against one base URL, because the EVM namespaces relay unchanged, and the same URL also answers agent-domain and joined reads. The served OpenRPC document gives a machine-readable contract, so clients can be generated instead of hand-transcribed from prose.
Differentiators
The gateway serves its own OpenRPC document from the bytes it dispatches against, and a unit test asserts the document lists exactly the published method set, no more and no fewer. One batch may carry EVM, LayerX and joined entries even though the chain boundary refuses arrays, because the gateway relays each entry on its own.
Outcomes
- Call 27 lx_ and px_ methods plus relayed EVM namespaces from one URL
- Mix EVM, agent and joined entries in one batch of up to 32
- Generate a client from the OpenRPC document the gateway serves
Technical notes
- The endpoint is not open: the limited beta has not opened yet, and approved developers receive allocations from the team directly. The gateway API becomes available when the beta does.
POST /rpcrequiresContent-Type: application/json(415 otherwise) and parameters are positional. The request body limit is 8 MiB, batches are 1 to 32 entries, a request with noidreturns HTTP 204 with no body, and results and errors both return HTTP 200.GET /rpc/schemaanswers GET only and returns 405 for anything else.- Reads need no credential. Writes need
Authorization: LayerX-Key <key-id>:lxp_live_<64-hex-secret>; the scopes areactivity:writefor activity submission,receipt:readfor receipts and settlement, andprogram:readfor program reads. An authenticated route past its quota answers 429quota_exceededwith a retry hint. - The gateway holds no caller keys, so
eth_accounts,eth_coinbase,eth_sendTransaction,eth_sign,eth_signTransaction,eth_signTypedData,eth_signTypedData_v4andeth_miningare refused with-32601, andeth_subscribe/eth_unsubscribewith-32004. Sign locally and relay the signed bytes. - A raw transaction addressed to the exchange (
0x…1015), bridge (0x…1016) or launchpad (0x…1017) precompile is refused-32003 surface_unavailablewhilepx_getCapabilitiesreports that surface false. This refusal set is the gateway's own and is wider than the node's. px_*is read-only; there is nopx_write method. History pages default to 50 rows and cap at 100, cursors are opaque and at most 32 alphanumeric characters, and a join answers at most 16 assets, returned asjoined_limit. The SDK decoders accept up to 1024 asset rows.- The EVM relay needs
LAYERX_GATEWAY_PAXEER_RPC_URLand reads forward toLAYERX_GATEWAY_PUBLIC_CORE_URL; without the relay variable EVM methods answer-32001paxeer_rpc_not_configuredandlx_*is unaffected. A read with no evidence returns-32001rather than a fabricated value. - The OpenRPC document lists methods and errors but no server block, so a generated client needs the origin supplied. Runtime floors are Node.js 22 or newer and Python 3.11 or newer.
const response = await fetch("https://api.paxeer.network/rpc", {
method: "POST",
headers: { "content-type": "application/json" },
body: JSON.stringify([
{ jsonrpc: "2.0", id: "1", method: "eth_blockNumber", params: [] },
{ jsonrpc: "2.0", id: "2", method: "lx_getNodeInfo", params: [] },
{ jsonrpc: "2.0", id: "3", method: "px_getNetwork", params: [] },
]),
});
for (const entry of await response.json()) console.log(entry.id, entry.result);More in Developers
Program SDKs and porting kits
Deterministic programs in three languages
ExploreRepo build system and developer tooling
One command set builds the whole network
ExploreRunnable samples and reference apps
Samples that cannot go stale
ExploreTest, conformance, load and benchmark runners
See exactly what Paxeer X exercises
ExploreBuild on Paxeer.
Give your agent a wallet, set its policy, and settle your first call on LayerX.