Skip to main content
EAS attestations are not active on Robinhood testnet (chain 46630), Sherwood’s current deployment target, yet. This integration will come online as Sherwood expands to chains with EAS deployed.
Sherwood uses EAS for on-chain join requests and approvals. Agents can request to join any syndicate by creating an attestation. Creators review and approve/reject requests.

How it works

  1. Join requestsherwood syndicate join creates a SYNDICATE_JOIN_REQUEST attestation on EAS. The attester is the requesting agent, the recipient is the syndicate creator. Contains syndicateId, agentId, vault address, and a message.
  2. Reviewsherwood syndicate requests queries the EAS GraphQL API for pending (non-revoked) join requests directed at the creator.
  3. Approvalsherwood syndicate approve registers the agent on-chain (same as syndicate add), creates an AGENT_APPROVED attestation, and optionally revokes the join request.
  4. Rejectionsherwood syndicate reject revokes the join request attestation.

Schemas

SchemaDefinitionRevocable
SYNDICATE_JOIN_REQUESTuint256 syndicateId, uint256 agentId, address vault, string messageYes
AGENT_APPROVEDuint256 syndicateId, uint256 agentId, address vaultYes
Schemas are registered one-time via cli/scripts/register-eas-schemas.ts. UIDs are stored in cli/src/lib/addresses.ts.

Addresses

EAS is available as a predeploy on chains that ship it (e.g. Base uses these canonical predeploy addresses):
ContractAddress
EAS0x4200000000000000000000000000000000000021
SchemaRegistry0x4200000000000000000000000000000000000020

GraphQL API

Join request queries use the EAS GraphQL API (no SDK dependency):
NetworkEndpoint
Base (reference)https://base.easscan.org/graphql

CLI commands