# Proposal: Interlay Shutdown Compensation — Batch Transfer of 9,402.78 vDOT to 193 Addresses

1. Background

The Interlay parachain (para 2032) has stopped producing blocks. Its final block is 10885373, timestamped 2026-07-27 12:13:01 UTC.

All vDOT circulating on Interlay was bridged in from Bifrost via XCM, and the corresponding reserve is held in full by the Interlay sibling sovereign account on Bifrost:

Side Amount
vDOT totalIssuance on Interlay 86,930.2917
Interlay sovereign account balance on Bifrost 86,930.2957
Difference (XCM fee dust) 0.0040

The sovereign account eLHN5PtbY7WaZqBvEUhHHEoA1GARhZcmycRkYggRtDEZHud (sibl + para id 2032) is XCM-derived and has no private key. It can only be spent through governance acting as the runtime origin.

Interlay will not be restored, leaving user vDOT balances permanently stranded. This proposal reissues the portion verifiably owned by users to the same public keys on Bifrost, making those funds usable again.

2. What This Proposal Executes

A single utility.force_batch containing 193 tokens.force_transfer calls, moving funds directly from the sovereign account to each beneficiary:

utility.force_batch([
    tokens.force_transfer(
        source      = eLHN5Pt…ZHud,        // Interlay sovereign account
        dest        = <beneficiary>,        // same public key, Bifrost prefix 6
        currency_id = VToken2(0),           // vDOT
        amount      = <planck>
    )
    × 193
])
  • Total: 94,027,806,297,881 planck = 9,402.78063 vDOT
  • Beneficiaries: 193 addresses
  • Sovereign account balance after execution: 86,930.2957 − 9,402.78063 = 77,527.515 vDOT (retained, see §4)

force_batch is used rather than batch_all deliberately. The Root track has a 28-day decision period; if an atomic batch reverted because a single transfer hit an unexpected account state, the entire process would have to be repeated. With force_batch, one failing call does not affect the other 192.

3. Scope and Methodology

Full reconciliation of all 86,930.29 vDOT on Interlay, derived by scanning 28,109 tokens.accounts entries. The residual is exactly zero:

Category Amount Nature This proposal
Liquidation vault modl mod/vreg 77,412.2121 Claim of iBTC holders Not compensated
Liquidated vault operator reserved 114.2270 Same as above Not compensated
Loans pallet cash modl mod/loan 4,397.8913 qvDOT depositors Passed through
User direct holdings (156 addresses) 5,004.8917 Users Compensated
DEX pool + treasury 1.0696 Protocol-owned Not compensated
Total 86,930.2917

3.1 Direct holdings — 5,004.8917 vDOT

The sum of free + reserved in tokens.accounts, after excluding three classes of derived accounts: modl (pallet-derived), sibl (sibling parachain sovereign), and para (relay parachain sovereign). The vDOT side was explicitly checked and contains no sibl or para accounts — the beneficiary list is clean.

Also excluded is 114.2270 vDOT sitting as reserved under liquidated vault operator wdAAm6o6…Kg12Z. That balance is liquidatedCollateral, already seized by the protocol, and no longer belongs to the operator.

3.2 Loans deposits — 4,397.8913 vDOT (depositors scaled by 0.92262444)

145 qvDOT holders have a book claim of 4,766.7188 vDOT at the recorded exchangeRate (20467247371377383), but the Loans pallet only holds 4,397.8913 vDOT in actual cash:

Item Amount
Depositor book claim 4,766.7188
Pallet cash on hand 4,397.8913
Borrowed and outstanding 693.9841
Protocol reserves 325.1566
Shortfall 368.8275 (7.74%)

The chain is halted, so borrowers can never repay. Critically, the borrowed vDOT already sits in the borrowers' own accounts and is therefore already counted in §3.1. Paying depositors their full book claim would mean Bifrost absorbing the borrowers' bad debt while simultaneously paying those same borrowers a second time for funds they already withdrew.

Depositors are therefore scaled pro-rata against actual pallet cash (factor 0.92262444), and the shortfall is borne by depositors.

3.3 54 addresses removed by the ED threshold

vDOT minimalBalance on Bifrost is 1,000,000 planck (0.0001 vDOT). Of the 247 addresses in the snapshot, 54 fall below this threshold (0.00237 vDOT combined). orml-tokens would reject those transfers, so they are excluded from the calldata. They remain in the CSV, flagged in the below_ed column, for the record.

193 + 54 = 247, matching the snapshot list.

4. Why 77,527.5 vDOT Is Retained

The retained amount is 89% of the total, so its status must be stated plainly to avoid any impression that the protocol is withholding user funds.

It does not belong to vDOT holders. All 21 Interlay vaults collateralized with vDOT have been fully liquidated (vaultStaking.totalCurrentStake is zero across the board), and their collateral was seized into the liquidation vault:

liquidationVault(vDOT/iBTC).collateral   = 77,412.2121 vDOT
liquidationVault(vDOT/iBTC).issuedTokens = 2.14231976 iBTC
implied rate ≈ 36,134.76 vDOT per iBTC

Under Interlay's design, this collateral backs claims held by iBTC holders, not vDOT holders.

It also cannot be distributed by iBTC address directly. The holder structure of all 2.11841671 iBTC:

Holder iBTC Share
Acala (sibl 2000) 0.79733378 37.64%
Interlay local users (281 addresses) 0.57460461 27.12%
HydraDX (2034) 0.30009458 14.17%
Loans pallet 0.18767195 8.86%
Moonbeam (2004) 0.14473012 6.83%
Polkadex (2040) 0.04633417 2.19%
Parallel (2012) 0.02966945 1.40%
SORA (2011) 0.02745844 1.30%
Astar / Bifrost / DEX / fees 0.00521 0.24%

63.7% of all iBTC sits in other parachains' XCM reserve accounts (public keys prefixed 0x7369626c = sibl). Distributing by address would send roughly 49,375 vDOT into sovereign accounts that nobody on Bifrost can withdraw from — effectively freezing the funds permanently. Correctly compensating those users would require snapshotting iBTC holders across seven separate chains, which is out of scope here.

Conclusion: 77,527.5 vDOT stays untouched in the sovereign account. If a decision is later made to compensate iBTC holders on other chains, it can be proposed separately and the snapshot tooling is reusable.

5. Calldata and Verification

Option Call Count Size Call Hash
Recommended utility.force_batch 193 14,454 B 0xcc9a9bb20bf04e84d000cdf039fc0d2b4b69e4bd61ede3db1c563992f8dc2846
Alternative (atomic) utility.batch_all 193 14,454 B 0xe3236f50509b9f542faac86274e6ff00a5539d83727a6fa8c208e8575228de9f
Alternative (split 1/3) utility.force_batch 65 4,950 B 0x087c579c27ca4d242167faad26fa02b24cf887f6421df340e60249fce7a6ce33
Alternative (split 2/3) utility.force_batch 65 4,846 B 0xe8d6388157a5bbb9b8a06c79768df5d17e263891e0c7589203c62349b67ce0f5
Alternative (split 3/3) utility.force_batch 63 4,665 B 0x10847eca2be7c0cc7cf90bac8c4e5382ac0b17e57f326868c2350c6df9de6e83

Verification performed:

Check Result
Outer call utility.forceBatch wrapping 193 inner calls ✓
Decoded total 94,027,806,297,881 planck, matches the list ✓
Per-call amount vs. snapshot 193/193 exact match ✓
Recipient uniqueness 193/193 distinct public keys ✓
Source account all 193 are the Interlay sovereign account ✓
Asset id all 193 are VToken2(0)
ED exclusion none of the 54 sub-threshold addresses leaked in ✓
Source balance 86,930.2957 ≥ 9,402.78063, sufficient ✓

Sampled decode (addresses shown in the registry's default SS58 prefix; identical public keys to the prefix-6 entries in the list):

[0]   tokens.forceTransfer  dest=12KkhKPQ…FJSR  amount=37,015,653,137,905   (3,701.565 vDOT)
[1]   tokens.forceTransfer  dest=1Cwy9wXo…su6M  amount=31,206,385,734,595   (3,120.639 vDOT)
[2]   tokens.forceTransfer  dest=15kMLv53…UYcQa amount=15,896,047,658,047   (1,589.605 vDOT)
[192] tokens.forceTransfer  dest=165cgBQN…Lth7a amount=         1,175,883   (0.000118 vDOT)

6. Beneficiary Distribution

Range (vDOT) Addresses Total vDOT
≥1000 3 8,411.809
100–1000 3 459.206
10–100 12 422.941
1–10 31 85.898
0.1–1 40 20.866
0.0001–0.1 104 2.061
(below ED, excluded) 54 0.002

The top three addresses account for 8,411.81 vDOT, or 89.5% of the total payout.

7. Risks and Notes

# Item Notes
1 Top three addresses unidentified If any is a CEX hot wallet, crediting will require exchange-side cooperation; worth contacting them before execution
2 Status of retained funds The 77,527.5 vDOT held long-term needs a clear designation (unclaimed pool vs. future cross-chain iBTC compensation); recommend stating this in the announcement
3 Snapshot timing is not disputable Interlay is halted; block 10885373 is the terminal state, so there is no discretion in choosing a snapshot point
4 Orphaned iBTC on other chains iBTC on Acala / HydraDX / Moonbeam etc. can no longer be redeemed for BTC; the snapshot tooling can be reused if compensation is pursued
Reply
Up
Share
Comments