Gas sponsorship and fee reviews
See who pays gas, which operations are sponsored and how fees affect a public payout.
Who pays gas#
A relay can submit a Pool operation and pay network gas. A sponsored operation proves a zero relay fee, so receiving a relayed private payment needs no gas balance. Funding, account updates and receiving-directory changes may instead use a connected wallet. Its transaction prompt shows the network fee.
The submitting wallet pays gas; the proof identifies where any fee goes. Someone else submitting the proof cannot redirect that fee. A signature is also different from a transaction: a claim recipient signs approval while the relay can pay for controller deployment and settlement.
Check the fee for your operation#
The service-fee policy sponsors ordinary private sends, Combine, batches, claim-link sends, private claims and private refunds. Public withdrawals, source-revealing exits and external actions may charge a service fee plus gas in the spent asset. A claim paid to a public wallet uses the withdrawal fee policy.
The disposable fork sponsors operations by default when no fee policy is published. A deployment that charges publishes its complete schedule in queue configuration. Read that schedule for your Pool. A fork default or example price is not a quote for the public app. Show both service fee and gas component before asking for approval.
| Operation | Fee policy | What it reveals |
|---|---|---|
| Private send and Combine | Sponsored under the service policy | A zero fee leaves the asset out of fee signals |
| Batch and private claim/refund | Sponsored under the service policy | Output values stay private |
| Withdrawal or source exit | Tier plus gas when priced | Payout already publishes asset and amount |
| Swap, Earn or plan action | Tier plus gas when priced | The input used by the route is public |
| Deposit or receiving registration | No Pool principal fee; wallet gas may apply | Funding or registration is public |
Calculate the fee in the client#
The client calculates fees with integers and rational values. The example policy charges $2 through $1,000, $10 through $10,000, $50 through $100,000 and $300 above that. Each upper limit is inclusive. Gas is added separately, and the fee rounds upward to whole atomic units of the spent asset.
Fee calculations use the schedule's reference prices, not the live USD estimates on the balance screen. For an unpriced share input, a supported action can use its proved minimum output to calculate value. An unpriced withdrawal can be sponsored. Publishing the whole schedule avoids asking the relay about a private asset before the proof exists.
Show the amount, fee and payout#
Before proving or signing, show the fee in atomic units and token units, its payee and the net payout. A whole-note withdrawal must satisfy payout plus fee equals note balance. A public claim also spends its whole note and needs a positive payout. The recipient can choose private receipt instead.
Near a fee-tier edge, the largest affordable payout can leave more than the schedule's minimum fee. The claim review displays this remainder and asks for separate consent to pay it as an extra fee. Opening the review or choosing a destination does not approve that additional charge.
What a paid fee reveals#
The proof includes fee asset and amount in public signals. A nonzero fee on a private spend would publish that asset and fee even though recipient and payment value stay private. The service policy keeps those ordinary private operations at zero.
The source also has a test-only per-operation quote path. If you use it in development, check its scope, sponsored flag, cap and stated information exposure, and recompute the fee from the quote inputs. Keep this test interface separate from the production service policy. A paid private fee cannot hide its asset.
If the fee changes before submission#
A saved proof may reach the relay after its fee policy changes. The relay can return FEE_TOO_LOW when the saved fee is insufficient. The proof may still be executable through an allowed path; a relay refusal does not spend the notes or cancel every copy of the authorization.
Check the original operation and inputs first. Keep its encrypted journal and use the retry or recovery review. Do not automatically prove the same inputs again or alter a fee someone already signed. Tell the user whether you are checking confirmation, retrying the saved operation or asking them to review a new one.