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