Skip to main content
One client exposes eight namespaces. Writes take (input, options?) and return a WriteResult; reads take a query object and return the API’s payload.

tokenization

Tokenization and security-token operations, plus the reads scoped to a token. API key required, default mode client-signed.

sto

Security Token Offerings: the lifecycle, plus the reads scoped to an offering. API key required, default mode client-signed.

agent

ERC-8004 identity and reputation on Base. API key or x402; default mode brickken-relayed. register returns info.agentUuid — save it, because setUri, setMetadata, and transferOwnership all need it.

agentToken

Agent-owned ERC-20 tokens. API key or x402; default mode brickken-relayed.
Amounts here are HumanAmount and are scaled by decimals. RAMS caps are RawBaseUnits and are not. The types make the asymmetry visible so it cannot be crossed by accident.

rams

ERC-8226 mandates. Every call defaults to chainId: '11155111' (Ethereum Sepolia). API key or x402; default mode client-signed.

Lifecycle — relayable with a principal signature

These four accept authorize: 'direct' | 'signature'. With 'signature' the SDK fetches the typed data, signs it, and resubmits the same parameters and the same deadline.

Role-bound writes — never relayable

Their on-chain call requires msg.sender to hold a role, so brickken-relayed is rejected locally.

Reads and typed data

The typedData.* calls return a TypedDataEnvelope carrying domain, types, primaryType, message, and — critically — deadline and nonce, which must be resubmitted verbatim alongside the signature.

tx — the escape hatch

Any backend method is reachable the day it ships, without waiting for a typed namespace.
An unknown method name passes through with only chainId normalized. A known one is mapped exactly as its typed namespace would map it. Three aliases from the CLI core are still accepted: createToken, agentApprove, and newTokenizedAgent.

network and discovery

Chain identifiers

CHAINS is exported for the common values, and any chainId accepts decimal or hex — both are normalized to a canonical decimal string before the request.