Track 3 · Programmable4 of 4

Staking

Lock any token, on any supported chain, against a smart contract, with the rules locked in for anyone to audit.

XChain has a built-in way to stake any token against a smart contract. It's a general-purpose building block; the contract decides what staking means.

Lock any token against a stakeable contract
The contract's code decides what it unlocks
on misbehavior
Slashed → destination fixed at deploy time

Stake against a contract

When a contract is deployed, its author can declare it stakeable. After that, anyone can lock tokens against it, and the contract's own code decides what that lockup unlocks: access, voting weight, a share of fees, whatever the application needs.

Slashing with teeth

If the contract decides a staker misbehaved, it can take some or all of their staked tokens and send them to a destination the author chose at deploy time, including the chain's burn address.

Rules locked at deploy

Two things are fixed permanently when the contract is published: how long a staker must wait to withdraw (the cooldown), and where slashed tokens go. Neither can ever change, so stakers can audit the rules before locking anything up.

On every chain

This works on every chain XChain supports. It's separate from the network's own validator staking; this one is a primitive any developer can build on.

Open the wallet ← All topics