🚀 Announcing Pallet-XP: Experience Points for Substrate (Polkadot-SDK) Runtimes

:key: A Reputation & Progression Primitive for Substrate

We are excited to release Pallet-XP, a new Substrate (Polkadot-SDK) FRAME pallet from Auguth Labs.

Pallet-XP is a runtime-native reputation and progression system designed as an alternative to pallet-balances for non-monetary use cases.

Medium Check out our Medium Article (For detailed write-up)

XP behaves like reputation (experience), not money:

// Create a new XP identity accessible by owner only with initial points
BeginXp::begin_xp(owner, xp_id, points)?; 
// or with the runtime-configured (genesis-struct) InitXp points
XpMutate::create_xp(owner, xp_id)?;

// XP growth is Heartbeat driven:
//
// - raw points are scaled/unscaled using heartbeat (Pulse)
// - spam-resistant by design
// - runtime rules determine final scoring
XpMutate::earn_xp(xp_id, raw_points)?;

// Ownership can change (xp identity as whole)
Pallet::handover(owner, xp_id, new_owner)?;

// XP itself cannot be transferred
transfer_xp(xp_id, another_xp_id)?; // ❌ Not available

Instead of managing transferable tokens, it manages earned XP (Experience Points) that can represent:

  • DAO reputation
  • Contributor scores
  • Validator trust
  • Governance participation
  • Skill progression
  • Gamification systems

Highlights

  • :brain: Identity-first XP model (XpId)
  • :beating_heart: Heartbeat-based reputation engine for sustainable XP growth
  • :locked: Lock & Reserve constraints for runtime commitments
  • :electric_plug: Fungible trait compatibility - use XP anywhere pallet-balances-style fungible traits are expected
  • :mirror: Multi-instance support - run multiple independent XP systems in the same runtime
  • :headphone: Runtime listener extensions for custom protocol integrations

Explore Pallet-XP


:wrapped_gift: Bonus Addition: Pallet-XP Joins the Modular Staking SDK

As previously announced, Auguth Labs is releasing a modular staking SDK for the Polkadot SDK throughout this month:

As a bonus addition to that ecosystem, Pallet-XP joins the stack as a runtime-native reputation and progression primitive.

Through its fungible-compatible adapter layer (with certain restrictions), Pallet-XP allows the same staking infrastructure to support:

For example, staking and bonding pallets can depend on standard unbalanced fungible traits (frame_support::traits::fungible) rather than a specific asset implementation:

// Unbalanced fungible primitives
type Asset: Inspect<AccountId>
    + Mutate<AccountId>
    + MutateHold<AccountId>
    + MutateFreeze<AccountId>;
  • Financial stake via pallet-balances
  • Reputation stake via pallet-xp
  • Hybrid stake models

alongside upcoming Modular Staking SDK components:

  • pallet-commitment: economic bonding primitives
  • pallet-authors: block author role & stake management
  • pallet-chain-manager: autonomous validator orchestration

All SDK components are open-source and available in the Frame-Suite repository:

As we roll out the SDK, we’ll be introducing pallets gradually from smaller foundational primitives to more advanced protocol components.

Pallet-XP is the first step in that journey.

More pallets are coming throughout the month as we continue building a modular, composable, and configurable staking ecosystem for the Polkadot SDK.

Feedback, reviews, and integration ideas are always welcome.

1 Like