Skip to main content

๐Ÿ”ฅ Automatic Burning of rBTC-SYNTH

Once the BTC reserve is moved or spent from the verified address, the system initiates an automatic burn of the corresponding synthetic token (rBTC-SYNTH).


โ›“๏ธ How It Worksโ€‹

  • The system checks the BTC address every 20 seconds via Oracle.
  • If the BTC balance has decreased:
    • A proportional amount of rBTC-SYNTH is burned.
  • If the full BTC balance is withdrawn:
    • The full synthetic token balance is burned (100%).

๐Ÿงฎ Burn Calculationโ€‹

  • Burn amount = (original BTC - current BTC) ร— 1 rBTC-SYNTH
  • Example:

Original: 0.40 BTC โ†’ 0.40 rBTC-SYNTH Withdraw: 0.10 BTC moved out Result: 0.10 rBTC-SYNTH burned (25%)

  • Remaining: 0.30 rBTC-SYNTH stays in wallet

๐Ÿค– Triggering Logicโ€‹

The burn is triggered by the Oracle as follows:

function burnIfDepleted(address ethUser, uint256 amountToBurn) external onlyOracle {
_burn(ethUser, amountToBurn);
}
  • The burn function cannot be called manually by users.
  • Only the Oracle determines the delta and calls the burn function.
  • The contract must receive exact updated BTC balance before any burn is approved.

๐Ÿงท Protectionsโ€‹

  • No manual burn: Only oracle-triggered.
  • No full access: Oracle canโ€™t mint, only burn within the verified scope.
  • Burn scope is limited to previously minted balances.

๐Ÿ› ๏ธ Next:โ€‹

Burn on exit. Fully trustless. Zero-custody design.