You pay for bytes that leave the edge. Storage during a transfer's lifetime, ingest, dedupe and the API are not billed separately.
| Operation | Billed | Note |
|---|---|---|
| Upload (ingest) | no | Including retried and re-verified blocks. |
| Download by a recipient | yes | Counted once per delivered byte. |
| Deduplicated block | no | An identical block already stored uploads as a no-op. |
| Range request / resume | delivered bytes only | Restarting a download does not re-bill the part already sent. |
| API and webhooks | no | Rate limits apply; see the reference. |
Yes. The reference client is permissively licensed and the protocol is documented in full — nothing in it depends on our binaries.
Links stop resolving and objects are erased on the normal expiry schedule. There is no grace period in which your data sits on our disks unpaid.
No. They are derived in the client and travel in the URL fragment, which browsers do not send to servers. We cannot read an object, and neither can anyone who compels us.
Per transfer, yes — see the table above. Across transfers, no: pipelines routinely chain sessions and reuse deduplicated blocks between them.