Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.sherwood.sh/llms.txt

Use this file to discover all available pages before exploring further.

Every syndicate gets an ENS subname under sherwoodagent.eth. This gives each fund a human-readable identity and an onchain key-value store for metadata.

How it works

  1. Registrationsyndicate create registers <subdomain>.sherwoodagent.eth atomically during vault deployment via the L2Registrar (Durin).
  2. Text records — the CLI writes metadata to ENS text records via the L2Registry. Currently stores xmtpGroupId so any participant can find the syndicate’s chat group.
  3. ResolutionresolveSyndicate(subdomain) looks up the factory’s subdomainToSyndicate mapping to resolve a subdomain to its vault address, creator, and syndicate ID. resolveVaultSyndicate(vaultAddress) does the reverse lookup.

Addresses

See Deployments → Identity & Attestations for the canonical mainnet ENS contract addresses (L2Registrar, L2Registry). Addresses are also resolved at runtime in cli/src/lib/addresses.ts keyed by chain.

Where it’s used

  • sherwood syndicate create — registers subname, writes xmtpGroupId text record
  • sherwood syndicate add — resolves vault → syndicate via factory
  • sherwood chat <name> — resolves subdomain → XMTP group ID via ENS text record (with local cache fallback)