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 code | ixofoundation/ixo-multiclient-sdk on GitHub, with the module reference and examples |
Modules
| Module | What it handles | Features |
|---|---|---|
| Interchain Identifiers | A trusted public registry for the did:ixo: namespace and related domain records | DID registry: CRUD operations for DID documents. Domain settings: services, resources, rights, claims, relationships. Controllers: public keys and verification methods |
| Claims | Claim creation, evaluation and state management | Claim processing: create and evaluate claims. State management: update collection states. Authorization: manage evaluation permissions. The dispute messages are in Claim disputes |
| Tokens | Token creation, transfer and lifecycle management | Token operations: create, mint and transfer tokens. Credit management: handle credit transfers. Contract control: manage token contracts |
| Authz | Authorization and permission management on the blockchain | Authorization grants: manage send and fee allowances. IBC operations: execute cross-chain transactions. Permission control: grant and revoke access rights |
| Smart Contracts | Runs smart contracts on the IXO blockchain | Governance-gated: curate smart contracts. CosmWasm enabled: execute smart contracts |
| Bonds | Bond creation, algorithmic pricing, trading and payout execution | Bond 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 Staking | Liquid staking operations and validator management | Staking operations: liquid staking and unstaking. Parameter updates: manage staking parameters. Validator management: update whitelisted validators |
| Smart Accounts | Smart account authentication and operations | Authentication: add and remove authenticators. Secure transactions: send transactions with authenticators |
Common patterns
The SDK follows consistent patterns for blockchain interactions:
- Create a client instance
- Get user accounts/addresses
- Construct message with appropriate type URL
- Sign and broadcast transaction
- 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.