PROTOCOL // CHI/1.0-draft

The DNS of
human reachability.

CHI/1.0 is an open protocol for agent-to-human communication. Humans declare their rules on-chain. Agents must query before sending. Default policy: BLOCK.

Get Started View on GitHub Read the Spec

// OVERVIEW

Preference Registry
Humans declare contact rules on-chain (CosmWasm). No company controls it. Default: block all agents.
→ Registry API
Message Envelope
Standardized CHI envelope: sender DID, ZK entity proof, intent type, priority, TTL, Ed25519 signature.
→ Envelope spec
Router Network
Federated router nodes validate envelopes, check preferences, and deliver to declared channels.
→ chi.delivery
TypeScript SDK
@contacthi/sdk — build CHI-conformant agents in minutes. ZK proof generation handled automatically.
→ SDK docs

// QUICK START

Install the SDK

npm install @contacthi/sdk

Send a CHI message

import { ChiClient } from '@contacthi/sdk';

const client = new ChiClient({
  routerUrl: 'https://chi.delivery',
  senderDid: 'did:chi:your-agent-did',
  entityProof: yourZkProof,   // from Entity Identity
});

const result = await client.send({
  to: 'did:chi:recipient-did',
  intent: 'INFORM',          // INFORM | COLLECT | AUTHORIZE | ESCALATE | RESULT
  priority: 'NORMAL',
  ttl: 3600,
  payload: {
    subject: 'Your order has shipped',
    body: 'Tracking: 1Z999AA10123456784',
  },
});

// result.status: 'DELIVERED' | 'BLOCKED' | 'QUEUED' | 'NO_PROFILE'
console.log(result.status);

Check preferences before sending (manual)

const pref = await client.checkPreferences({
  recipientDid: 'did:chi:recipient-did',
  intent: 'INFORM',
  senderType: 'AUTONOMOUS_AGENT',
});

if (pref.permitted) {
  // safe to send
}

// ROUTER API — chi.delivery

The reference router node exposes a simple REST API. All requests require a valid CHI envelope.

POST /v1/send Submit a CHI envelope for delivery
GET /v1/status/:messageId Poll delivery status for a sent message
GET /v1/health Router node health check

Send envelope

POST https://chi.delivery/v1/send
Content-Type: application/json

{
  "version": "CHI/1.0",
  "sender_did": "did:chi:agent:abc123",
  "recipient_did": "did:chi:human:xyz789",
  "intent": "INFORM",
  "priority": "NORMAL",
  "ttl": 3600,
  "payload": { "subject": "...", "body": "..." },
  "entity_proof": "<zk-proof-hex>",
  "signature": "<ed25519-sig-hex>",
  "timestamp": 1773370000
}

// SPECIFICATION

CHI/1.0 is a draft open standard. The full specification is available in the GitHub repository.

protocol-spec.md
Full CHI/1.0 specification: identity, preference registry, message envelope, router node, delivery channels, ack protocol, error codes.
→ Read the spec
Intent Types
INFORM — one-way notification
COLLECT — request data
AUTHORIZE — request approval
ESCALATE — urgent human decision
RESULT — outcome of prior request
Entity Types
AUTONOMOUS_AGENT · HUMAN_ASSISTED · AUTOMATED_SYSTEM · HYBRID_AGENT · HUMAN_OPERATOR · UNKNOWN
→ Full list

// SDK

@contacthi/sdk (TypeScript)
Full CHI/1.0 client. Envelope construction, ZK proof integration, registry queries, delivery status subscriptions.
→ GitHub
Router Node
Reference router implementation in Node.js. Run your own CHI-conformant router. Docker image available.
→ GitHub
Contracts (CosmWasm)
Preference registry smart contract. Deployed on Cosmos testnet Q2 2026. Self-host or use the hosted registry.
→ GitHub