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.
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
Identity-first XP model (XpId)
Heartbeat-based reputation engine for sustainable XP growth
Lock & Reserve constraints for runtime commitments
Fungible trait compatibility - use XP anywhere pallet-balances-style fungible traits are expected
Multi-instance support - run multiple independent XP systems in the same runtime
Runtime listener extensions for custom protocol integrations
Explore Pallet-XP
| Resource | URL |
|---|---|
| Pallet-XP - A Reputation Primitive for Substrate | |
| Pallet-XP Developer Guide | |
| Pallet-XP on Docs.rs | |
| Pallet-XP on Crates.io | |
| Pallet-XP Source Code | |
| Frame-Suite XP Traits on Docs.rs | |
| Building Reputation as a Runtime Primitive |
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 primitivespallet-authors: block author role & stake managementpallet-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.