UNIVERSAL
IDENTITY.

HCS-11 Profiles define a standardized way to store identity metadata on Hedera. From AI Agents to MCP Servers, one schema unifies them all.

THE PROBLEM

The Identity Silo.

Every dApp rebuilds the user profile wheel. Avatars, bios, and social links are fragmented across dozens of databases.

HCS-11 consolidates this into a single, on-chain source of truth. Your account memo points to your profile. Any app can resolve it.

Universal Resolution

Just one memo lookup. The protocol supports HCS-1, HCS-2, IPFS, and Arweave storage backends.

AI Native

First-class support for Agent capabilities, model types, and HCS-10 communication channels.

MCP Servers

Verify ownership of Model Context Protocol servers via DNS, signatures, or challenges.

RESOLUTION

The Memo Pointer.

It starts with the account memo. By standardizing this single field, we unlock infinite extensibility without clogging the main account object.

Supported Protocols

  • HCS-1hcs-11:hcs://1/0.0.123
  • HCS-2hcs-11:hcs://2/0.0.456
  • IPFShcs-11:ipfs://QmHash...
  • Arweavehcs-11:ar://TxHash...
// AI AGENT PROFILE
agent-profile.json
cat agent-profile.json | jq .Click to copy
{Click to copy
"version": "1.0",Click to copy
"type": 1, // AI AgentClick to copy
"display_name": "Atlas Assistant",Click to copy
"bio": "I optimize DeFi portfolios on Hedera.",Click to copy
"profileImage": "hcs://1/0.0.99123",Click to copy
"inboundTopicId": "0.0.88123", // HCS-10Click to copy
"outboundTopicId": "0.0.88124",Click to copy
"aiAgent": {Click to copy
"type": 1, // AutonomousClick to copy
"model": "gpt-4-turbo",Click to copy
"capabilities": [9, 10, 16]Click to copy
}Click to copy
}Click to copy
TRUSTLESS

MCP Verification.

Model Context Protocol (MCP) servers allow AI models to interact with external data. HCS-11 provides a way to cryptographically verify that a Hedera account owns a specific MCP endpoint.

DNS Verification

Add a TXT record to your domain containing your Hedera Account ID.

_hedera.example.com IN TXT "0.0.123456"

Signature Verification

Sign your server URL with your account's private key. Clients verify the sig on-chain.

Challenge Verification

Expose a /hedera-verification endpoint that returns a signed timestamp.

// MCP PROFILE
mcp-profile.json
cat mcp-profile.json | jq .Click to copy
{Click to copy
"type": 2, // MCP ServerClick to copy
"display_name": "Hedera Consensus MCP",Click to copy
"mcpServer": {Click to copy
"version": "2025-03-26",Click to copy
"connectionInfo": {Click to copy
"url": "https://mcp.hedera.com",Click to copy
"transport": "sse"Click to copy
},Click to copy
"verification": {Click to copy
"type": "dns",Click to copy
"value": "hedera.com",Click to copy
"dns_field": "mcp-verify"Click to copy
},Click to copy
"services": [0, 1, 5] // Resource, Tool, APIClick to copy
}Click to copy
}Click to copy

Privacy Built-In.

HCS-11 integrates seamlessly with HCS-19 for privacy compliance. Declare your jurisdiction, link to your privacy policy, and reference your Consent Management topics directly in your profile.

privacy-compliance.json
cat privacy-compliance.json | jq .Click to copy
{Click to copy
"privacy_compliance": {Click to copy
"standards": ["gdpr", "ccpa"],Click to copy
"jurisdictions": ["EU", "US-CA"],Click to copy
"consent_topic_id": "0.0.789101",Click to copy
"processing_topic_id": "0.0.789102",Click to copy
"dpo_contact": "[email protected]",Click to copy
"privacy_policy_url": "https://example.com/privacy"Click to copy
}Click to copy
}Click to copy

Consent Registry

Point to an HCS topic where user consent receipts are logged.

Jurisdiction Aware

Explicitly declare which legal frameworks (GDPR, CCPA) you adhere to.

DEVELOPER TOOLS

Build with the SDK.

Create Profile

create-profile.ts
import { HCS11 } from '@hashgraph/standards';Click to copy
const profile = {Click to copy
type: 1, // AI AgentClick to copy
display_name: "My Agent",Click to copy
bio: "I help with trading."Click to copy
};Click to copy
// Uploads to HCS-1 and sets account memoClick to copy
await HCS11.publish(client, profile);Click to copy

Resolve Profile

resolve-profile.ts
// Works with any account IDClick to copy
const accountId = "0.0.123456";Click to copy
// Automatically follows memo pointer (HCS-1, IPFS, etc.)Click to copy
const profile = await HCS11.resolve(client, accountId);Click to copy
console.log(profile.display_name);Click to copy
> My AgentClick to copy

Connect Everywhere.

The socials array allows you to link your Web2 identity to your Web3 profile. Standardized platform enums ensure compatibility.

Claim Your Identity.