Skip to main content
This guide provides an overview of the IXO development ecosystem, including available SDKs, APIs, and resources to help you build applications on the Spatial Web Stack.

Development Stack

Core SDKs

npm install @ixo/impactxclient-sdk
The IXO MultiClient SDK provides a unified interface for interacting with:
  • IXO Protocol blockchain
  • IXO Matrix data storage
  • Agentic Oracles
  • Digital twin management
Learn more about the IXO MultiClient SDK
npm install @ixo/matrixclient-sdk
The IXO Matrix SDK enables:
  • Secure data room creation
  • End-to-end encrypted messaging
  • File storage
  • Access control management
Learn more about the IXO Matrix SDK
npm install @ixo/oracle-agent-sdk
The Oracle Agent SDK allows you to build:
  • Verification oracles
  • Data validation services
  • Intelligent automation agents
  • Attestation services
Learn more about the Oracle Agent SDK
If you are using the IXO Spatial Web Multiclient SDK, familiarize yourself with the Signing Client to understand how to sign and broadcast transactions. Familiarize yourself with the IXO Blocksync GraphQL queries for retrieving data from the blockchain.

Key Modules

These modules provide specific functionality that can be used independently or in combination to build your application.

Getting Started

1

Set Up Development Environment

Install the necessary SDKs for your project:
# Install core SDKs
npm install @ixo/impactxclient-sdk @ixo/matrixclient-sdk
2

Configure Clients

import { createClient } from "@ixo/impactxclient-sdk";
import { createMatrixClient } from "@ixo/matrixclient-sdk";

// Initialize blockchain client
const chain = await createClient({
  rpcEndpoint: "https://rpc.ixo.world",
  chainId: "ixo-5"
});

// Initialize Matrix client
const matrix = await createMatrixClient({
  baseUrl: "https://matrix.ixo.world",
  accessToken: "YOUR_ACCESS_TOKEN"
});
3

Implement Core Functionality

Use the SDKs to implement your application’s core features:
// Create a digital twin entity
const entity = await chain.createEntity({
  type: "Asset",
  name: "Solar Panel Array",
  data: {
    capacity: "5kW",
    location: "51.5074,-0.1278"
  }
});

// Create a secure data room
const room = await matrix.createRoom({
  name: "Entity Data Room",
  encryption: true
});

// Store data securely
await matrix.sendEvent(room.roomId, "m.room.message", {
  msgtype: "m.data",
  body: JSON.stringify(sensorData)
});

Example Use Cases

The IXO development stack can be used to build a wide range of applications. Here are some example use cases to help you understand how these modules can be used together for specific applications.
A system for measuring, reporting, and verifying impact data:
  • Digital Twins: Create entities for projects and devices
  • Data Rooms: Store sensor data securely
  • Claims: Submit and verify impact claims
  • Oracles: Validate data and generate attestations
View MRV Example
A platform for secure collaboration on sensitive data:
  • Data Rooms: Create encrypted spaces for collaboration
  • Authentication: Manage user access and permissions
  • Messaging: Enable secure communication
  • File Storage: Share documents securely
View Collaboration Example

Resources

I