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.
npm install @contacthi/sdk
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);
const pref = await client.checkPreferences({
recipientDid: 'did:chi:recipient-did',
intent: 'INFORM',
senderType: 'AUTONOMOUS_AGENT',
});
if (pref.permitted) {
// safe to send
}
The reference router node exposes a simple REST API. All requests require a valid CHI 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
}
CHI/1.0 is a draft open standard. The full specification is available in the GitHub repository.