Thesettlementlayerforthemachineeconomy.

Developers

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 /rpc publishes 27 methods (19 lx_* and 8 px_*) plus the relayed EVM namespaces.
  • GET /rpc/schema serves 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_ and px_; ids and order are preserved.
  • eth_sendRawTransaction relays, 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 PxClient class in paxeer-xdk wraps 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 /rpc requires Content-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 no id returns HTTP 204 with no body, and results and errors both return HTTP 200. GET /rpc/schema answers 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 are activity:write for activity submission, receipt:read for receipts and settlement, and program:read for program reads. An authenticated route past its quota answers 429 quota_exceeded with a retry hint.
  • The gateway holds no caller keys, so eth_accounts, eth_coinbase, eth_sendTransaction, eth_sign, eth_signTransaction, eth_signTypedData, eth_signTypedData_v4 and eth_mining are refused with -32601, and eth_subscribe/eth_unsubscribe with -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_unavailable while px_getCapabilities reports that surface false. This refusal set is the gateway's own and is wider than the node's.
  • px_* is read-only; there is no px_ 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 as joined_limit. The SDK decoders accept up to 1024 asset rows.
  • The EVM relay needs LAYERX_GATEWAY_PAXEER_RPC_URL and reads forward to LAYERX_GATEWAY_PUBLIC_CORE_URL; without the relay variable EVM methods answer -32001 paxeer_rpc_not_configured and lx_* is unaffected. A read with no evidence returns -32001 rather 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

Build on Paxeer.

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