How this makes money
A page most privacy projects do not write, because the answer is usually “a token, later”. Ours is a fee on a payment, it is in the code today, and the numbers below come from that code rather than from a slide.
01 The charge
A 100 USDC payment costs the sender 101. A 1 USDC payment costs 1.1 — the floor dominates at small amounts, and deliberately: a private payment costs us the same rent and compute whether it moves one dollar or ten thousand. Below roughly ten tokens a percentage alone would mean paying people to use us.
No subscription, no listing fee, no access charge. If nobody pays anybody, we earn nothing — which is the correct incentive for a payment rail.
The same on every network as of 22 September 2026. Until that day the EVM chains worked the other way round: the sender saw no fee and the relayer took 1% out of the note at the exit, publicly. Now the sender pays it on top everywhere and sees the exact total before signing — type 1, the page says 1.01.
02 The fee is collected privately
It does not land in a visible account. It is deposited as its own stealth note to the operator’s reader key, so an observer cannot separate “fee income” from any other payment in the pool, and cannot count our revenue by watching the chain.
We can. Nobody else can. That is precisely what we sell, applied to ourselves.
What that hides and what it does not: the pool hides which withdrawal later spends which note. It does not hide the value of an individual deposit — on an ERC-20 chain every transfer logs its amount, and that was true of every deposit here before any fee existed.
03 The fee pays the system's own bills
On Arc, Circle's chain, gas is USDC — the same token the pools move. The relayer keeps a two-dollar reserve for gas and sends the rest to the treasury once a day. Nothing to convert, no human in the loop.
On Solana it needs a swap and has one: when the operator's SOL drops below 0.1, the next payment's fee is swapped to SOL through Jupiter instead of going to the treasury. The swap transaction is built by the aggregator and checked against a whitelist before our key signs it.
On the remaining EVM chains gas is ETH or HYPE while the fee is USDC, and nothing converts one into the other yet — those relayers are topped up by hand. Closing that loop on every chain is the next piece of work.
04 What it looks like at volume
| payments / month | average size | fee revenue |
|---|---|---|
| 1 000 | 50 USDC | 500 USDC |
| 10 000 | 50 USDC | 5 000 USDC |
| 10 000 | 500 USDC | 50 000 USDC |
| 100 000 | 200 USDC | 200 000 USDC |
The interesting column is the average size, not the count. Payroll and contractor invoices — the case this was built for — sit in the hundreds, not the single digits. Ten thousand payments a month is one mid-size company paying two hundred contractors twice a month, plus a handful of others.
Revenue, not profit: on Solana each of those payments also leaves one to two dollars of permanent rent on chain, which is why the first row of this table is a loss and why the average size decides everything. The measurements and the three ways out are in section 06 and in the repo page linked below.
05 Who has to adopt it
Not a large number of people. A small number of integrators, because the unit of adoption here is a program or an agent, not a person:
Each of those brings a stream of payments rather than one. That is why the SDK, the MCP servers and the CPI example matter more than a consumer interface.
06 What is not true yet
Today the operator funds the wrap
In the current demo the operator wraps with its own tokens, so “amount plus fee” is a number it moves for itself. The revenue model turns real when the sender’s own tokens fund the wrap — that path exists in the code and the browser flow already uses it. Until there are senders who are not us, this page describes a mechanism, not an income.
On Solana the rent eats the fee on small payments
Each payment leaves an account on chain holding the sealed envelope — 0.010 to 0.019 SOL of rent, one to two dollars. We wrote here earlier that this rent comes back when the account closes; that was wrong. It closes only when a payment is never collected and the sender takes it back. A collected payment keeps its account forever, so the rent is an expense, and against it the floor of 0.1 is an order of magnitude short. Below roughly two hundred dollars a payment, Solana loses us money at today's numbers. The EVM chains are not affected — there the envelope lives in the event log, which costs gas once and no rent ever.
Collecting the fee privately is solved; spending it is half-solved
Paying our own gas out of the fee is automatic on Arc and on Solana, and manual on the other EVM chains — see section 03. Spending the fee as income, moving it to an account a person uses, is still a withdrawal like any other, which means our own money becomes linkable at the moment it is cashed out.
Three wallet prompts, not one
A hidden-amount payment on an EVM chain is an approval, a deposit, and a second deposit for the fee. The total is shown before any of them and a failed fee deposit cannot fail the payment — but it is three prompts. Doing it in one transaction needs a pool contract that takes both notes in a single call, which means new contracts: the deployed ones are immutable on purpose. That is the next contract-level piece of work, and it has a cost worth naming — two notes in one transaction are provably linked, so the fee would hint at the payment's size unless it is salted.
The operator sees the send side
Wrapping into confidential Token-2022 requires the mint authority, so the operator knows which wallet paid how much. Privacy from the public is complete; privacy from the operator on the send path is not, and pretending otherwise would be the kind of claim this project exists to avoid.
07 Why there is no token
There is none and no plan for one. A privacy rail that needs its own asset to work has a second reason to exist, and that reason competes with the first. Fees in the asset being moved — USDC and USDT — keep the incentive single: make payments people want to make.