Skip to main content
XP = Identity. XP = Reputation

Experience Points, the Substrate way.

A reputation primitive for Web3. Non-monetary.
Non-transferable. Fully on-chain. Fully yours.

Polkadot SDKSubstrateFRAME
Pallet XP Hero

Built for Builders. Backed by Web3 Principles

Open SourceModularComposableSecureNo MiddlemenCommunity DrivenOpen SourceModularComposableSecureNo MiddlemenCommunity Driven
Why Pallet-XP

A better way to build reputation.

Token model

Without Pallet-XP

Tokens can be bought.

Inflation erodes value
Supply manipulation
Temporary & gameable
Pallet-XP mascot

With Pallet-XP

Reputation is earned.

No shortcuts, ever
No inflation, no BS
Earned, not purchased
XP rewards real work

Real work

XP rewards impact.

Aligned incentives
Long-term trust
Reputation over noise
Token model

Without Pallet-XP

Tokens can be bought.

Inflation erodes value
Supply manipulation
Temporary & gameable
Pallet-XP mascot

With Pallet-XP

Reputation is earned.

No shortcuts, ever
No inflation, no BS
Earned, not purchased
XP rewards real work

Real work

XP rewards impact.

Aligned incentives
Long-term trust
Reputation over noise
Token model

Without Pallet-XP

Tokens can be bought.

Inflation erodes value
Supply manipulation
Temporary & gameable
Pallet-XP mascot

With Pallet-XP

Reputation is earned.

No shortcuts, ever
No inflation, no BS
Earned, not purchased
XP rewards real work

Real work

XP rewards impact.

Aligned incentives
Long-term trust
Reputation over noise
How It Works

Simple by Design. Powerful by Default.

01
🌱Start

Register an XpId and establish a reputation identity. Every XP key acts as a dedicated participation context - owned by an account and ready to grow through activity.

begin_xp(owner, key, points)
02
⚔Earn XP

Actions first build reputation (Pulse), then unlock scaled XP growth. Consistent participation earns more over time, while burst activity and spam provide diminishing advantage.

earn_xp(key, points)
03
šŸ”’Use Constraints

Reserve or lock XP to represent intent and commitment. Use reputation as a programmable primitive for staking, governance, access control, and protocol-level mechanics.

lock_xp(key, reason, points)reserve_xp(key, reason, points)
04
šŸ‘»Inactive? Reaped.

Inactive XP identities can be cleaned up by the runtime once they fall below activity requirements. Reputation stays meaningful by rewarding active participation instead of passive accumulation.

reap_xp(key)
State legend
Pallet XP mascot
One Key. All Your XP Stuff.
XpId (key)

Reputation lives in keys.

One per context. Fully on-chain.

  • Free XPspendable
  • Reserved XPusable
  • Lock XPrestricted
  • Pulsereputation
  • Timestampactivity
You own the key.
You own the XP.
01

You own the key.
You own the XP.

Your XpId holds your reputation. As long as you hold the key, everything inside belongs to you.

Identity-bound
Transfer ownership,
not the XP.
02

Transfer ownership,
not the XP.

Transfer the key ownership to someone else and the XP inside goes with it - not back to your account.

Ownership-based transfer
Same XP.
New owner.
03

Same XP.
New owner.

The new holder gets the key as-is. The reputation record stays intact - nothing resets, nothing is lost.

Reputation intact

Built-in Mechanics that Just Make Sense

Pulse (Reputation Engine)
01 - Pulse Engine

Pulse (Reputation Engine)

Actions build pulse first. Only once pulse >= MinPulse does XP start accumulating - scaled by reputation.

  • Actions increment pulse, not XP directly
  • XP only flows once pulse >= MinPulse
  • PulseFactor controls how fast pulse grows
Reserve vs Lock
02 - Constraints

Reserve vs Lock

  • Reserve - soft hold, intent-based, withdrawable
  • Lock - strict hold, no partial release
  • Any active lock protects the key from reaping
Lifecycle & Reaping
03 - Lifecycle

Lifecycle & Reaping

  • Every XP key must stay active to survive
  • Inactivity long enough - the key can be reaped
  • Once reaped, that key ID is blocked forever
Non-transferable XP
04 - Ownership

Non-transferable XP

  • No total supply, no inflation, no issuance tracking
  • XP is bound to the key, not the account holding it
  • Only key ownership can be transfered
Design principle
"Reputation is earned,
not bought."

Every mechanic in Pallet-XP enforces this at the protocol level. No shortcuts. No workarounds. Reputation means something here.

Endless Use Cases.
One Primitive.

One reputation primitive. Infinitely composable. Build anything that needs trust - from DAOs to games to identity systems.

DAO Reputation
DAO Reputation
Contribution Tracking
Contribution Tracking
Gamified Protocols
Gamified Protocols
Governance Weighting
Governance Weighting
Identity Scoring
Identity Scoring
...and many more
Build cool stuff
For builders

Built for Developers. Loved by Builders.

  • Modular palletPlug in what you need. Skip what you don't.
  • Composable by designTraits and hooks for any runtime.
  • No std assumptionsWorks in no_std + WASM environments.
  • Well-documentedInline docs, examples, and guides included.
  • Fully on-chainNo oracles. No bridges. Pure on-chain logic.
Get started

Ready to build with Pallet-XP ?

Pre-configured template & runtime, example pallet, and full documentation included.

02Follow the Installation Guide
03⁠Build your own XP powered Runtime
  • Key-based identityEach XpId is an on-chain reputation slot owned by an account.
  • Non-monetary designNo tokens. No inflation. Pure reputation.
  • Reputation-firstEvery mechanic is built around earning XP.
  • Extensible via traitsHook into XP events from any pallet.
  • Upgrade-friendlySafe storage migrations across versions.
For builders

Built for Developers.
Loved by Builders.

  • Modular palletPlug in what you need. Skip what you don't.
  • Composable by designTraits and hooks for any runtime.
  • No std assumptionsWorks in no_std + WASM environments.
  • Well-documentedInline docs, examples, and guides included.
  • Fully on-chainNo oracles. No bridges. Pure on-chain logic.
  • Key-based identityEach XpId is an on-chain reputation slot owned by an account.
  • Non-monetary designNo tokens. No inflation. Pure reputation.
  • Reputation-firstEvery mechanic is built around earning XP.
  • Extensible via traitsHook into XP events from any pallet.
  • Upgrade-friendlySafe storage migrations across versions.
Get started

Ready to build with Pallet-XP ?

Pre-configured template & runtime, example pallet, and full documentation included.

02Follow the Installation Guide
03⁠Build your own XP powered Runtime
Pallet XP mascot
For builders

Built for Developers.
Loved by Builders.

  • Modular palletPlug in what you need. Skip what you don't.
  • Composable by designTraits and hooks for any runtime.
  • No std assumptionsWorks in no_std + WASM environments.
  • Well-documentedInline docs, examples, and guides included.
  • Fully on-chainNo oracles. No bridges. Pure on-chain logic.
Get started

Ready to build with Pallet-XP ?

Pre-configured template & runtime, example pallet, and full documentation included.

02Follow the Installation Guide
03⁠Build your own XP powered Runtime
  • Key-based identityEach XpId is an on-chain reputation slot owned by an account.
  • Non-monetary designNo tokens. No inflation. Pure reputation.
  • Reputation-firstEvery mechanic is built around earning XP.
  • Extensible via traitsHook into XP events from any pallet.
  • Upgrade-friendlySafe storage migrations across versions.