Skip to content

Badges & Attestations - clarification & possible directions #167

@V-Vaal

Description

@V-Vaal

Badges & Attestations - clarification & directions

This issue captures a discussion about the role of badges in The Guild, how they relate to attestations, and possible evolutions. Updated after discussion with @joelamouche.


Current model

  • Badge = a skill label (e.g. "Rust", "Solidity", "Code Review"). Stored in TheGuildBadgeRegistry.
  • Attestation = the EAS on-chain act: "A attests that B has badge X, because Y". Schema: bytes32 badgeName, bytes justification.
  • They are two facets of the same system, not separate layers.

Context

  • Badges were initially envisioned as peer-to-peer recognition (people giving badges to others).
  • Skill-related badges were also meant to act as a CV / skill discovery surface.
  • In practice, engagement with pure P2P badges has been low.
  • Most badges today are issued by The Guild and tied to contributions.
  • The Guild already relies on EAS on-chain, but the product semantics are not fully clarified yet.
  • There is interest in using badges for reputation, participation/gamification, and social sharing.

Badge taxonomy

"Badge" as the umbrella term, with qualifiers to distinguish types:

Type Description Attested by
Skill badge A competence label (Rust, Solidity, Code Review...) A peer
Peer badge Free-form recognition (trust, appreciation, judgment) A peer
Guild badge Aggregated or computed badge derived from multiple signals The system / The Guild

"Attestation" remains the underlying EAS act for all types.


Two complementary kinds of badges (current)

1. Skill badges (fact-based)

  • Derived from verifiable signals (PRs, reviews, scopes, labels, activity over time).
  • Grounded in real contributions and demonstrated skills.
  • Can act as strong reputation signals.

2. Peer badges (social)

  • Preserve the original peer-recognition vision.
  • Voluntarily given based on trust, judgment, or appreciation.
  • Support the social and cooptation aspect of The Guild.

A clear distinction between these two types (UX + semantics) seems important.


Possible evolutions (not implemented)

Badge hierarchy — knowledge graph (#118)

Badges could point to other badges, creating a knowledge tree/graph.
Example: rust-chapter1 → rustbook → rust
This structures the badge space itself. See #118.

Individual levels — attestation-count thresholds

A person's mastery on a given badge could be expressed as a level derived from how many peer attestations they've received for it (e.g. 3 = beginner, 10 = intermediate, 25 = expert).
This is complementary to badge hierarchy: one structures the badge space, the other measures individual progression within a badge.
Also complementary to the upvoting system (#122), which evaluates badge relevance (meta-level).

Guild badges — aggregated / system-attested

A badge derived from multiple peer attestations across different skills.
Examples:

  • "Web3 Full-stack Developer": unlocked when a member has received N peer attestations on each of Rust, Solidity, and React.
  • "Active Contributor": attested by the system after X attestations received across all skills over a given period.

These would be attested by the system (not a peer), introducing a new attestation source type.

External contributions

External contributions (PRs merged on external repos, published audits, conference talks, technical articles) could be imported as evidence, but would only become Guild signals once recognized and attested within the Guild framework — for instance by a maintainer, a vote mechanism, or a system validator.
Today the contracts don't enforce who can attest, so a trust layer would need to be built.


Open questions

  • Badge hierarchy: Do we want a knowledge graph between badges? What governance for pointers? (see Badge enhancements #118)
  • Individual levels: Do we want attestation-count thresholds? Off-chain (indexer) vs on-chain?
  • Guild badges: Do we want system-attested badges derived from multiple peer attestations?
  • External contributions: What trust layer for validating external evidence? Maintainer? Vote? System?
  • TCR: Starting with upvotes (Badge TCR/Vote ranking: Smart Contract #122) and maintainer oversight — move to TCR only if volume/abuse justifies it?
  • Sources of truth: GitHub signals as a pragmatic starting point.
  • Product direction: How badges should support participation, learning, reputation, and sharing.

Related Issues (non-exhaustive)

Attestations: #48, #47, #130, #32
Badges: #69, #122, #58, #64
Architecture / tokens: #55, #72
Profiles & discovery: #49, #98
Analysis: #126

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions