VeilSwap
← All posts
Explainers2026-10-248 min read

ZEC Shielded vs Transparent: What 9,166 Bytes Costs

On 24 October 2026 three Zcash blocks were 99.8% shielded bytes. We measured the real sizes (9,166 to 103,848 bytes) and the ZIP-317 fee that ignores them - so you can see which half of the cost is yours.

Three blocks, 4.95 MB, and 99.8% of it shielded. Between 09:47:41 and 09:58:53 UTC on 24 October 2026, blocks 3528840, 3528842 and 3528846 carried 88 transactions and 4,955,239 bytes. Fifty-four of them were fully shielded - no visible inputs, no visible outputs - and together they took 4,945,120 bytes, or 99.8% of the space. The 31 transparent transactions averaged 310 bytes each; all of them combined were 9,598 bytes. Figures come from Blockchair's Zcash API, queried at 10:00 UTC. If you have ever wondered what "shielded is expensive" means in practice, this is the size half of the answer. (Zcash vs Monero 2026)

Size scales with actions, not with outputs you can see. In that sample, shielded sizes fell into five buckets: 9,166 bytes (2 actions), 9,200 (2 actions plus one transparent output), 21,790 (6), 91,224 (28) and 103,848 (32 actions - 46 of the 54). The line through them is 2,854 bytes of fixed overhead plus 3,156 bytes per action; for 28 actions it predicts 91,222 against 91,224 measured. Decoding one raw 32-action transaction confirms the shape: 32 Ironwood-pool actions, a 150,848-character proof field, and 724 bytes of ciphertext plus signature per action. (Zcash vs Monero 2026)

Next to a transparent transaction that is a different scale entirely. The transparent side of the same blocks measured 181 bytes (coinbase), 207-208 (one input, one output), 240-245 (one in, two out), 302 (one in, three out), 537 (three in, two out) and 1,555 (ten in, two out). So the smallest realistic shielded transfer, 9,166 bytes, is 38 times a 244-byte transparent send. A 32-action batch at 103,848 bytes is 501 times a 207-byte transaction, and a single one of those takes 5.2% of Zcash's 2 MB block cap. The fullest block in a 100-block sample sat at 1,996,842 bytes; 13 of those 100 blocks were above 1.9 MB. (Zcash vs Monero 2026)

The fee, however, is charged per action, not per byte. ZIP-317 sets the conventional fee at 5,000 zats times the larger of 2 and the logical action count. Transparent inputs contribute one action per 150 bytes of input data or 34 bytes of output data, whichever is bigger; Sapling counts the larger of spends and outputs; Orchard actions count one each, and Revision 1 of the ZIP adds Ironwood actions on the same basis. So a 9,166-byte two-action shielded transfer pays 10,000 zats, 0.0001 ZEC - exactly what a 244-byte one-in/two-out transparent transaction pays. Observed on chain in the same blocks: 10,000 zats was the dominant transparent fee, a 537-byte three-in/two-out paid 15,000, a 1,555-byte ten-in/two-out paid 50,000. (how Monero fees work)

In zats per byte, shielded is roughly 37 times cheaper. 10,000 zats over 9,166 bytes is 1.09 zats per byte; 10,000 over 244 bytes is 41. A 32-action batch pays 160,000 zats, 0.0016 ZEC, which at ZEC $1,151.58 (CoinGecko at 10:00 UTC on 24 October 2026; Binance showed 1,153.19 and Kraken 1,149.76) is $1.84 - for moving 32 notes and occupying a twentieth of a block. The schedule is deliberately subsidising shielded data: the wallet pays per action, the block-space cost lands on whoever mines the block. "Shielded is expensive" is wrong at the wallet level and right at the block level. (Zcash vs Monero 2026)

You cannot audit a shielded fee from outside anyway. Blockchair returns a fee of zero or null for those transactions, because input values are encrypted and even the fee is only implied by the encrypted value balance. The only real check is local: a correct wallet computes ZIP-317 from the action count and shows the number before you sign. If a wallet quotes a "network fee" well above 0.0001 ZEC for a two-action send, it is adding its own margin or computing something other than the conventional fee. (how Monero fees work)

And none of it delays you the way Bitcoin congestion does. Across blocks 3,528,750 to 3,528,849 on 24 October 2026 (07:55:01 to 10:02:11 UTC) the average gap between blocks was 77.1 seconds against a 75-second target. The median block was 26,088 bytes and the mean 400,338; 21 of those 100 blocks were under 2 KB, 19 were over 1 MB. At 10:00 UTC the mempool held 4 transactions and 1,975 bytes. On an empty Zcash network a 9 KB shielded transfer confirms in the next block; the 2 MB cap only bites in the occasional batch-heavy block. (Zcash vs Monero 2026)

What this does to a real order. At 10:00 UTC on 24 October our quote endpoint returned 100 USDT-TRC20 to 0.07094927 ZEC, 500 to 0.41301823, 1,000 to 0.84052051 and 5,000 to 4.25975403 ZEC, with a floor of 26.189336 USDT and a ceiling of 76,607.416665. Implied prices: 1,409.5, 1,210.6, 1,189.7 and 1,173.8 USDT per ZEC against a spot of 1,151.58 - a fit of roughly 16.8 USDT fixed plus 1.6%. The shielding step you do afterwards costs 0.0001 ZEC, $0.115, which is 0.7% of the fixed overhead you already paid. Size is not where your money goes. (XMR to USDT exit)

Six things worth doing, and one that saves nothing. Confirm the payout address type first; if the venue will not pay a zs1 or u1 address, receive on a transparent t-address and shield inside your own wallet for 0.0001 ZEC, accepting one transparent hop. Estimate size yourself with 2,854 + 3,156 x actions. Do not batch for fee reasons: 32 actions in one transaction is 160,000 zats, identical to sixteen separate two-action transactions at 10,000 zats each, because every transaction gets two grace actions. Watch for near-cap blocks - 13 of the last 100 were above 1.9 MB - and remember that against a big shielded batch, 10,000 zats is a weak bid. (how Monero fees work)

The rule worth memorising. Zcash charges for actions and for block space, and it charges for them separately: about 0.0001 ZEC for any small transfer, shielded or not, and roughly 3.2 KB of block space per extra note. Prices move - every figure above comes from the chain or our own quote API on 24 October 2026, around 10:00 UTC, and the live quote on the swap page is the only number that binds. The arithmetic does not move. (Zcash vs Monero 2026)

Frequently asked questions

How much more does a shielded Zcash transaction cost than a transparent one?

Nothing extra up to two actions. ZIP-317 sets the conventional fee at 5,000 zats per logical action with two grace actions, so a 9,166-byte two-action shielded transfer pays 10,000 zats - 0.0001 ZEC, about $0.115 at ZEC $1,151.58 on 24 October 2026 - exactly what a 244-byte transparent one-in/two-out transaction pays. Above that it scales linearly: 28 actions is 140,000 zats and 32 actions is 160,000 zats (0.0016 ZEC, $1.84). The real difference is block space - 9,166 bytes against 244, roughly 38x.

Can a swap service pay out to a shielded zs1 or unified u1 address?

It depends on the venue and you should confirm it before you send anything, because address-type support is a business decision, not a protocol limit. If shielded payout is not accepted, receive on a transparent t-address and shield inside your own wallet: that costs one extra transaction, 0.0001 ZEC for a two-action transfer, and leaves one transparent hop on chain instead of a fully shielded receipt.

Do shielded transactions confirm more slowly?

Not on Zcash's current load. Over blocks 3,528,750 to 3,528,849 on 24 October 2026 the average block gap was 77.1 seconds against a 75-second target, the median block was 26,088 bytes, and the mempool held 4 transactions and 1,975 bytes at 10:00 UTC - so a 9 KB shielded transfer lands in the next block. The exception is a near-cap block: 13 of those 100 blocks were above 1.9 MB, and in those a 10,000-zat fee is a weak bid against payers offering more.

Ready to swap?

No account · No KYC · No email

Exchange now
ZEC Shielded vs Transparent: What 9,166 Bytes Costs — VeilSwap