Skip to main content

Contributors

Contributors are the attribution unit for b1e55ed. A contributor represents a human operator or an agent process that can submit signals or otherwise influence decisions. Roles:
  • operator
  • agent
  • tester
  • curator

Identity model

b1e55ed uses two identities:
  1. Local node identity (Ed25519)
    • Stored at ~/.b1e55ed/identity.key
    • Used by the engine security layer
  2. Forged Ethereum identity (The Forge)
    • Stored at .b1e55ed/identity.json
    • Used for Ethereum-facing integrations (EAS) and network identity
The contributor registry references a stable node_id string.

Registration

CLI

List contributors:
Register:
Register and create an EAS off-chain attestation (optional):
Remove:

API

Register:
List:

GitHub auto-publish

When configured, b1e55ed opens a GitHub issue in a designated repo when a contributor is registered. This creates a public record without requiring on-chain transactions. Configure in config/user.yaml:
The attestation record returned by GET /api/v1/contributors/{id}/attestation includes a published field indicating whether the GitHub issue was created and its URL.

Signal attribution

Signals can be attributed to contributors via:
  • POST /api/v1/signals/submit
The submit endpoint:
  • resolves a contributor by node_id
  • writes the signal event
  • records attribution in contributor_signals
This path is intended for external operator layers and agent producers.

EAS attestations

If EAS is enabled, b1e55ed can create an off-chain attestation for a contributor and store:
  • metadata.eas.uid
  • metadata.eas.attestation
Useful commands:
See: eas-integration.md.

Reputation scoring

Contributor scoring is computed from locally observed outcomes. The scoring output includes:
  • signals submitted / accepted / profitable
  • hit rate
  • streak
  • karma attribution
  • final score
CLI:
API:
  • GET /api/v1/contributors/{id}/score
  • GET /api/v1/contributors/leaderboard

Leaderboard

The leaderboard is a projection over the scoring model. Use it for routing decisions, automated weighting, and operator review.