Data set termination and clean-up today has three rough edges: SPs aren't incentivised to clean up state on chain, CDN service dies up to 30 days before storage does, and the client fee for deletion has no clean home.
This document proposes a small refundable bond (0.1 FIL) paid by the SP at data set creation. The SP gets it back when clean-up completes. If they don't clean up within 30 days of going inactive, anyone else can do the work and claim the bond. Per-piece state clean-up moves to a separate batched function so large data sets don't blow gas budgets. CDN termination moves to deletion time so the client keeps retrieval acceleration through the paid lockup. Client-initiated termination uses a 712-signed request the SP relays on chain. If both parties consent, termination can be immediate, skipping the 30-day lockup entirely.
Net: chain state gets cleaned up ~reliably regardless of whether the SP stays online, client UX better matches what they paid for, and SPs have a fast wind-down path when their client agrees.
endEpoch set, lockup window started). Pieces can't be added; can be removed. Proving continues so the SP gets paid for proven epochs.createDataSet -> LivewithCDN metadata set, zero-rate with fixed lockup (0.7 USDFC), client -> FilBeamwithCDN, zero-rate with fixed lockup (0.3 USDFC), client -> SP, for origin fetchesSybil fee is paid at this point by the client (0.1 USDFC), with provision for listener contracts (non-FWSS) that don't charge the user, in which case SP pays (0.1 FIL).