Every download today bills you for what the server says it sent. spigot bills what actually landed — counted by the buyer, not the seller.
A live illustration of spigot's rule — not a real transfer. Hit Stall it and watch the bill stop where the bytes stopped.
If a transfer stalls at 60%, today's bill is a negotiation — you paid for a whole file, or you argue for a refund. spigot has no conversation: the buyer authorises one slice at a time, both sides count every byte independently, and the money follows the bytes that actually landed.
The meter is net.bytes_delivered.v1, exact to the octet. Both sides agree on the
content digest first, so two honest parties can't disagree about a length. Tolerance is
zero — no rounding, no room to shave.
Not a refund, not a dispute — the bytes were simply never billed. And resuming isn't a feature: an interrupted download is just one whose next request starts further in. Nothing renegotiated, because nothing was overpaid.
spigot is the first real consumer of the metered protocol — a way to pay for work whose size is only known once it's been delivered. The money settles on Kaspa through the kaspa-x402 escrow rail; spigot holds no escrow of its own.
Paying by the byte means a bill that updates constantly. spigot never settles a babel on chain — it settles the channel. Open once, transact off-chain with signed vouchers, and the seller collects the sum in a single claim.
The only on-chain events are open, claim and refund. Buy one file or fifty against the same channel — the per-file overhead trends to nothing.
Kaspa's BlockDAG confirms in about a second and costs little, so a 0.04 KAS earning is economical to collect. The same rail flume streams on.
The seller reports a count; the buyer counts the same bytes and signs its own figure. They settle on the agreed number, so an overstatement is refused, not litigated.
A seller that sends less than it reserved cannot collect the reservation — refused at three layers: the transaction builder, the accounting, and the escrow script itself.
No account, no subscription, no dispute queue. An agent opens a channel, buys exactly the bytes it needs, and the bill is provably correct without a human in the loop.
The content digest is agreed up front. A delivered slice that doesn't match is not a smaller bill — it stops the transfer. You never pay for bytes you can't verify.