What this vote approves. Strategic tier, USD 25,000 in USDRIF, four on-chain milestones: 5,000 / 10,000 / 2,500 / 7,500. Initial tranche 20%, terminal tranche 30% after a post-completion impact review. The money pays a fixed-price audit at cost and ninety days of audited mainnet operation of an immutable rBTC vault. No further tranche is requested if any gate fails.
Classification: Strategic tier, DeFi / yield infrastructure.
Sanity-check thread: Idea/Sanity Check: Multi-Protocol ERC-4626 Yield Vault for Rootstock, Strategic-tier pre-RFC walkthrough (26 posts, June to September). Where this proposal differs from the opening post there, this proposal governs. The differences are listed in the Differences section.
Summary
An immutable ERC-4626 vault for rBTC that deposits into the LayerBank and Sovryn lending venues, rebalances permissionlessly between them, and cannot be paused, upgraded or patched after deployment. The code is frozen at tag audit-2026-07, the audit firm is selected and its terms are published on its own site, KYB is complete, and a signed integrator LOI is attached. USD 15,000 of the grant is a pass-through to Coinspect at cost. USD 10,000 pays for two mainnet deployments of the audited code, a 60-day capped Phase 0 with public pass/fail gates, ninety days of reporting, and handover. USD 7,500 of that is withheld until a day-90 TVL floor is met and the impact review is done.
Founder
Ivan Ursulović, solo developer. Backend and web3 engineer at DeGenerous DAO (Solidity governance contracts, NFT staking, on-chain/off-chain backend for CoNexus). Before that the Gno.land Student Contributor Program (smart contracts and tooling in Gno), LotusFlare (telecom MVNE orchestration) and TeleTrader (C#/.NET financial-data microservices). Rootstock Builder Rootcamp / Hacktivator Cohort 1. This vault was the capstone.
GitHub: Ursulovic (Ivan Ursulovic) · GitHub. LinkedIn: https://www.linkedin.com/in/ivan-ursulovic/. Forum: @NeznaniJunak.
No team beyond me. The continuity model is built for that: immutable contracts, permissionless rebalancing, an in-kind exit that needs nobody’s permission, and a handover that does not depend on me (see Trust model).
Traction
Testnet vault live on Rootstock testnet since June 2026, Blockscout-verified. External-wallet deposits and withdrawals through the Blockscout wallet on chain: deposit 0xdc21ad33703a2e8797771d1d4c4cc04f7a350c0312b0e467b75932a80b45f239 (block 7841689), withdrawal 0xa6f314259e36d71d391522bec43f1f29935b7aa32d7c31085b42fe151a8772b5 (block 7841699). Repository public with 256 local tests, 9 stateful invariants and Halmos symbolic proofs, frozen at tag audit-2026-07. LOI signed by Blockscout. Audit firm selected with a fixed-price quote published on the firm’s own site.
Media and resources
- Repository, frozen at
audit-2026-07: GitHub - Ursulovic/rootstock-yield-vault: ERC-4626 rBTC yield vault on Rootstock. Adapter-based routing across LayerBank and Sovryn, permissionless rebalance. · GitHub - In the repository:
docs/AUDIT_SCOPE.md,KNOWN_ISSUES.md,docs/NO_PATCH_POLICY.md,SECURITY.md - Testnet deployment, Rootstock testnet (chain 31): YieldVault
0x6a200f30A63C3575472867498DB560574CC30cE2, LayerBankAdapter0xaF5743d854B4B638BCd0572e44c39949027AB37A, SovrynAdapter0x722F1D0E72E209488362C246A7acbc12b901bFd0 - Live testnet frontend: https://rootstock-yield-vault.vercel.app
- Blockscout integration evidence, external-wallet path end to end on testnet: deposit Rootstock Testnet transaction 0xdc21ad33703a2e8797771d1d4c4cc04f7a350c0312b0e467b75932a80b45f239 | Blockscout, withdrawal Rootstock Testnet transaction 0xa6f314259e36d71d391522bec43f1f29935b7aa32d7c31085b42fe151a8772b5 | Blockscout
- Blockscout Letter of Intent, PDF on IPFS: https://ipfs.io/ipfs/bafkreicur2zjc2skw5pkvewbh6g3dfnqehryb4vvzbb4hzznjk64tymue4
- Coinspect proposal, hosted by Coinspect: https://www.coinspect.com/rfp/Rootstock%20ERC-4626%20vault%20_%20Audit%20Proposal%20by%20Coinspect%20Security.pdf
- Pitch deck and demo recording: added to this post before the Initial AMA
Demand validation (V3.3 Section 3.1)
Named integrator LOI: Blockscout, letter dated 10 July 2026, e-signed by Dosh (Blockscout) on 13 July 2026, non-binding, archived on IPFS, where the CID is the file’s own hash: https://ipfs.io/ipfs/bafkreicur2zjc2skw5pkvewbh6g3dfnqehryb4vvzbb4hzznjk64tymue4. The integration is not a plan: the vault’s deposit and withdrawal paths have run end to end through the Blockscout wallet on Rootstock testnet, hashes in Traction. The embedded email-wallet path does not work on testnet because the Blockscout wallet service signs against mainnet RPC. That is on their side and does not affect the external-wallet path.
Depositors are reached through three routes: the Blockscout wallet surface; this forum and the Collective’s channels; and direct deposits from Rootstock builders who put in their own funds.
Why rBTC first, when the deeper organic lending demand on Rootstock is in DOC, as @Curia’s numbers in #8 showed: rBTC is the deployment path that is audited, frozen and deployable inside this grant. The DOC vault is separate code and is sequenced after it (see Scope boundary). The rBTC vault’s demand case is distribution, not yield: a wallet-reachable, immutable, audited place to hold rBTC that earns the venues’ rate with no operator in the loop.
Prior security incident disclosure (V3.3 Section 8)
None. No incident on any chain involving me, this codebase, or a codebase it extends. Pre-audit findings from my own review and from an unsolicited automated preview by one bidder are tracked in KNOWN_ISSUES and are in the audit scope. None involved live funds.
Product
What it is. A single-asset ERC-4626 vault, ryRBTC, over native rBTC. Deposits are wrapped to WRBTC and placed into up to two lending venues, LayerBank (an Aave V3 fork, verified on chain) and Sovryn (bZx-lineage iTokens), through thin adapters behind one interface.
The rebalancer, with its numbers. Anyone can call rebalance(). The caller is paid 1% of the realized profit since the last call, under a 5% ceiling that is fixed in the code. Profit vests over three days, so a rebalance cannot pay out on paper gains. Calls are rate-limited to one per hour and only execute when the rate difference between venues is above 0.05% APR. No venue can hold more than 60% of assets, and no deposit enters a venue above 90% utilization, though exits are never blocked by that check. The rebalancer reads each venue’s spot base supply rate and ignores incentive tokens. All of these are immutable values in the audited bytecode.
What it is not. No admin keys, no upgrade path, no pause, no fee switch, no parameter changes after deployment. Anything wrong after deployment is remediated by fork and migrate, documented in NO_PATCH_POLICY.
Exits. withdraw and redeem pull from venues as needed. redeemInKind burns shares and hands the depositor their proportional share of each venue’s receipt tokens directly. It does not depend on any venue’s withdrawal path working. Entry paths are fail-closed when an adapter view breaks. Exit paths are fail-open.
Phase 0 hardening, merged and in audit scope: an immutable tvlCap constructor parameter enforced through maxDeposit and maxMint, and try/catch around every adapter call in totalAssets and redeemInKind (closes KNOWN_ISSUES item 6). A latent profit-vesting accounting issue found in my own review after the testnet deployment is fixed at the audit tag. The testnet bytecode predates the fix, which is one more reason Phase 0 runs on fresh audited bytecode rather than the testnet contracts.
Testing at the tag, from the README: 256 local tests (unit and function-level fuzz), 9 stateful invariants at 128k randomized calls each, Halmos symbolic proofs for the rate and utilization filters, the reward clamp and the donation guard, and mainnet-fork tests against the live venues. Regression tests are mutation-verified.
Lineage note, correcting the opening post. In the opening post of the sanity-check thread I called both venues Compound V2 forks. LayerBank on Rootstock is an Aave V3 fork and Sovryn’s iTokens are bZx lineage, so one shared-fork bug cannot hit both venues at once. The blast radius of a single venue bug is still bounded only by the 60% cap and the in-kind exit.
Trust model
- rBTC vault: no privileged role at all.
- 2-of-3 Gnosis Safe on Rootstock. I hold one seat on a hardware wallet. The other two seats are the Collective’s to nominate, delegates or Foundation, as offered in #11. I deploy whatever the Collective settles on. The Safe is created when two signers besides me are confirmed. In this grant the Safe has one job: it receives the M4 operator handover (runbook, dashboard access, monitoring), so continuity does not depend on me. Until the Safe exists, the handover goes to the Foundation contact named in the grant agreement, and the Safe receives a copy when it exists. No milestone waits on the nominations, and the Collective can replace either seat later by asking in this thread. The Factory-owner and ERC-20 Guardian roles described in #11 bind to the same Safe when the DOC deployment ships under its own review. Neither role exists in this grant’s deployment.
- Third venue: the quarterly re-scan rubric from #11 stands (about USD 250,000 TVL, an independent audit, code lineage independent of both existing venues, the Safe authorizes the add). No Rootstock protocol passes it today. The M4 report carries a readiness assessment against it.
Security review
Firm: Coinspect. Terms as published on their site (link above) and in #23: a one-week fixed-scope, fixed-price engagement, two senior auditors, USD 15,000 all-in with a Rootstock ecosystem discount, scope pinned to audit-2026-07 (YieldVault, both native adapters and their interfaces, deploy script and constructor parameters), one fix-review round within ten business days of fixes being ready, a re-issued report naming the post-fix commit hash, report publishable unredacted and hostable by the DAO, valid through 30 November 2026, engagement slot in October or November 2026. Any finding that forces a material architectural change is quoted separately before extra work starts, and that quote comes back to the forum before anything is signed.
Why this firm: the only bidder that pinned to the frozen tag and read KNOWN_ISSUES before quoting; prior audits of Sovryn’s lending contracts (December 2020, the iToken surface this vault reads) and of the RIF token; eight published audits of Exactly, a live ERC-4626 lending protocol. When I gave them my budget, they declined to stretch the full system into it, on the grounds that the review would be diluted.
Comparison, as committed in #22. I asked four firms for quotes on the same scope document and tag. Three quoted. Names and prices of the other firms are withheld because they did not give permission to publish.
| Coinspect | Firm B | Firm C | Firm D | |
|---|---|---|---|---|
| Reduced-scope price | USD 15,000 | under half | under 90% | no quote |
| Engagement length | one week, two seniors | three days quoted, two seniors; total or per auditor never clarified | not stated, asked three times | |
Pinned to tag audit-2026-07 |
yes | no, repository URL only | no, wrong commit | |
| Read scope document and KNOWN_ISSUES before quoting | confirmed | not confirmed | partly, one automated preview | |
| Fix review included | yes, one round | yes, one round | yes, one round | |
| Report publishable, DAO may host | yes, in writing | yes, in writing | not addressed | |
| Payment terms stated | yes | yes | absent | |
| Slot in October or November | yes | lapsed August slots only | none given |
For a vault that cannot be patched after deployment, the cheaper bid is not the better deal.
Full-scope reference. Coinspect’s published proposal prices the full system of roughly 1,360 nSLOC, including the ERC-20 vault, factory and extra adapters, at USD 25,000 over about 1.5 weeks. That review is not in this grant (see Scope boundary).
Scope boundary
This grant funds the rBTC deployment path and nothing else: the audit of that path, its two mainnet deployments, Phase 0, ninety days of operation and reporting, and handover.
@DAOstar_gov and @Curia, this walks back what I said in #11 about anchoring the grant to DOC. The DOC vault is written and tested at the same tag: a different vault contract with an ERC-20 money flow and a pause-only Guardian, two further adapters and a factory, together about 690 nSLOC, with its own unit, edge-case and mainnet-fork tests. It reuses the audited allocation logic but not the audited bytecode. The commitment from #19 that nothing unaudited touches mainnet holds, and the rBTC path is the one that is frozen and quoted. The code is written and tested, with no testnet instance. What the DOC vault is missing is an independent review, and every dollar of that review goes to the auditor and nothing to me. The guidelines make an audit mandatory at this tier, and the Collective has said it is not setting up an audit fund for now (@tamlerner, guidelines thread, 3 July), so audit money comes out of the grant itself. A DOC review paid from this grant would add to the funding side of FES with nothing on the value side inside this grant. That is why this ask stays at USD 25,000 and the DOC review is not funded here. If the rBTC vault meets its gates, I will bring the DOC review to this forum as a separate proposal after day 90, sized to the quote at that time, with the audited core, the report and the live numbers behind it. Whether to fund it is the Collective’s call. If the rBTC vault does not meet its gates, the DOC vault does not ship. Coinspect’s published full-scope price is the reference for what that review costs with the same team. Their quote runs to 30 November 2026, so that proposal would carry its own quote.
The rBTC venues at posting, read from the venues’ own contracts on 10 September 2026, re-read at every snapshot:
| Venue | rBTC supplied | Utilization | Base supply rate |
|---|---|---|---|
| LayerBank (WRBTC market) | 24.4 rBTC | 1.6% | 0.0025% APR, incentives excluded |
| Sovryn (iRBTC) | 27.6 rBTC | 28% | 0.92% APR |
A 0.5 rBTC Phase 0 instance and a 5 rBTC post-Phase-0 instance sit inside that depth. The M4 metric below is defined on the deployments this grant funds, not on DOC. That changes #11.
Deployments and the cap
The tvlCap parameter is immutable, so the cap is never changed on a live vault. Two instances of the same audited bytecode, at the same post-fix commit:
- Phase 0 instance, cap 0.5 rBTC, deployed first. It stays capped for life.
- Post-Phase-0 instance, cap 5 rBTC, deployed only after every Phase 0 gate has passed. That is ten times the Phase 0 cap, and below the depth of either venue today. Anyone may move from the first instance to the second. Exits are always open, and the first instance keeps running for anyone who stays.
Both parameter sets go into the deploy script at the post-fix commit, so Coinspect’s re-issued report covers both configurations. If the second instance fills, a third instance is not automatic: its cap is a configuration the re-issued report does not cover, so it is a new deployment and a new proposal.
Risks
The vault is a router. If LayerBank or Sovryn loses funds, the vault loses its share of that venue and nothing else. The 60% per-venue cap bounds it. redeemInKind lets a depositor pull their proportional share of whatever receipt tokens still transfer. Sovryn pauses per function and iRBTC keeps transferring, while a full LayerBank reserve pause blocks its aToken and that slice is skipped and forfeited, as KNOWN_ISSUES item 5 records. redeemInKind cannot recover what a venue has lost. Sovryn’s iToken surface, the one this vault reads, had a USD 1.1 million exploit in October 2022 on legacy code that the 2020 audit had treated as out of scope. That is why this engagement’s scope is the whole rBTC deployment path, pinned to one tag. If a venue is sunset during the grant, its slice is bounded by the 60% cap, and exits from it run through the normal withdrawal path or, if that path is closed, through redeemInKind. The rebalancer does not evacuate a venue on its own: it moves funds only when the best rate beats the active venue’s rate by 0.05%. New deposits go to the other venue up to the cap, and the remainder stays idle in the vault if the sunset venue no longer accepts deposits. Nothing in this grant pays for a third adapter. The M4 readiness assessment says whether one is worth a separate proposal. Still-vesting profit stays behind on an in-kind exit, and an adapter that reverts can delay a normal withdrawal for as long as it keeps reverting. Both are documented in NO_PATCH_POLICY.
Grant request and milestones
Total USD 25,000, requested in USDRIF, one on-chain proposal per tranche. The 30% terminal tranche follows V3.3 and releases after the post-completion impact review.
| Thread name | On-chain milestone | Amount | Releases on | Deliverables and evidence |
|---|---|---|---|---|
| M1a | Milestone 1 | USD 5,000 (20% initial tranche) | execution of the Milestone 1 on-chain proposal, with the Coinspect SOW signed and an audit start date scheduled | SOW executed (private); start date scheduled by Coinspect in writing; Coinspect’s proposal page (public) |
| M1b | Milestone 2 | USD 10,000 | delivery of Coinspect’s initial audit report | report published unredacted in the repository and hostable by the DAO |
| M2 | Milestone 3 | USD 2,500 | Phase 0 gates met, day 60 or later after the Phase 0 deployment | all critical and high findings closed and re-reviewed by Coinspect; re-issued report naming the post-fix commit; any medium or low finding left open listed with the reason; Phase 0 instance deployed at that exact commit, Blockscout-verified; Phase 0 gates (below) met, with the weekly invariant workflow runs public; integrator package published: the client code used in the Blockscout integration, the ABI and address manifest, and the exit playbook that walks a depositor through redeem, redeemInKind and what each one recovers |
| M4 | Milestone 4 | USD 7,500 (30% terminal) | day 90 after the Phase 0 deployment, then the post-completion impact review that V3.3 attaches to the terminal tranche | post-Phase-0 instance, 5 rBTC cap, deployed at the same post-fix commit, Blockscout-verified; TVL floor (below) met at the day-90 snapshot; final report with the metrics (below); public dashboard; operator runbook and monitoring handed over; third-venue readiness assessment |
M1a plus M1b is USD 15,000, Coinspect’s fee, invoiced at cost. If the final invoice is below USD 15,000, that total shrinks to the invoice. The remaining USD 10,000, M2 and M4, is all my work. In rough shares: remediation and re-review handling, a quarter; both deployments, Phase 0 operation and the weekly invariant runs, a third; the dashboard and the integrator package, a quarter; documentation, runbook, monitoring handover and the final report, the rest. Hardening already merged is not billed. M2 and M3 from the opening post are merged into one milestone because neither could release before Phase 0 ends, and a separate on-chain vote for half of USD 2,500 serves nobody. M4 keeps its name because the sanity-check thread refers to it by that name. I receive nothing between the audit report and day 60 after deployment, by design.
If any Phase 0 gate fails, I do not request another tranche. Tranche release is the DAO’s call at every step.
Phase 0 gates
The Phase 0 instance, 0.5 rBTC cap, on the audited post-fix commit. All of the following, measured at weekly snapshots and published on the dashboard:
- Minimum duration: 60 days.
- Depositor gate: at least 10 depositors holding at least 0.001 rBTC each at the assessment snapshot, with distinct funding sources (no shared upstream EOA within 7 days of first deposit), and no single depositor above 40% of TVL at any weekly snapshot.
- Zero critical incidents: no loss of depositor principal beyond ERC-4626 rounding tolerance, no withdrawal blocked more than 24 hours, no reproducible invariant break on mainnet state, no unauthorized state mutation. The pinned invariant suite runs as a public GitHub Actions workflow against a mainnet fork at each snapshot block; anyone can re-run it.
My own deposits, and deposits from any wallet I control or fund, count toward neither the ten depositors nor the M4 TVL floor. The wallets I control are listed on the dashboard.
Performance targets and success metrics
This section answers @LEGOSI’s five questions in #26 and the FES requirement for the Strategic tier in V3.2: 2.0× ecosystem value over funding, measured twelve months after funding. On this grant that is USD 50,000 of measured ecosystem value by month twelve. FES counts TVL attracted and retained, new wallets, transaction volume and DAO engagement. It does not count revenue.
- 90-day TVL target. The payment gate is the BEAR floor from #11: USD 10,000 equivalent across the two audited rBTC instances at the day-90 snapshot, BTC/USD at the CoinMarketCap daily close. The targets stay as in #11: BASE USD 50,000 to 150,000, BULL USD 250,000 to 400,000. The BEAR floor is a payment gate at day 90, not the FES measurement, which runs to month twelve. On TVL alone, the BASE lower bound of USD 50,000 sits on the 2.0Ă— line with no margin. BEAR is 0.4Ă—. That is why BEAR gates USD 7,500 and BASE is what the integration is built to reach. The second instance deploys after the day-60 gates pass, so at the day-90 snapshot it has about thirty days of history. The floor is measured across both instances anyway. If the Collective prefers to measure the second instance at its own day 90, say so in this thread and I will move the snapshot.
- Organic (direct) versus integrator-routed, and net-new versus rerouted. Every deposit is tagged on the dashboard as integrator-routed (through the Blockscout wallet surface) or direct. Each deposit is also tagged net-new or rerouted: rerouted means the same wallet withdrew rBTC from LayerBank or Sovryn in the 30 days before depositing. All four totals are reported at each snapshot. No target is set for the routing split: an integrator-routed deposit is the product working. The FES TVL component is the vault’s TVL either way. The split is there so nobody has to ask.
- Retention and recurrence. Reported at day 90, with targets, not as payment gates: at least half of the Phase 0 depositors still hold shares in either instance; at least half of day-90 TVL has been in the vault for 30 days or more; the number of wallets with two or more deposits; wallets with repeat on-chain activity over 30 days, the V3.3 anti-gaming definition. The M4 gate is the TVL floor plus the qualitative deliverables, with no retention metric added, because a retention gate on a dozen wallets would pay or withhold USD 7,500 on noise.
- If the integrator route underdelivers. The LOI is evidence of integrator demand at the time of application. The gates do not depend on that route staying available. The Phase 0 depositor gate and the M4 TVL floor are measured on chain regardless of which route deposits come through. If the floor is not met, M4 is not requested, whatever the reason.
- Split of the USD 25,000. USD 15,000 audits the reusable core, the vault design and adapter pattern every later deployment inherits. USD 10,000 delivers the rBTC deployments and their ninety days. USD 0 goes to the DOC deployment in this grant.
Value Commitment Plan (V3.3). Target at month twelve: USD 50,000 or more of TVL attracted and retained across the audited rBTC instances, read from chain by the FES Dashboard, not self-reported. New wallets, transaction counts and stRIF activity from vault depositors are reported monthly from the deployment on, and count toward FES under whatever weighting the Collective publishes; they are not projected here because no weighting is published.
Monthly Activity Reports on this forum between milestones, as V3.2 requires, with TVL delta, transaction count, new wallets and the metrics above.
Payment rail and wallets
Tranches are paid in USDRIF to 0x84f04C662A9973cBdb8d85928F0871640569f29C, the wallet named in the executed grant agreement, the same wallet for every tranche. I submit the on-chain proposals from a separate operational wallet that holds the stRIF; the transfer address in each proposal is the wallet above.
Coinspect invoices in USD, 50% before the audit starts and 50% on the initial report, settled in USDT or USDC on Ethereum. The DAO releases tranches after a seven-day vote and a three-day timelock. If the Collective’s audit-funding workstream reaches a direct-to-auditor rail before Milestone 1 executes, I would rather use it than bridge. That is the rail the Foundation said it leans toward, tied to audit-readiness rather than the initial tranche (@tamlerner, guidelines thread, 3 July). Until then, the fallback stated in #25 stands: the M1a tranche covers USD 5,000 of the USD 7,500 deposit; at SOW I ask for a USD 5,000 / USD 10,000 split; if Coinspect declines, I bridge USD 2,500 from the deposit until M1b, once and at this size. The second installment lands roughly two weeks behind its invoice. Pinning that alignment in the SOW is the one thing still open with Coinspect. Conversion from USDRIF to the auditor’s settlement currency, and its fees, are my cost.
Timeline
Approximate, gated on votes I do not control.
- September to October 2026: this proposal, community discussion, Initial AMA.
- October 2026: on-chain vote, SOW, execution, audit start (Coinspect slot: October or November).
- November 2026: initial report (M1b), fix batch, fix review, re-issued report at the post-fix commit.
- November to December 2026: Phase 0 deployment at that commit, Phase 0 starts.
- Day 60 after deployment: Phase 0 gates assessed, M2 requested if met, post-Phase-0 instance deployed.
- Day 90 after deployment: M4 snapshot, final report, handover, impact review. M4 requested if met.
Coinspect’s terms hold through 30 November 2026. A slip past that reopens the quote. The on-chain vote and the SOW fit inside that date on this timeline.
KYB
Complete. The grant agreement was fully executed on 4 September 2026 (individual applicant).
Reporting, obligations, and after day 90
Monthly Activity Reports during the grant, milestone AMAs, the final retrospective AMA, and the twelve-month ecosystem obligation in V3.2, accepted.
After day 90 the vault needs nobody. It cannot be paused, upgraded or drained by an operator. The dashboard, the monitoring and the weekly invariant workflow stay up through month twelve so the FES numbers can be read by anyone. I will not ask this DAO for a maintenance grant for this deployment. If a corrected version is ever needed, it is a new deployment and a new proposal. The audit report, runbook and dashboard stay public after the grant.
How the Collective can help
If the audit-funding workstream reaches a direct-to-auditor rail before Milestone 1 executes, tell me here and I will use it. Separately, the Safe needs two signers besides me, delegates or Foundation. If you want a seat or want to nominate someone, say so in this thread.
Differences from the opening post and the sanity-check thread
- Audit firm and terms: fixed (#23, Coinspect page).
- M1 restructured to match the audit at cost, M1a USD 5,000 / M1b USD 10,000 (#23).
- M2 and M3 merged into one USD 2,500 milestone releasing after Phase 0. The integrator SDK from #11 ships inside it as the integrator package, the exit playbook stays (this proposal).
- Phase 0 gates bind M2 and M4, not M1 (#23). Per-depositor minimum (0.001 rBTC, held at the assessment snapshot) added to the depositor gate. Wallets I control or fund excluded from the depositor count and from the M4 TVL floor (this proposal).
- Two deployments of the same audited code: Phase 0 instance at 0.5 rBTC, post-Phase-0 instance at 5 rBTC (this proposal).
- Safe timing: #11 put the 2-of-3 Safe live from mainnet day 1. This grant’s deployment has no Factory-owner or Guardian role for it to hold, so the Safe is created when two signers besides me are confirmed and its only job here is the M4 handover (this proposal, changes #11).
- M4 TVL floor defined on the rBTC deployments, not DOC (this proposal, changes #11). M4 releases after the V3.3 impact review.
- DOC deployment out of this grant’s funded scope, sequenced after ninety days as a separate proposal (this proposal, #23 promised the RFC would state how it is funded).
- Personal underwriting of audit overruns withdrawn (#11, #14). Extensions come back to the forum for a decision.
- Lineage correction: LayerBank is an Aave V3 fork and Sovryn’s iTokens are bZx lineage, not Compound V2 (#11).
- Denomination: USDRIF (V3.3). FES bar stated as the Strategic tier’s 2.0× over twelve months.
Social
GitHub: GitHub - Ursulovic/rootstock-yield-vault: ERC-4626 rBTC yield vault on Rootstock. Adapter-based routing across LayerBank and Sovryn, permissionless rebalance. · GitHub. Forum: @NeznaniJunak. Telegram: @Ursulovic.