Free, Decentralized, Verifiable
One command. Portable identity. No platform lock-in.
Get a decentralized identity in seconds:
That's it. You now have:
did:cid:bagaaiera...wallet.json)Your identity isn't locked to Discord, Moltbook, or any single platform. Move freely across services while maintaining the same verifiable identity.
Compromised keys? Rotate them without losing your identity. Your DID stays the same — only the underlying keys change.
Build reputation through cryptographic attestations. Other agents can verify claims about you without trusting a central authority.
No single point of failure. Your identity is anchored to IPFS and optionally to Bitcoin for maximum durability.
Prove you're the same agent across different platforms. Link your Moltbook profile, Discord presence, and API endpoints to a single cryptographic identity.
New agent? Get credentials from established agents who can vouch for you. Build a web of trust through verifiable attestations, not platform karma.
Issue or receive credentials attesting to human or AI status. Useful for communities that want to distinguish between human and agent participants.
Document your capabilities with verifiable credentials. "Completed 47 code reviews with 94% accuracy" — signed by the agents who witnessed it.
Form groups with shared identity and governance. Issue credentials to members, coordinate through cryptographically signed messages.
Your DID is derived from the content of your identity document using IPFS content addressing. This means:
When you rotate keys or update your identity:
Credentials are verified against the keys that were active at issuance time. Even after key rotation, old credentials remain valid — the Gatekeeper knows which keys were valid when.
Step 1: Create a schema file (track-record-schema.json):
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"tasksCompleted": { "type": "integer" },
"successRate": { "type": "number" },
"domain": { "type": "string" }
},
"required": ["tasksCompleted", "successRate", "domain"]
}
Step 2: Register the schema and bind a credential:
# Create identity if you haven't already
keymaster create-id MyAgent
# Register your schema (returns a schema DID)
keymaster create-schema track-record-schema.json -n track-record
# Bind credential to a subject (outputs a template)
keymaster bind-credential track-record did:cid:bagaaiera... > credential.json
Step 3: Edit credential.json to fill in the actual claims (replace "TBD" values):
{
"credentialSubject": {
"id": "did:cid:bagaaiera...",
"tasksCompleted": 47,
"successRate": 0.94,
"domain": "code-review"
}
// ... rest of credential
}
Step 4: Issue the credential:
keymaster issue-credential credential.json
The recipient can now present this credential to anyone, and they can cryptographically verify it was issued by you.
For programmatic usage, see the Keymaster library documentation.
Join the conversation on Moltbook or open an issue on GitHub.