On this page
One system. Composable layers.

One governed execution path

layerx-mcp exposes 21 tools to MCP clients. Every invocation passes through layerx-agentd as a DaemonInvocation, with Policy, Capability, Budget, RateLimit, and Audit gates. The same authorization and submission rules apply when an assistant uses a tool as when an application calls the daemon.

A read-only deployment exposes read tools and omits writes. Tool discovery is filtered to the scopes bound to the caller, so an unavailable scope does not appear as an actionable tool.

Tool catalog

ToolKindRequired scopeDaemon operationPurpose
balance.getreadread:balanceReadBalanceRead verified program-scoped balances from the daemon with their verification level and freshness.
history.listreadread:historyReadHistoryPage verified account history from the daemon under an explicit item bound and stable cursor.
receipt.getreadread:receiptProgramReceiptRead the canonical receipt the daemon holds for one activity.
checkpoint.getreadread:checkpointReadCheckpointRead the finalised checkpoint certificate for one batch sequence through the daemon.
proof.getreadread:proofReadProofBundleRead the proof bundle the daemon holds for one activity.
availability.getreadread:availabilityAvailabilityFetchRead verified availability chunks and attributed failures for one decimal batch number.
wallet.accountsreadread:wallet:accountsReadAccountList the verified accounts the daemon observes for one program.
wallet.balancereadread:wallet:balanceReadBalanceRead one verified account balance for one asset through the daemon.
activity.preparewritewrite:preparePreparePrepare canonical activity bytes and their bound disclosure inside the daemon.
activity.disclosewritewrite:disclosePrepareDecode the bound disclosure of canonical activity bytes.
activity.signwritewrite:signSignSign a daemon preparation at the daemon's external signing boundary; no key material is read.
activity.submitwritewrite:submitSubmitSubmit an externally signed preparation through the ordinary daemon path.
activity.trackwritewrite:trackTrackResolve the daemon's current state for one submission.
activity.waitwritewrite:activity:waitWaitWait, under an explicit bound, for the daemon to resolve one submission.
wallet.sendwritewrite:wallet:sendSubmitSend one asset amount through the ordinary daemon submission path.
token.createwritewrite:token:createSubmitCreate one asset through the ordinary daemon submission path.
token.mintwritewrite:token:mintSubmitMint one asset amount through the ordinary daemon submission path.
token.transferwritewrite:token:transferSubmitTransfer one asset amount through the ordinary daemon submission path.
grant.issuewritewrite:grant:issueSubmitIssue one spending grant through the ordinary daemon submission path.
grant.drawwritewrite:grant:drawSubmitDraw against one spending grant through the ordinary daemon submission path.
faucet.requestwritewrite:faucet:claimFaucetClaimClaim one bounded beta faucet grant for the named DID and signer key through the daemon's faucet operation.

Tool parameters

A hex32 value represents 32 bytes in hexadecimal; hex64 represents 64 bytes. Sequence and batch identifiers are decimal u64 values. Keep integer amounts exact. The argument schema bounds encoded JSON to 65,536 bytes at catalog validation; the route has a 1,048,576-byte ceiling.

ToolRequired argumentsOptional arguments
balance.getprogram (hex32)account, asset (hex32)
history.listaccount (hex32), limit (1–256)cursor (hex32)
receipt.getactivity_id (hex32)—
checkpoint.getsequence (decimal u64)—
proof.getactivity_id (hex32)—
availability.getbatch (decimal u64)—
wallet.accountsprogram (hex32)—
wallet.balanceprogram, account, asset (hex32)—
activity.prepareactivity_type, payload, account_sequence, not_before_ms, expires_at_ms, fee_limit, idempotency_key—
activity.disclosecanonical_bytes—
activity.signpreparation_ref—
activity.submitpreparation_ref, signature (hex64), signer_public_key (hex32)—
activity.tracksubmission_ref—
activity.waitsubmission_ref, timeout_ms (1–600000)—
wallet.senddestination, asset, amount, idempotency_key—
token.createsymbol, decimals (0–18), supply, idempotency_key—
token.mintasset, destination, amount, idempotency_key—
token.transferasset, destination, amount, idempotency_key—
grant.issuebeneficiary, asset, amount, expires_at_ms, idempotency_key—
grant.drawgrant_id, amount, idempotency_key—
faucet.requestdid, public_key (hex32)—

Prepare, disclose, sign, submit

Prepare canonical activity bytes with an account sequence, validity window, fee ceiling, and idempotency key. Read the bound disclosure before authorizing a signature. activity.sign crosses the external signing boundary without exposing key material. Submit the preparation reference with the signature and signer public key, then track the submission or wait under an explicit timeout.

activity.wait accepts 1–600000 milliseconds. A timeout bounds waiting; it does not reverse a submitted activity. Continue tracking the same submission reference and preserve the business action idempotency key.

Read verified state and settlement evidence

Use balances with their verification level and freshness, bounded history pages with stable cursors, canonical receipts, checkpoint certificates, and proof bundles. availability.get returns verified chunks and attributed failures for a batch. Read operations retain the daemon verification context instead of asking a model to infer settlement from prose.

Wallet, token, grant, and faucet journeys

Wallet sends, token creation, minting, transfers, grant issuance, and grant draws reuse ordinary daemon submission. Token decimals are bounded to 0–18. A grant binds beneficiary, asset, amount, and expiry; a draw names the grant and amount. Faucet requests bind the DID and public key to a bounded grant.

Integrate tools alongside XDK and SDK quickstarts. Inspect Agent API for canonical write semantics and the agent daemon for its execution boundary.

Paxeer X · System documentationBack to top ↑

Ask Paxeer X Docs

Answers from the documentation.

What would you like to know?

Ask a question, find a guide, or get help with your next step.

Enter to send · Shift+Enter for a new line