noircashdocs

Fees

The Pons trading fees that go to private holders, the network fee of private transactions, and what you pay with your own ETH.

There are three kinds of cost around noircash. None of them goes to the team. There is no fee on the amount you send, sell or unshield, and none on NOIR transfers: a percentage of a private amount would show the amount on-chain.

CostWhenPaid inGoes to
Pons trading fee, 1%Every NOIR trade on the Pons curve or pool, by anyoneETH0.3% to Pons, 0.7% to the noircash harvester, which buys NOIR for private notes
Network feeEvery private send, sale and unshieldNOIR, from the notes you spendThe gas reserve that pays for private transactions
GasRegistration, purchases, approvals and shieldsETH, from your addressThe network

The trading fees

Pons charges one fee on every NOIR trade, the same before and after graduation:

FeeRateSet by
Standard trade fee1%Pons
Creator tax0%Set when NOIR was launched; it cannot be changed

Pons keeps 30% of the standard fee (0.3% of the trade). The rest goes to the NOIR creator, which is the noircash FeeHarvester contract: 0.7% of every trade, paid in ETH. The trader pays 1% in total. Quotes in the app already include these fees.

Harvesting

The ETH collects with Pons until someone calls harvest() on the harvester. Anyone can call it, and it:

  1. collects the ETH fees Pons holds for NOIR;
  2. tops up the vault's gas deposit at the ERC-4337 EntryPoint, if it is below its target;
  3. spends the rest on NOIR and donates it to the vault. No new shares are created, so every share, and every note, is worth a little more NOIR.

The buy must land within 3% of the vault's price average, after fees. If the whole amount would move the price further, the harvester halves it until it fits, and what is left waits for the next harvest. Whoever calls harvest() receives 0.5% of the ETH it handles, so anyone has a reason to run it; a noircash keeper calls it whenever the gas deposit runs low or fees have built up.

Only private notes earn. Public NOIR in a wallet earns nothing. See The vault and The pool.

The holder yield depends on Pons. The Pons owner can redirect NOIR's creator fees to another address after a 3-day public timelock. That would stop the yield from then on, but it cannot touch the vault or the notes. See Trust model.

The network fee of private transactions

Private transactions are not sent by your wallet, so you pay no ETH for them. An ERC-4337 bundler submits them, and the vault's deposit at the EntryPoint pays the bundler. In exchange, each transaction pays a network fee in NOIR, taken from the notes it spends.

How big it is

The fee must be worth at least the transaction's maximum gas cost plus a 20% margin, valued at the vault's price average:

network fee >= (verification gas + call gas + pre-verification gas) x max fee per gas x 1.2

The app fills in those numbers as follows:

ParameterValue
Verification gas limit5,500,000
Call gas limit650,000 for a sale (the swap), 60,000 for a send or an unshield
Pre-verification gasThe bundler's estimate plus 10%
Max fee per gas1.25 times the bundler's standard gas price
Margin20%

The price average moves slowly on purpose: each block's price (the last one recorded in it) counts for 1/8 and is clamped to 10% of the average, so the average moves by at most 1.25% per block. It is updated by every trade through the noircash router, by each harvest, and by anyone calling poke() on the vault. A price pushed for a moment moves the average by at most 1.25% per block, so shifting the fee noticeably takes many blocks of costly trading. See Gas.

Where the overpayment goes

The fee covers the maximum the transaction could cost, and real transactions use less. The difference is not lost. Network fees collect in the vault's gas reserve, and each harvest decides what to do with it:

  • if the deposit is still below its target after the ETH fees topped it up, the harvester sells just enough of the reserve for ETH, within 3% of the price average;
  • otherwise, it gives the whole reserve back to private holders by donating it to the vault.

The history shows each spend with its network fee included.

What you pay with your own ETH

These are ordinary transactions sent from your wallet. They reveal nothing that is not already public about them.

ActionYou pay
Register your privacy keyGas, once
Buy in the appThe ETH you spend, the Pons fees, plus gas
Shield public NOIRGas for the approval (when needed) and the shield

Your address never pays gas for a private transaction. If it did, its signature would link you to the transaction.

A private transaction that is not included costs nothing: the network fee is only taken when the transaction is on-chain.

On this page