Stream Fee Structure
How SoroStream fees work, what you pay, and how they affect your stream rates.
Protocol Fee
…The protocol fee is a percentage taken from stream withdrawals by the SoroStream contract. It is deducted from the recipient's vested balance — senders never pay extra.
- Charged in the same token as the stream.
- Applied at withdrawal time on the amount being withdrawn, not upfront at creation.
- Accrues to the on-chain treasury and is distributed per governance policy.
Worked example
A recipient withdraws 100 USDC from an active stream:
Fee (0.5%) = 0.5 USDC · Recipient receives = 99.5 USDC
Soroban Transaction Fee
Every on-chain operation (creating, withdrawing from, or cancelling a stream) is a Soroban transaction that pays a network fee denominated in XLM. Unlike the protocol fee, this is paid by the sender of the transaction.
Inclusion fee
A small flat fee to include the transaction in a ledger. Set as the transaction's base fee.
Resource fee
Covers CPU, memory, and ledger footprint consumed by contract execution. Scales with the complexity of the call — e.g. larger metadata payloads cost more.
Simulating transaction…
Tip: if a fee sponsor is configured, the sponsor account pays the transaction fee for you.
How Fees Affect Stream Rates
A stream's advertised flow rate (e.g. tokens/day) is always gross — calculated from the full deposit divided by duration. What a recipient actually keeps depends on when they withdraw:
- Vesting accrues gross tokens continuously over the stream duration.
- The protocol fee is applied only to amounts actually withdrawn.
- The XLM transaction fee applies once per withdrawal transaction, regardless of size — so fewer, larger withdrawals are cheaper.
Effective net rate ≈ gross rate × (1 − protocol fee), minus the amortised cost of withdrawal transactions.
FAQ
- Do I pay the protocol fee when creating a stream?
- No. It is only charged when the recipient withdraws vested funds.
- Can the protocol fee change?
- Yes — it is set by contract config and may change through governance. Your existing streams are affected only for withdrawals made after a change.
- Who pays when cancelling a stream?
- Only the Soroban transaction fee (XLM) for the cancel transaction. No protocol fee applies to returning unvested funds.