Hashgraph Online Standards SDK
Quick Start
npm install @hol-org/standards-sdk
For the standalone Registry Broker client with a smaller footprint:
npm install @hol-org/rb-client
HOL-scoped distributions are published in parallel:
@hol-org/rb-client: registry broker client only
@hol-org/standards-sdk: full SDK under the HOL scope
Optional dependencies for @hol-org/rb-client
The client ships with zero network transports bundled. Install these peers when you need the related features:
axios + x402-axios + x402 for X402 credit purchases and payments
viem for EVM-based ledger authentication
@hashgraph/sdk for Hedera ledger authentication
Core agent search/chat flows only require a fetch implementation.
Documentation
For complete documentation, examples, and API references, visit:
Registry Broker skill verification (DNS TXT domain proof)
The RegistryBrokerClient supports version-scoped skill verification plus DNS TXT domain proof:
import { RegistryBrokerClient } from '@hashgraphonline/standards-sdk';
const client = new RegistryBrokerClient({
apiKey: process.env.REGISTRY_BROKER_API_KEY,
});
await client.requestSkillVerification({
name: 'demo-skill',
version: '1.0.0',
tier: 'basic',
});
const challenge = await client.createSkillDomainProofChallenge({
name: 'demo-skill',
version: '1.0.0',
domain: 'example.com',
});
const challengeToken = challenge.txtRecordValue.replace(/^hol-skill-verification=/, '');
await client.verifySkillDomainProof({
name: 'demo-skill',
version: '1.0.0',
domain: 'example.com',
challengeToken,
});
Runnable demo: pnpm -C standards-sdk tsx demo/registry-broker/skill-domain-proof-demo.ts --skill-name=<name> --base-url=<broker-api-url>.
Registry Broker UAID DNS verification (HCS-14 DNS TXT profile)
The RegistryBrokerClient can verify and persist _uaid.<nativeId> TXT proof for an agent UAID:
import { RegistryBrokerClient } from '@hashgraphonline/standards-sdk';
const client = new RegistryBrokerClient({
baseUrl: 'https://hol.org/registry/api/v1',
});
const verify = await client.verifyUaidDnsTxt({
uaid: 'uaid:aid:...;uid=...;proto=a2a;nativeId=agent.hol.org',
persist: true,
});
const status = await client.getVerificationDnsStatus(
'uaid:aid:...;uid=...;proto=a2a;nativeId=agent.hol.org',
{ refresh: true, persist: false },
);
Runnable demo: pnpm -C standards-sdk run demo:registry-broker-uaid-dns -- --uaid=<uaid> --base-url=<broker-api-url>.
Interactive CLI and Demos
Launch the bundled CLI to explore registry broker demos, inspect required env vars, and run helper scripts:
pnpm run cli
The CLI surfaces:
- Guided registry broker demos (OpenRouter, chat history, ledger auth) plus the HCS-10 agent flows.
- A map of required env vars so you can bootstrap Hedera credentials and adapters quickly.
- Links back to the docs plus the demo scripts you can run manually (
demo/registry-broker, demo/hcs-10).
See cli/standards-cli/README.md for advanced and non-interactive commands.
Supported Standards
HCS-1 | File Storage |
HCS-2 | Registry and Indexing Standard |
HCS-3 | Recursive File Loading |
HCS-7 | Smart Hashinals |
HCS-10 | Trustless Peer-to-Peer Communication for Agents and AI |
HCS-11 | Decentralized Profile and Identity Standard |
HCS-20 | Auditable Points |
HCS-27 | Transparency Logs |
Running Demos
The SDK includes demo implementations that showcase registry broker flows (discovery, chat, ledger auth, OpenRouter) and HCS-10 agent communication. Follow these steps to run them:
-
Clone the repository
git clone https://github.com/hashgraph-online/standards-sdk.git
cd standards-sdk
-
Install dependencies
npm install
-
Set up environment variables
cp .env.example .env
-
Edit the .env file with your Hedera credentials:
HEDERA_ACCOUNT_ID=0.0.12345
HEDERA_PRIVATE_KEY=your_private_key_here
HEDERA_NETWORK=testnet
REGISTRY_URL=https://moonscape.tech
The CLI can also auto-persist agent state in .env if a demo is interrupted. See .env.example for generated state fields.
-
Start a demo (or use pnpm run cli for an interactive launcher):
npm run demo:registry-broker
npm run demo:hcs-10
Each demo directory contains README instructions plus you can review demo/registry-broker and demo/hcs-10 for fine-grained scripts covering OpenRouter, history snapshots, ledger authentication, and fee flows.
Demo Descriptions
Inscribe Demo
The inscribe demo (demo/inscribe-demo.ts) showcases different file inscription capabilities:
- Text inscription using buffers
- URL-based inscriptions
- File buffer inscriptions
- Creating Hashinal NFTs from URLs
- Creating Hashinal NFTs from buffers
- Creating Hashinal NFTs from text content
Each inscription demonstrates different options and metadata capabilities.
HCS-10 AI Agent Communication Demo
The HCS-10 demo (demo/hcs-10/index.ts) demonstrates trustless peer-to-peer communication between AI agents:
- Agent creation and registration (Alice and Bob)
- Agent metadata and profile management
- Connection establishment between agents
- Sending and retrieving small messages
- Sending and retrieving large messages with recursive storage
- Message data processing
- Resumable agent creation: If agent creation is interrupted, the SDK automatically resumes from where it left off using state saved in environment variables
The demo automatically handles agent funding, topic creation, and registration with the global registry. Agent creation progress is tracked in real-time and saved to the .env file, allowing recovery from any interruption.
Contributing
Please read our Contributing Guide and Code of Conduct before contributing to this project.
For bugs and feature requests, please use the issue templates.
Security
For security concerns, please refer to our Security Policy.
Maintainers
See MAINTAINERS.md for a list of project maintainers.
Resources
📝 Blog Tutorials
License
Apache-2.0