Cost of privacy
What it costs to use a privacy tool today: the network fee for a deposit or shield, a private transfer and a withdrawal or unshield, worked out each hour from the gas each action uses, the price of gas and the price of the coin, with the protocol and relayer fees that apply.
- 23 fees
- 7 protocols
- 8 blockchains
- 4 charts
Fees now
The network fee for one transaction of each kind at the latest hourly reading: the gas units or size it uses, times the current price of gas, times the price of the chain's coin. Protocol and relayer fees are not included; they are listed in the next section, and a note under each fee names those that apply to it.
| Action | Chain | Gas or size | Fee | Fee in US dollars | Source | Measured |
|---|---|---|---|---|---|---|
| Railgun | ||||||
| Shield | Ethereum | 758,205 gas | 0.0000447 ETHat 0.0589 gwei | $0.10plus 0.25% of the amount | Median of 25 transactions, 23 Oct 2026 (example)Gas price: PublicNodeETH price: DefiLlama | 29 Oct 2026, 05:12 UTC |
| Private transfer | Ethereum | 1,102,385 gas | 0.000065 ETHat 0.0589 gwei | $0.15or the fee of a relayer, if one sends it | Median of 25 transactions, 23 Oct 2026 (example)Gas price: PublicNodeETH price: DefiLlama | 29 Oct 2026, 05:12 UTC |
| Unshield | Ethereum | 1,159,583 gas | 0.0000683 ETHat 0.0589 gwei | $0.16plus 0.25% of the amount; or the fee of a relayer, if one sends it | Median of 25 transactions, 23 Oct 2026 (example)Gas price: PublicNodeETH price: DefiLlama | 29 Oct 2026, 05:12 UTC |
| Shield | Polygon | 863,120 gas | 0.32 POLat 371 gwei | $0.029plus 0.25% of the amount | Median of 25 transactions, 23 Oct 2026 (example)Gas price: PublicNodePOL price: DefiLlama | 29 Oct 2026, 05:12 UTC |
| Private transfer | Polygon | 1,324,736 gas | 0.492 POLat 371 gwei | $0.045or the fee of a relayer, if one sends it | Median of 25 transactions, 23 Oct 2026 (example)Gas price: PublicNodePOL price: DefiLlama | 29 Oct 2026, 05:12 UTC |
| Unshield | Polygon | 1,426,665 gas | 0.529 POLat 371 gwei | $0.048plus 0.25% of the amount; or the fee of a relayer, if one sends it | Median of 25 transactions, 23 Oct 2026 (example)Gas price: PublicNodePOL price: DefiLlama | 29 Oct 2026, 05:12 UTC |
| Shield | Arbitrum | 831,018 gas | 0.0000168 ETHat 0.0202 gwei | $0.039plus 0.25% of the amount | Median of 25 transactions, 23 Oct 2026 (example)Gas price: PublicNodeETH price: DefiLlama | 29 Oct 2026, 05:12 UTC |
| Private transfer | Arbitrum | 1,117,021 gas | 0.0000226 ETHat 0.0202 gwei | $0.052or the fee of a relayer, if one sends it | Median of 25 transactions, 23 Oct 2026 (example)Gas price: PublicNodeETH price: DefiLlama | 29 Oct 2026, 05:12 UTC |
| Unshield | Arbitrum | 1,181,427 gas | 0.0000239 ETHat 0.0202 gwei | $0.055plus 0.25% of the amount; or the fee of a relayer, if one sends it | Median of 25 transactions, 23 Oct 2026 (example)Gas price: PublicNodeETH price: DefiLlama | 29 Oct 2026, 05:12 UTC |
| Shield | BNB Chain | 757,821 gas | 0.0000379 BNBat 0.0501 gwei | $0.029plus 0.25% of the amount | Median of 25 transactions, 23 Oct 2026 (example)Gas price: PublicNodeBNB price: DefiLlama | 29 Oct 2026, 05:12 UTC |
| Private transfer | BNB Chain | 1,033,356 gas | 0.0000517 BNBat 0.0501 gwei | $0.039or the fee of a relayer, if one sends it | Median of 25 transactions, 23 Oct 2026 (example)Gas price: PublicNodeBNB price: DefiLlama | 29 Oct 2026, 05:12 UTC |
| Unshield | BNB Chain | 1,123,230 gas | 0.0000562 BNBat 0.0501 gwei | $0.043plus 0.25% of the amount; or the fee of a relayer, if one sends it | Median of 25 transactions, 23 Oct 2026 (example)Gas price: PublicNodeBNB price: DefiLlama | 29 Oct 2026, 05:12 UTC |
| Tornado Cash | ||||||
| Deposit | Ethereum | 905,779 gas | 0.0000534 ETHat 0.0589 gwei | $0.12 | Median of 30 transactions, 23 Oct 2026 (example)Gas price: PublicNodeETH price: DefiLlama | 29 Oct 2026, 05:12 UTC |
| Withdrawal | Ethereum | 426,121 gas | 0.0000251 ETHat 0.0589 gwei | $0.058or the fee of a relayer, if one sends it | Median of 30 transactions, 23 Oct 2026 (example)Gas price: PublicNodeETH price: DefiLlama | 29 Oct 2026, 05:12 UTC |
| Privacy Pools | ||||||
| Deposit | Ethereum | 445,438 gas | 0.0000263 ETHat 0.0589 gwei | $0.061plus 0.5% of the amount | Median of 19 transactions, 23 Oct 2026 (example)Gas price: PublicNodeETH price: DefiLlama | 29 Oct 2026, 05:12 UTC |
| Withdrawal | Ethereum | 639,872 gas | 0.0000377 ETHat 0.0589 gwei | $0.088or the fee of a relayer, if one sends it | Median of 30 transactions, 23 Oct 2026 (example)Gas price: PublicNodeETH price: DefiLlama | 29 Oct 2026, 05:12 UTC |
| Privacy Cash | ||||||
| Deposit | Solana | 253,847 compute units | 0.000165 SOL | $0.017no protocol fee | Median of 15 transactions, 23 Oct 2026 (example)SOL price: DefiLlama | 29 Oct 2026, 05:12 UTCFee as measured on 23 Oct 2026 |
| Withdrawal | Solana | 253,192 compute units | 0.000165 SOL | $0.017sent by a relayer for 0.35% plus 0.006 SOL | Median of 25 transactions, 23 Oct 2026 (example)SOL price: DefiLlama | 29 Oct 2026, 05:12 UTCFee as measured on 23 Oct 2026 |
| Monero | ||||||
| Transfer | Monero | 1,538 bytes (weight) | 0.000123 XMRat 80,000 piconero a byte | $0.074 | Median of 175 transactions, 23 Oct 2026Fee per byte: node.sethforprivacy.comXMR price: Coin Metrics (daily) | 29 Oct 2026, 05:12 UTC |
| Zcash | ||||||
| Shield (transparent to shielded) | Zcash | 3 logical actions | 0.00015 ZEC | $0.19 | Published rule (ZIP 317)ZEC price: ZecStats | 29 Oct 2026, 05:12 UTCFee set by ZIP 317 |
| Shielded transfer | Zcash | 2 logical actions | 0.0001 ZEC | $0.12 | Published rule (ZIP 317)ZEC price: ZecStats | 29 Oct 2026, 05:12 UTCFee set by ZIP 317 |
| Unshield (shielded to transparent) | Zcash | 3 logical actions | 0.00015 ZEC | $0.19 | Published rule (ZIP 317)ZEC price: ZecStats | 29 Oct 2026, 05:12 UTCFee set by ZIP 317 |
| Aztec | ||||||
| Transaction | Aztec | – | 1.2 AZTEC | $0.02 | Median of 20 transactions, 23 Oct 2026Fees: AztecscanAZTEC price: DefiLlama | 29 Oct 2026, 05:12 UTC |
Gas units are medians of recent transactions on 23 Oct 2026; the gas price and the coin's price are read each hour. Prices of ETH, BNB, POL, SOL and AZTEC, Data: DefiLlama; of ZEC, Data: ZecStats (https://zecstats.org), CC BY 4.0; of XMR, Source: Coin Metrics Community Data, CC BY-NC 4.0.
Protocol and relayer fees
Some pools keep a share of each deposit or withdrawal. Relayers and broadcasters send withdrawals and private transfers for their users: they pay the network fee and take their own fee, which covers it, from the funds moved. Most of these fees are a percentage of the amount, so they cannot be added to the figures above without knowing the amount.
| Protocol | Applies to | Kind | Fee | Source |
|---|---|---|---|---|
| Railgun | Shield, on all four chains | Protocol fee | 0.25% of the amount shielded, kept by the protocol. Read from shieldFee() on each chain's contract. | Read 29 Oct 2026, 05:12 UTC |
| Railgun | Unshield, on all four chains | Protocol fee | 0.25% of the amount unshielded, kept by the protocol. Read from unshieldFee() on each chain's contract. | Read 29 Oct 2026, 05:12 UTC |
| Railgun | Private transfer and unshield, when a broadcaster sends it | Relayer fee | Set by each broadcaster: the payment must match its advertised rate times the estimated gas of the transaction. The broadcaster pays the network fee. | |
| Tornado Cash | Withdrawal, when a relayer sends it | Relayer fee | Taken from the amount withdrawn and set by each relayer to cover the gas it pays plus its own charge. On 23 Oct 2026 the median was 0.00203 ETH (2.03%) on 19 relayed withdrawals from the 0.1 ETH pool and 0.0477 ETH (0.48%) on three from the 10 ETH pool, by ten relayers, read from the fee field of their Withdrawal events. | |
| Privacy Pools | Deposit into the ETH pool | Protocol fee | 0.5% of the amount deposited, the vetting fee. Read from assetConfig() for ETH on the Entrypoint, which also sets a minimum deposit of 0.01 ETH. | Read 29 Oct 2026, 05:12 UTC |
| Privacy Pools | Withdrawal, when a relayer sends it | Relayer fee | Taken from the amount withdrawn and quoted by the relayer, up to a maximum of 10% set in the Entrypoint's assetConfig() for ETH. On 23 Oct 2026 the median was 0.42% on the 11 relayed withdrawals from all its pools in the 4,500 blocks to block 26,253,514, read from the Entrypoint's WithdrawalRelayed events. The relayer pays the network fee. | Read 29 Oct 2026, 05:12 UTC |
| Privacy Cash | Deposit | Protocol fee | 0% of the amount deposited, in the relayer's published fees and in the program's own configuration. | Read 29 Oct 2026, 05:12 UTC |
| Privacy Cash | Withdrawal through the relayer | Relayer fee | 0.35% of the amount withdrawn plus a rent fee of 0.006 SOL, as the relayer publishes them; the relayer pays the network fee. The program's own configuration account sets a 0.30% rate, with a 5% margin. |
|
Fees over time
The fee in US dollars per day, the average of the day's hourly readings. This page works these fees out itself, so the series start on 23 Oct 2026, the first reading.
Ethereum: deposit or shield
Railgun shield, Tornado Cash deposit and Privacy Pools deposit. Each day is the average of that day's hourly readings, in US dollars.
Ethereum: private transfer and withdrawal
Railgun private transfer, Railgun unshield, Tornado Cash withdrawal and Privacy Pools withdrawal. Each day is the average of that day's hourly readings, in US dollars.
Railgun: a private transfer on each chain
Ethereum, Arbitrum, Polygon and BNB Chain. Each day is the average of that day's hourly readings, in US dollars.
Solana, Monero, Zcash and Aztec
Privacy Cash withdrawal (Solana), Monero transfer, Zcash shielded transfer and Aztec transaction. Each day is the average of that day's hourly readings, in US dollars.
Why cost matters for privacy
Every deposit, private transfer and withdrawal pays a network fee, and the fee is the same whatever the amount. At the reading of 29 Oct 2026, 05:12 UTC, a Railgun shield on Ethereum cost $0.10 in gas: 0.1% of a $100 deposit and 0.001% of a $10,000 one. These transactions use far more gas than a plain payment: a Railgun shield uses about 36 times the 21,000 gas of a plain ETH transfer (ethereum.org), and a private transfer about 52 times.
A pool hides a withdrawal among the deposits that could have funded it, the anonymity set that the Anonymity sets page counts. A fee that puts someone off depositing is one fewer deposit in that crowd, and a user who waits for lower fees or moves funds in fewer, larger steps leaves a pattern in the timing and amounts, as Where privacy still leaks explains.
Fees also explain relayers. A fresh wallet holds nothing to pay gas with, and funding it from a known wallet would link the two, so a relayer (Railgun calls them broadcasters) sends the withdrawal, pays the network fee and takes its own fee from the amount. Those charges, and the protocol fees some pools keep, are listed under Protocol and relayer fees.
The same action costs different amounts on different chains: the gas units are similar, but the price of gas and of the coin it is paid in are not. Monero charges by the weight of a transaction, at a priority the wallet picks; Zcash by its logical actions (ZIP 317); and Solana by signature, plus any priority fee the sender adds.
What this does not tell you
- Congestion moves the price. Gas prices change from block to block. Each figure is one reading, taken once an hour, and the charts show each day's average of those readings, so a peak between two readings does not show.
- Relayers set their own prices. A relayer's or broadcaster's charge can change with the amount, the token and the gas price. The figures under Protocol and relayer fees are their published rates or the median of recent transactions on the day stated.
- Transactions differ in shape, and some are batched. The gas units are medians of recent transactions, measured on 23 Oct 2026. A transaction with more notes, tokens or contract calls uses more gas, and one transaction can carry several operations, which share its fee; the units change only when they are measured again.
- The network fee is shown whoever pays it. When a relayer sends a withdrawal it pays the network fee and recovers it, with its own charge, from the amount withdrawn.
- Layer 2 data costs vary. Arbitrum adds the cost of posting the transaction to Ethereum as extra gas units, measured with the rest; it moves with Ethereum's fees.
- Prices convert the fees. Fees are paid in each chain's coin and converted at its latest price: DefiLlama for ETH, BNB, POL, SOL and AZTEC, ZecStats for ZEC and Coin Metrics' daily price for XMR.
- Monero and Zcash charge by inputs and outputs. Monero's fee follows a transaction's weight and Zcash's its logical actions, and both grow with the inputs and outputs a wallet uses. The Zcash figures follow ZIP 317 for the transaction shapes named; a wallet may pay more.
- Aztec's figure covers every kind of transaction: the median fee of the newest transactions on Aztecscan, in Fee Juice priced as AZTEC.
- Nothing here rates a project's safety or says anything about its legal status where you live. A protocol listed here is not endorsed by this site.
Sources and method
How each fee is worked out
- EVM chains
- Ethereum, Polygon, Arbitrum and BNB Chain: the gas units in config/cost.json times the gas price, then the coin's price. The gas price is the next block's base fee plus the median priority fee of the last 10 blocks (eth_feeHistory, with eth_gasPrice as the fallback), read once an hour through PublicNode, with dRPC (Ethereum) and the public endpoints of Arbitrum and BNB Chain as fallbacks. The same request reads Railgun's shield and unshield fees and the Privacy Pools Entrypoint's settings for ETH.
- Solana
- The median Privacy Cash deposit and withdrawal paid – lamports on 23 Oct 2026, the base fee plus a priority fee, read from the transactions; the fee is priced at the current SOL price every hour.
- Monero
- A transfer with one or two inputs and two outputs weighs about 1,538 bytes, measured on 23 Oct 2026. Each hour the fee is that weight times the normal fee per byte that a public node reports (get_fee_estimate), rounded up to the node's quantization mask.
- Zcash
- ZIP 317's conventional fee: 5,000 zatoshis per logical action, with a minimum of two. A shielding or unshielding payment counts three actions and a shielded transfer two.
- Aztec
- The median fee of the 20 newest transactions on Aztecscan, read each hour, in Fee Juice, which is AZTEC bridged from Ethereum.
- Measured gas units
- The transactions measured were found through Railgun's indexers, Tornado Cash's Deposit and Withdrawal events and the Privacy Pools Entrypoint's events, and their gas used was read from their receipts. Each row's source names how many and links one example.
Cadence and downloads
The hourly job reads the gas prices, fees and prices once an hour, from minute 12, and adds each reading to the day's figures. The last reading was on 29 Oct 2026, 05:12 UTC, and every source answered. The latest readings and the daily series are in cost.json, under the site's licence and credits.
The gas units, sizes and fixed fees were measured or checked on 23 Oct 2026.
How each fee's units were found
- Railgun: shield, Ethereum
- Median gas used by the 25 most recent shield transactions as of 23 Oct 2026, read from their receipts. 13 of the 25 were sent straight to the Railgun contract and the rest through other contracts. Blocks 26,251,457 to 26,253,416; from 725,423 to 1,058,194 gas. Example transaction.
- Railgun: private transfer, Ethereum
- Median gas used by the 25 most recent private transactions without an unshield as of 23 Oct 2026, read from their receipts. A broadcaster can send the transaction and pay this gas, and is then paid from the private balance. Blocks 26,245,918 to 26,253,121; from 975,799 to 1,808,177 gas. Example transaction.
- Railgun: unshield, Ethereum
- Median gas used by the 25 most recent transactions with an unshield on 23 Oct 2026, read from their receipts. 11 of the 25 were sent straight to the Railgun contract and the rest through other contracts, hence the wide range. Blocks 26,251,870 to 26,253,456; from 484,315 to 1,537,380 gas. Example transaction.
- Railgun: shield, Polygon
- Median gas used by the 25 most recent shield transactions on Polygon as of 23 Oct 2026, read from their receipts. Blocks 95,924,193 to 95,996,350; from 840,040 to 2,631,841 gas. Example transaction.
- Railgun: private transfer, Polygon
- Median gas used by the 25 most recent private transactions without an unshield on Polygon as of 23 Oct 2026, read from their receipts. Blocks 95,787,870 to 95,978,078; from 1,259,794 to 3,024,320 gas. Example transaction.
- Railgun: unshield, Polygon
- Median gas used by the 25 most recent transactions with an unshield on Polygon, read from their receipts on 23 Oct 2026. Blocks 95,968,970 to 96,018,874; from 724,487 to 2,108,146 gas. Example transaction.
- Railgun: shield, Arbitrum
- Median gas used by the 25 most recent shield transactions on Arbitrum as of 23 Oct 2026, read from their receipts. Arbitrum counts the cost of posting the transaction to Ethereum as extra gas: a median of 1,633 of these units. Blocks 517,279,705 to 517,416,994; from 764,062 to 2,091,471 gas. Example transaction.
- Railgun: private transfer, Arbitrum
- Median gas used by the 25 most recent private transactions without an unshield on Arbitrum as of 23 Oct 2026, read from their receipts, including a median of 1,981 units for posting to Ethereum. Blocks 516,583,484 to 517,426,026; from 1,019,668 to 1,707,407 gas. Example transaction.
- Railgun: unshield, Arbitrum
- Median gas used by the 25 most recent transactions with an unshield on Arbitrum, read from their receipts on 23 Oct 2026, including a median of 4,064 units for posting to Ethereum. Blocks 517,298,031 to 517,420,927; from 480,547 to 1,828,446 gas. Example transaction.
- Railgun: shield, BNB Chain
- Median gas used by the 25 most recent shield transactions on BNB Chain as of 23 Oct 2026, read from their receipts. Blocks 129,015,272 to 129,269,634; from 726,290 to 2,520,974 gas. Example transaction.
- Railgun: private transfer, BNB Chain
- Median gas used by the 25 most recent private transactions without an unshield on BNB Chain as of 23 Oct 2026, read from their receipts. Blocks 128,153,951 to 129,172,522; from 965,097 to 1,272,991 gas. Example transaction.
- Railgun: unshield, BNB Chain
- Median gas used by the 25 most recent transactions with an unshield on BNB Chain, read from their receipts on 23 Oct 2026. Blocks 129,172,365 to 129,265,054; from 1,070,196 to 1,443,486 gas. Example transaction.
- Tornado Cash: deposit, Ethereum
- Median gas used by 30 recent deposits into the four ETH pools (0.1, 1, 10 and 100 ETH), found by their Deposit events and read from their receipts on 23 Oct 2026. 12 of the 30 went through the Tornado Cash router contract and 18 straight to a pool. Blocks 26,249,081 to 26,249,426; from 884,947 to 945,484 gas. Example transaction.
- Tornado Cash: withdrawal, Ethereum
- Median gas used by 30 recent withdrawals from the four ETH pools, found by their Withdrawal events and read from their receipts on 23 Oct 2026. 22 of the 30 were sent by a relayer, and 26 of the 30 went through the router contract. The lowest used 317,420. Blocks 26,249,040 to 26,249,782; from 317,420 to 460,228 gas. Example transaction.
- Privacy Pools: deposit, Ethereum
- Median gas used by the 19 deposits through the Entrypoint in the 9,000 Ethereum blocks to block 26,253,514 (23 Oct 2026), found by its Deposited events and read from their receipts. Blocks 26,245,460 to 26,252,605; from 381,540 to 740,726 gas. Example transaction.
- Privacy Pools: withdrawal, Ethereum
- Median gas used by 30 recent private withdrawals from the ETH pool, found by its Withdrawn events and read from their receipts on 23 Oct 2026. 25 of the 30 were sent by a relayer through the Entrypoint. A public exit (ragequit) used about 281,000 in the four seen. Blocks 26,244,758 to 26,253,349; from 588,467 to 821,055 gas. Example transaction.
- Privacy Cash: deposit, Solana
- The median fee of 15 deposits on 23 Oct 2026 (05:08 to 06:15 UTC), 165,000 lamports (0.000165 SOL), read from the transactions with getTransaction: the base fee of 5,000 lamports per signature plus a priority fee. The median deposit used 253,847 compute units. Solana's base fee is fixed per signature and the sender chooses the priority fee, so this measured fee is kept and priced at the current SOL price. Example transaction.
- Privacy Cash: withdrawal, Solana
- All 25 withdrawals seen on 23 Oct 2026 (05:07 to 06:25 UTC) paid 165,000 lamports (0.000165 SOL) and were sent by the same relayer account, which pays this fee and takes its own from the amount withdrawn. The median used 253,192 compute units. Example transaction.
- Monero: transfer
- A transfer with one or two inputs and two outputs weighs about 1,538 bytes: the median fee of the 175 such transactions in blocks 3,790,152 to 3,790,157 (0.00012304 XMR) divided by the node's normal fee per byte (80,000 piconero) on 23 Oct 2026. The fee shown is the node's current normal fee per byte from get_fee_estimate times that weight, rounded up as wallets do.
- Zcash: shield (transparent to shielded)
- The ZIP 317 conventional fee, 5,000 zatoshis times the larger of 2 and the logical actions: one transparent input (1) and two shielded actions (2), since wallets pad each shielded pool used to two. 15,000 zatoshis, or 0.00015 ZEC.
- Zcash: shielded transfer
- The ZIP 317 conventional fee for a payment between shielded addresses with one note spent and two outputs (the payment and the change): two shielded actions, the minimum of 2, so 10,000 zatoshis, or 0.0001 ZEC.
- Zcash: unshield (shielded to transparent)
- The ZIP 317 conventional fee for a payment from a shielded address to a transparent one: two shielded actions for the spend and the change (2) and one transparent output (1). 15,000 zatoshis, or 0.00015 ZEC.
- Aztec: transaction
- The median fee of the 20 newest transactions on Aztecscan at each reading, in Fee Juice, Aztec's fee token, which is AZTEC bridged from Ethereum and cannot be transferred on Aztec. On 23 Oct 2026 transactions paid about 1.23 Fee Juice each. The list does not give the mana each transaction used, so no unit count is shown.
Sources
Gas prices and gas units
- JSON-RPC API: eth_feeHistory and eth_gasPrice
- Gas and fees
- Railgun indexers (recent shields and transactions, used to find the transactions measured)
Solana
Monero
Zcash
Aztec
Prices