BSV has no hard protocol cap on OP_RETURN data, but 100 MB is the practical architectural boundary for what makes sense to store directly on-chain. Here is why:
- Transaction count — a 100 MB file creates roughly 100 chunks (at 1 MB each) across around 11 transactions (1 manifest + 10 chunk batches). Beyond this, the broadcast and confirmation burden grows considerably
- Fee economics — at BSV's 100 sats/KB fee rate, storing 100 MB on-chain costs approximately 10,000,000 sats (~0.1 BSV). Storing the manifest only costs roughly 100 sats — the same evidentiary strength at a fraction of the cost, because the manifest hash is what proves the registration, not the presence of the raw bytes
- The chain as a trust anchor, not a warehouse — the blockchain's value is its immutable, timestamped record. That record is captured entirely by the manifest (content hash, cipher hash, issuer signature). The encrypted file bytes on-chain are a convenience for buyers, not the source of proof
- Retrieval practicality — pulling and reassembling hundreds of chunk transactions from the chain is increasingly slow and unwieldy as file size grows
Above 100 MB, Large File mode is triggered automatically with no upper size limit. The manifest (your proof) still goes on-chain as normal. The encrypted file stays in your custody and is delivered to buyers via a secure, escrow-protected handoff — giving the same evidentiary strength at a fraction of the cost.
Public Asset (unencrypted on-chain, optional on digital registrations) uses the same 100 MB limit as Standard encrypted on-chain storage — the full file must fit within that cap to be published publicly on the chain.
Cost comparison50 MB (Standard): ~5,250,000 sats on-chain, full file on the blockchain.
100 MB (Standard): ~10,500,000 sats on-chain, full file on the blockchain.
500 MB (Large File): ~100 sats on-chain for the manifest; file delivered securely off-chain.
10 GB (Large File): still ~100 sats on-chain — the proof is equally strong regardless of file size.