strBTC Rebasing Token
strBTC
is implemented as a rebasing token, meaning its balance in user wallets may automatically adjust over time to reflect accrued yield or protocol-level economic changes, without altering each individual wallet balance directly. This mechanism allows strBTC
holders to passively receive proportional yield—sourced from native BTC strategies and DeFi participation—without needing to stake or lock their tokens. Rebasing ensures that yield distribution is frictionless and gas-efficient, as value increases are reflected through balance updates rather than manual claims. Importantly, strBTC
’s rebasing logic is transparent, deterministic, and governed by the Stroom protocol.
The strBTC
contract implements a rebasing token with key public functions enabling minting, burning, and supply adjustments. Core methods include:
mint(address to, uint256 amount, bytes calldata signature)
— Mintsamount
of strBTC tokens to theto
address. Access-controlled via theonlyValidator
modifier fromValidatorMessageReceiver
, ensuring only a correctly signed message can be used to mint tokens after BTC deposits are confirmed.redeem(uint256 _amount, string calldata BTCAddress)
— Burns_amount
of strBTC from themsg.sender
address and signals validators to process payout toBTCAddress
.mintRewards(uint256 nonce, uint256 delta, bytes calldata signature)
— Adjusts the total supply bydelta
, triggering a proportional rebase of all balances to reflect yield or protocol-level adjustments. This function is restricted byonlyValidator
.Standard ERC-20 functions
transfer
,transferFrom
,approve
, andallowance
provide typical token transfer and allowance management.balanceOf(address account)
— Returns the user’s currentstrBTC
balance, factoring in rebasing adjustments dynamically.
The ValidatorMessageReceiver
contract is a core security component used by strBTC
to enforce strict access control on sensitive operations such as minting and rebasing. It implements a validator-based permission model where only messages signed by a predefined set of authorized validators are accepted.
Key features of ValidatorMessageReceiver
:
Validator Set Management: The contract stores a joint public key of validators authorized to approve actions. The public key is derived using the FROST algorithm for Schnorr signatures. This pubkey can be updated via governance to adapt to changes in the federation or operator group.
Message Verification: The contract verifies incoming signed messages against the validator public key using the standard Schnorr signature scheme. This cryptographic verification ensures that only messages endorsed by a sufficient quorum of validators can trigger state changes.
Replay Protection & Message Uniqueness: To prevent replay attacks or double executions,
ValidatorMessageReceiver
implements nonce or message hash tracking, ensuring each validated message is only executed once.
By integrating ValidatorMessageReceiver
, the strBTC
contract ensures that minting and rebasing operations can only be performed upon valid, authorized consensus from the federation of validators.
Last updated