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.
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.