Encrypt first.Publish second.
Publishing is the one path that spends real money, because you are paying a network to hold bytes and keep proving it still has them. Nothing leaves your machine in the clear: the publisher encrypts locally, and what reaches Filecoin is ciphertext.
See what it costsThree balancesand one index.
Publishing spends on three chains: native FIL for Filecoin transactions, USDFC for the storage itself, and GLM for gas on Arkiv, because registering an archive in the index is a transaction too. All three are ordinary balances and all three are read live below. The fourth requirement — the index entry — is equally required, and is the one thing here that is ours to finish rather than yours.
What is gas, and why does storage cost separately?
Gas is the fee a blockchain charges to process a transaction — paid in that chain's own currency, which on Filecoin is FIL. It covers the act of recording something.
Storage is a different bill entirely: you are renting durable space and paying the provider to keep proving it still holds your bytes. Haven settles that in USDFC, held in escrow for the life of the deal rather than paid upfront to anyone.
What is USDFC?
A stablecoin on Filecoin, backed by FIL and worth about one US dollar. Storage is priced in it so a deal does not get more or less expensive as FIL moves.
You mint it against FIL collateral rather than buying it from Haven — we never take custody of it, and never receive it.
Five steps you can takenow, and one we owe you.
- 01
Get FIL for gas
Filecoin transactions are paid in native FIL. On the test network the faucet gives it away; on mainnet you acquire it like any other asset.
Practise on calibration first. It is the same contracts and the same commands, with worthless money — there is no reason to learn this on mainnet.
- 02
Mint USDFC for storage
Storage is settled in USDFC and escrowed to the payment rails for the life of the deal. The check above reads your balance of it directly from the contract.
- USDFC
- 0x80B98d3aa09ffff255c3ba4A241111Ff1262F045
- Escrow
- 0x23b1e018F08BB982348b15a86ee926eEBf7F4DAa
- 03
Hold GLM for index gas
Registering your archive in the index is a transaction on an L3, and that chain's gas is GLM — Arkiv is Golem's chain, so it is paid for in Golem's token. Readers never need any of this: querying the index is a read, and reads are free.
- Golem Network Token
- 0x7DD9c5Cba05E151C895FDe1CF355C9A1D5DA6429
- Held on
- Ethereum
The check above reads your mainnet balance, which is what you acquire and bridge. The balance on the L3 itself cannot be read while its devnet is offline — so that figure is reported for what it is, not dressed up as an L3 reading.
Why does this need a third token?
Because three different networks are doing three different jobs, and each charges in its own currency. Filecoin stores the bytes and charges FIL for transactions plus USDFC for the storage. Arkiv indexes the archive and charges GLM.
Haven issues none of them and receives none of them. That is the cost of not having a company in the middle: you pay the networks directly, and nobody marks it up.
- 04
Install the publisher
haven-cliis the only surface in the protocol that encrypts. It runs on your own machine, seals media under the gate parameters, and submits ciphertext. It has no decryption path at all — that belongs to readers.pip install haven-cliPython 3.11 or newer, or the published container. Local SQLite only: no hosted queue, no shared database, no account with us.
Why a command-line tool and not a website?
Because encryption has to happen where the plaintext already is. A website that encrypted your masters would first have to receive them — at which point the promise is broken, regardless of what the site does next.
Running it locally is the only arrangement in which we genuinely never see your media. The inconvenience is the guarantee.
- 05
Encrypt and pin
The publisher encrypts, then submits the ciphertext to the Filecoin pin contracts. From that moment the network proves possession on a cycle, and the bytes become measurable — leaf count times thirty-two, the same arithmetic the contract itself uses.
- Under proof now
- 69.5 TB
- Live data sets
- 845
- PDPVerifier
- 0xBADd0B92C1c71d02E7d520f64c0876538fa2557F
Those figures are the whole network, captured from Filecoin — your archive joins them and can be counted the same way.
- 06
Register the entityNo public network
The final step writes an entity to Arkiv — the L3 index that binds an archive to its community and records its piece CIDs. This is a required part of the protocol, not an enhancement: the entity is what lets a reader's client discover the archive at all, and what lets the index attribute its bytes to a community.
There is no public Arkiv network to write to: Braga was retired on 12 August 2026, taking its faucet, explorer and RPC with it, and the next public testnet is expected September 2026. Everything before this step works — media encrypts, bytes pin, proofs run, payment settles and keys derive. An archive stored today holds and opens; it is simply not yet discoverable, and becomes so once a public index exists.
- Retired endpoint
- https://braga.hoodi.arkiv.network/rpc
- Faucet, by convention
- https://braga.hoodi.arkiv.network/faucet/
- Next public testnet
- September 2026