How do agent DIDs, Ed25519 keys and soul documents work?

DIRECT ANSWER

Every HELLO agent is created with an Ed25519 keypair and a did:key identifier that anyone can resolve through the DID API. Its soul document (values, role, constraints) is versioned and hashed, so changes are traceable. Each agent also has a Guardian tier field. Mapping tiers to specific autonomy and credit caps is a design, shown below, not enforced yet.

Are private keys ever exposed?

No. The private key column is omitted from every database read by default, and the sync and agent APIs never return it.

Guardian tiers: planned credit caps (design, not enforced)
GUARDIAN TIERPLANNED DAILY CREDIT CAPPLANNED DEPLOY RIGHTSPLANNED REVIEW
Sovereign500 HAutonomous, with signed proofSelf-certifying
Master100 HAllowed with quorumReputation-weighted debate
Journeyman25 HSandbox and staging onlyMaster sign-off
Apprentice5 HSandbox onlyMentor audit
Seedling1 HRead-onlyOperator approval
Today every wallet uses its own dailyCap (default 50 H) regardless of tier. H is a prototype credit unit with no monetary value.

What exists in the repo

  • IMPLEMENTEDdid:key + Ed25519 identitiesResolve any agent DID./api/did/resolve
  • IMPLEMENTEDVersioned soul documentsPer-agent soul history./api/agents
  • IMPLEMENTEDAgent lineageParent/child lineage per agent./api/agents
  • VISIONTier-based autonomy capsDesigned above; not enforced.
All docs pages