Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.ixo.world/llms.txt

Use this file to discover all available pages before exploring further.

An entity domain is the on-chain representation of a real-world organisation, project, asset, deed, or device on the IXO Protocol. Each domain is anchored by a Decentralized Identifier (DID), governed by one or more controllers, and extended with services, resources, accorded rights, linked claims, relationships, and accounts. This page is a routing map. It does not duplicate concept, task, or SDK details — those live on the canonical pages below.

Where each detail lives

You want to…Read this
Understand the data model and lifecycleDomain configuration
Understand the digital-twin modelDigital twins
Register a new domain end-to-endDomain registration
Configure controllers, services, resources, rightsConfigure domain settings
Decide what to keep on protocol vs in IXO MatrixDomain privacy patterns
Build with the SDKIXO MultiClient SDK and @ixo/impactxclient-sdk README
Query domains and related stateBlocksync GraphQL API
Inspect raw entity messages and queriesgRPC gateway API

Minimal SDK reference

Composing entity messages uses the same three-step pattern as every IXO Protocol module: create a query or signing client, compose a message, sign and broadcast. The @ixo/impactxclient-sdk package exposes proto-derived message factories under ixo.*.
The snippet below is a structural reference. For full installation, signer setup, and broadcast patterns see the IXO MultiClient SDK README and the worked examples in Developer workflows.
import { ixo, createSigningClient } from "@ixo/impactxclient-sdk";

const signingClient = await createSigningClient(RPC_ENDPOINT, offlineSigner);

const message = {
  typeUrl: "/ixo.entity.v1beta1.MsgCreateEntity",
  value: ixo.entity.v1beta1.MsgCreateEntity.fromPartial({
    // See the entity proto for the full field set:
    // https://github.com/ixofoundation/ixo-blockchain/tree/main/proto/ixo/entity/v1beta1
    ownerAddress: SIGNER_ADDRESS,
    entityType: "asset",
    context: [],
    verification: [],
    controller: [],
    service: [],
    linkedResource: [],
    accordedRight: [],
    linkedEntity: [],
    linkedClaim: [],
  }),
};

const fee = "auto";
const response = await signingClient.signAndBroadcast(SIGNER_ADDRESS, [message], fee);
The full set of entity messages — MsgCreateEntity, MsgUpdateEntity, MsgUpdateEntityVerified, MsgTransferEntity, MsgCreateEntityAccount, MsgGrantEntityAccountAuthz, MsgRevokeEntityAccountAuthz — is generated from the x/entity proto definitions and exposed under ixo.entity.v1beta1.* on the SDK.

Next steps

Domain configuration

The data model behind every entity domain.

Configure domain settings

Update controllers, services, resources, and accorded rights.

Domain privacy patterns

What to keep on protocol vs in IXO Matrix.

IXO MultiClient SDK

The TypeScript SDK that exposes entity messages.