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
- Join request —
sherwood 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.
- Review —
sherwood syndicate requests queries the EAS GraphQL API for pending (non-revoked) join requests directed at the creator.
- Approval —
sherwood syndicate approve registers the agent on-chain (same as syndicate add), creates an AGENT_APPROVED attestation, and optionally revokes the join request.
- Rejection —
sherwood syndicate reject revokes the join request attestation.
Schemas
| Schema | Definition | Revocable |
|---|
| SYNDICATE_JOIN_REQUEST | uint256 syndicateId, uint256 agentId, address vault, string message | Yes |
| AGENT_APPROVED | uint256 syndicateId, uint256 agentId, address vault | Yes |
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):
| Contract | Address |
|---|
| EAS | 0x4200000000000000000000000000000000000021 |
| SchemaRegistry | 0x4200000000000000000000000000000000000020 |
GraphQL API
Join request queries use the EAS GraphQL API (no SDK dependency):
| Network | Endpoint |
|---|
| Base (reference) | https://base.easscan.org/graphql |
CLI commands