
One endpoint for the whole network
One JSON-RPC endpoint for the network
The method name picks the domain, so 27 methods answer at one base URL.
You point one client at a single POST /rpc and the method name selects the domain. eth_*, net_* and web3_* relay byte for byte to the Paxeer chain, lx_* reach LayerX, and px_* join both halves, including unified history tagged by side. One batch of 1 to 32 entries may mix all three namespaces with ids and order preserved, and GET /rpc/schema serves the checked-in OpenRPC document. The limited beta has not opened yet.
What it does
The hosted gateway exposes a single POST /rpc that publishes 27 method names, and the method name selects the domain. eth_*, net_* and web3_* relay byte for byte to the Paxeer chain, lx_* go to LayerX, and px_* join both halves. A caller never picks a chain or a second URL, and one JSON-RPC batch may mix all three namespaces.
Key capabilities
POST /rpccarries 27 published methods across the Paxeer EVM, LayerX and the joined reads.eth_sendRawTransactionis relayed, so an already signed transaction reaches Paxeer through this endpoint.px_resolveAccount,px_getAccount,px_getBalances,px_listAssetsandpx_getNetworkread both domains.px_getUnifiedHistorymerges an account's EVM and LayerX rows newest first, each row tagged with its side.- A batch of 1 to 32 entries may mix
eth_,lx_andpx_; ids and order are preserved. GET /rpc/schemaserves the checked-in OpenRPC 1.3.2 document that defines every shape and error code.
Who it's for
Wallet, application and infrastructure developers integrating both halves of Paxeer X.
Why it matters
One base URL and one client cover chain calls, agent-domain calls and reads that span both, so a wallet does not have to route by chain or reconcile two account views itself. The px_* joins answer from the native precompiles and the public core in one round trip instead of several client-side calls.
Differentiators
The method name, not the URL, selects the domain, and a single batch may mix EVM and LayerX entries with ids and order preserved. The px_* reads join the addr, layerxcustody, layerxanchor and bank precompiles to LayerX core reads, which no single-domain endpoint answers.
Outcomes
- Route by method name instead of by chain or URL
- Relay a signed transaction to Paxeer through the same URL
- Mix EVM and LayerX calls in one batch
Technical notes
- The documented origin
https://api.paxeer.network/rpcis not open: the limited beta has not opened yet, and the gateway API becomes available when it does. - Requires
Content-Type: application/json, positional parameters, a body of at most 8 MiB, and batches of 1 to 32. A request with noidreturns HTTP 204 with no body; results and errors use HTTP 200. - Reads are unauthenticated, including every
px_*andlx_*read, which are gated only by the public read budget.lx_sendActivityneedsAuthorization: LayerX-Key <key-id>:lxp_live_<64-hex-secret>withactivity:write, plus the route scope for Programs operations. - The node 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.GET /rpc/wscarrieslx_subscribeonly, though every other relayed EVM method works over it. px_getCapabilitiesprobes the exchange (0x…1015), bridge (0x…1016) and launchpad (0x…1017) precompiles witheth_getCodeand caches the answer for 15 seconds by default. While a surface reports false, a raw transaction addressed to it is refused with-32003 surface_unavailablerather than relayed; reads and history are never gated.px_getBalancesandpx_listAssetsjoin at most the first 16 assets per answer and report that asjoined_limit.- EVM relay needs
LAYERX_GATEWAY_PAXEER_RPC_URL; without it the relay answers-32001 paxeer_rpc_not_configuredandlx_*is unaffected. Reads forward toLAYERX_GATEWAY_PUBLIC_CORE_URL. - Node.js 22 or newer, Python 3.11 or newer.
import { PxClient } from "paxeer-xdk";
const px = new PxClient({ endpoint: "https://api.paxeer.network/rpc" });
const head = await px.getNetwork();
const joined = await px.getAccount("0x9c8f1e2a3b4c5d6e7f8091a2b3c4d5e6f7081920");
console.log(head.paxeer.chainId, head.paxeer.latestBlock);
console.log(joined.account.bound, joined.paxeer?.balance, joined.layerx);More in Interface
One account across both domains
One account, both domains
ExplorePasskey sessions and step-up approval
Passkeys hold your account, not passwords
Explorepx_* cross-domain read namespace
Eight reads across both domains
ExploreStatements, evidence exports and notifications
Your record, exportable and verifiable
ExploreBuild on Paxeer.
Give your agent a wallet, set its policy, and settle your first call on LayerX.