π Chainlink Oracle Integration
ReserveBTC uses a custom Chainlink External Adapter to relay off-chain Bitcoin reserve proofs into Ethereum smart contracts.
π‘ Role of the Oracleβ
- Acts as a bridge between BTC verification (off-chain) and mint/burn logic (on-chain).
- Ensures the smart contract remains trustless and autonomous.
- Pulls data from ReserveBTC backend and passes it to
rBTC-SYNTH
contract.
π§ Oracle Responsibilitiesβ
- Monitor verified BTC addresses from ReserveBTC database.
- Check balances via ElectrumX / Blockstream API every 20 seconds.
- Compare historical balance with current balance.
π Trigger Eventsβ
The Oracle triggers the following smart contract function:
function reportVerifiedBalance(address ethAddress, uint256 amountBtc) external onlyOracle {
// Mint or burn logic inside
}
- Mint tokens if itβs the userβs first verified BTC deposit.
- Add tokens if BTC amount increases.
- Burn tokens if BTC is withdrawn.
π οΈ Infrastructureβ
Component | Description |
---|---|
Chainlink External Adapter | Docker-based API relay from backend to EVM |
Supabase | Stores form data and verification states |
Node.js Script | Periodically checks BTC reserves |
Chainlink Oracle Node | Calls reportVerifiedBalance() |
β Trust Modelβ
- Oracle is whitelisted in the contract (
onlyOracle
modifier). - Cannot call mint/burn arbitrarily β relies on deterministic BTC state.
- Oracle address is fixed and immutable.
π οΈ Next:β
Verified by code. Delivered by oracle. Powered by Bitcoin.