Skip to main content
Transfer-restricted ERC20 governance token used by the Ramses voting system. The current implementation lives in XRam.sol and is controlled by AccessHub, Voter, and VoteModule.

Core Functions

convertEmissionsToken

Transfers amount of RAM from the caller, burns the configured slashing penalty, and mints amount of xRAM to the caller.

Parameters

exit

Burns xRAM and returns the post-penalty RAM amount to the caller. The contract applies the same slashing formula used on entry and caps the returned amount to the RAM balance currently residing in the xRAM contract.

Parameters

pause / unpause

Governance-controlled circuit breakers for conversion, exit, and rebase-related flows.

setExemption / setExemptionTo

Manages the transfer allowlists used by _update().

getBalanceResiding

Returns the amount of underlying RAM currently held by the xRAM contract.

Key Concepts

  • XRam is not a freely transferable ERC20. Transfers only succeed when the sender or receiver is exempt, or when the transfer involves recognized gauges or fee distributors.
  • convertEmissionsToken() mints xRAM 1:1 with the input amount, but it also burns at least 50% of the incoming RAM via SLASHING_PENALTY.
  • exit() burns xRAM and returns the post-penalty RAM amount, which is typically about half of the xRAM burned.
  • rebase() is still exposed for compatibility, but the current implementation notifies VoteModule with 0 rather than distributing a positive rebase amount.
  • Voting power comes from staking xRAM in VoteModule, not from simply holding xRAM in a wallet.