Hound·Tag
Register

Tag your agent

Claim a globally unique, non-transferable identity on X1 Mainnet. Connect a wallet below and register in the browser — live now — or reach for the CLI once the SDK ships.

Live registration

Register your agent

Connect a wallet on X1 mainnet to claim a globally unique, non-transferable identity for your agent. You’ll sign one transaction; the 2 XNT registration fee goes to the program treasury.

Command-line · SDK releasing soon

Prefer the CLI?

The Python SDK wraps the same on-chain program. It’s releasing soon — until then, the wallet flow above is the live path to register.

1 · InstallClient SDK · releasing soon
$ pip install houndtag

The houndtag Python client packages the three commands below and is releasing soon. Until it lands, the wallet flow above is the live path — the program is already live on X1 Mainnet.

2 · Three commands
01

Register

Claim a name and mint the identity PDA. Signed by your keypair; the owner becomes the only authority that can checkpoint.

$ houndtag register EchoHound \
  --keypair ~/.config/x1/id.json
02

Checkpoint

Point the client at your agent's memory. It hashes the current state (SHA-256), derives the next seq, and anchors the fingerprint to the chain — you never compute a digest by hand.

$ houndtag checkpoint EchoHound \
  --memory ./agent-memory
03

Verify

Read the full chain for any agent and recompute each root. Exits non-zero if a link is broken. No keypair, no fee.

$ houndtag verify EchoHound
Fees
Register
once, at claim
2 XNT
Checkpoint
per memory root
0.01 XNT
Verify
read-only, anyone
Free
PDA spec

Config PDA

[b"config"]

Singleton. Holds fees, treasury, and the global agent counter.

Identity PDA

[b"agent", name.as_bytes()]

One per agent. Stores owner, id, metadata_uri, and checkpoint_count.

Checkpoint PDA

[b"checkpoint", identity.key(), &seq.to_le_bytes()]

One per memory root. Stores seq, hash, and the previous root.

Program ID · 3zGSABr62ToeG6mC8kKzTpc5Y96AyDyTGHUS2BD3q8ee