IXO MultiClient SDK

Reference for the IXO MultiClient SDK: the IXO Protocol modules it covers, the pattern every transaction follows, and where its package and source code live.

The IXO MultiClient SDK (@ixo/impactxclient-sdk) is the TypeScript library for building client applications that read and write IXO Protocol records. It handles the work of talking to the blockchain and related services, so your code builds messages and signs them rather than encoding transactions by hand.

This page lists the modules the SDK covers and the pattern every transaction follows. For step-by-step code, see Developer workflows and SDK patterns. Build against a test network: the hosts are in Networks and endpoints.

Package

Package@ixo/impactxclient-sdk on npm
Source codeixofoundation/ixo-multiclient-sdk on GitHub, with the module reference and examples

Modules

ModuleWhat it handlesFeatures
Interchain IdentifiersA trusted public registry for the did:ixo: namespace and related domain recordsDID registry: CRUD operations for DID documents. Domain settings: services, resources, rights, claims, relationships. Controllers: public keys and verification methods
ClaimsClaim creation, evaluation and state managementClaim processing: create and evaluate claims. State management: update collection states. Authorization: manage evaluation permissions. The dispute messages are in Claim disputes
TokensToken creation, transfer and lifecycle managementToken operations: create, mint and transfer tokens. Credit management: handle credit transfers. Contract control: manage token contracts
AuthzAuthorization and permission management on the blockchainAuthorization grants: manage send and fee allowances. IBC operations: execute cross-chain transactions. Permission control: grant and revoke access rights
Smart ContractsRuns smart contracts on the IXO blockchainGovernance-gated: curate smart contracts. CosmWasm enabled: execute smart contracts
BondsBond creation, algorithmic pricing, trading and payout executionBond management: create and manage algorithmic bonds. Automated issuance: mint and burn bond tokens. Algorithmic pricing: bonding curves and risk-adjusted (Alpha) bonds. Outcome payments: settlement of outcome payments. Reserve withdrawals: withdraw funds from the bond's reserve
Liquid StakingLiquid staking operations and validator managementStaking operations: liquid staking and unstaking. Parameter updates: manage staking parameters. Validator management: update whitelisted validators
Smart AccountsSmart account authentication and operationsAuthentication: add and remove authenticators. Secure transactions: send transactions with authenticators

Common patterns

The SDK follows consistent patterns for blockchain interactions:

  1. Create a client instance
  2. Get user accounts/addresses
  3. Construct message with appropriate type URL
  4. Sign and broadcast transaction
  5. Return response

Claim disputes shows one message built and broadcast this way.

Worked examples in the docs

Step-by-step TypeScript flows (client, entity, claim, evaluation) are in Developer workflows and SDK patterns. The conceptual mapping of DIDs, claims and verifiable credentials is in Identity and credentials.