Protocol Streaming Benchmark
An open, mathematically normalized evaluation comparing StreamPay (Stellar / Soroban) against Sablier V2 and Superfluid CFA on the fundamental axes of streaming performance: storage footprint, ongoing state rent, claim efficiency, and cancellation settlement.
Display & Currency Mode
Toggle between real-world normalized USD fees and protocol-native execution metrics (Gas vs CPU Instructions vs Stroops).
🧮 Interactive Stream Cost Simulator
Simulate total end-to-end lifecycle cost (Creation + Claims + State Rent / Collateral + Cancellation) for any stream configuration.
Axis 1: Storage Bytes per Stream
Measures the persistent on-chain footprint allocated for a single stream. While EVM storage slots pack 32-byte words, Soroban persists entries via canonical XDR byte serialization.
| Protocol | Raw Data Bytes | Keys / Slots | Key Overhead | Total Footprint | State Lifecycle Model |
|---|---|---|---|---|---|
| StreamPay (Soroban) | 444 B | 1 entry key | 40 B | 484 B | Stellar Persistent Ledger Entry (TTL / State Archival) |
| Sablier V2 (EVM) | 128 B | 4 EVM slots | 32 B | 160 B | EVM Perpetual Contract Storage (Permanent State) |
| Superfluid CFAv1 (EVM) | 128 B | 4 EVM slots | 0 B | 128 B | EVM Perpetual Contract Storage (Permanent State) |
Axis 2: Cost per Second of Stream Life (State Rent)
Stellar utilizes State Archival: contracts pay ongoing rent to maintain state availability on validators. EVM systems front-load storage fees entirely at creation, resulting in $0/sec ongoing rent at the cost of global state bloat.
| Protocol | Cost / Second | Cost / 30-Day Month | Prepaid Deposit / Buffer | Maintenance Requirement |
|---|---|---|---|---|
| StreamPay (Soroban) | $0.0000000116 | $0.0301 | 500,000 ledgers (~29 days) prepaid on creation (0.242 XLM ~ $0.029) | Automatically renewed on any touch (claims, top-ups, cancellations). Zero risk of archival while active. |
| Sablier V2 (EVM) | $0.0000000000 | $0.0000 | None | Storage persists perpetually on all full nodes without maintenance. |
| Superfluid CFAv1 (EVM) | $0.0000000000 | $0.0000 | 4-hour buffer deposit locked (opportunity cost: ~5% APY drag) | Sender balance must remain positive; liquidation bots liquidate buffer if account depletes. |
Axes 3 & 4: Claim & Cancel Execution Costs
Execution metering for hot-path balance withdrawals and premature cancellations. StreamPay executes on Soroban host CPU instructions, while Sablier and Superfluid consume EVM gas units.
Withdraw Accrued Funds (Claim)
| Protocol & Network | Operation | Native Metric | Auxiliary Footprint | Est. Fee (USD) |
|---|---|---|---|---|
| StreamPay (Stellar) | withdraw / withdraw_max | 384,170 CPU Instructions | 153,255 B Memory | 236 B Event | $0.000029 |
| Sablier V2 (Arbitrum L2) | withdraw | 59,320 EVM Gas | 1 SSTORE rewrite | ERC-20 Transfer | $0.017800 |
| Sablier V2 (Ethereum L1) | withdraw | 59,320 EVM Gas | 1 SSTORE rewrite | ERC-20 Transfer | $3.560000 |
| Superfluid CFA (Arbitrum L2) | Passive Dynamic Flow | 0 EVM Gas | 0 on-chain tx required | $0.000000 |
| Superfluid CFA (Ethereum L1) | Passive Dynamic Flow | 0 EVM Gas | 0 on-chain tx required | $0.000000 |
Cancel Stream (Settlement & Refund)
| Protocol & Network | Operation | Native Metric | Auxiliary Footprint | Est. Fee (USD) |
|---|---|---|---|---|
| StreamPay (Stellar) | cancel_stream | 591,737 CPU Instructions | 197,100 B Memory | 248 B Event | $0.000038 |
| Sablier V2 (Arbitrum L2) | cancel | 84,150 EVM Gas | 1 SSTORE rewrite | 2 ERC-20 Transfers | $0.025200 |
| Sablier V2 (Ethereum L1) | cancel | 84,150 EVM Gas | 1 SSTORE rewrite | 2 ERC-20 Transfers | $5.050000 |
| Superfluid CFA (Arbitrum L2) | deleteFlow | 78,600 EVM Gas | Net-flow zeroing | Buffer refund | $0.023600 |
| Superfluid CFA (Ethereum L1) | deleteFlow | 78,600 EVM Gas | Net-flow zeroing | Buffer refund | $4.720000 |
🔬 Cross-Chain Normalization & Measurement Methodology
1. The Fundamental Metering Disparity (EVM Gas vs Soroban Instructions)
EVM gas is an aggregated synthetic metric designed to compress three orthogonal dimensions—computational execution (opcodes), transient volatile memory (expansion), and permanent disk storage (SSTORE)—into a single scalar. Because Ethereum historically lacked storage rent, the EVM punishes new storage writes with a steep 20,000 gas cliff (~$12 on L1) to disincentivize validator disk exhaustion.
Conversely, Stellar's Soroban host meters each resource independently based on actual hardware costs:
- CPU Instructions: Monitored via the WebAssembly fuel counter (100,000,000 instruction transaction budget).
- Memory Bytes: Volatile memory allocations metered separately from instruction budget.
- Ledger Read/Write Bytes: Serialized XDR byte payload lengths recorded directly against disk bandwidth quotas.
- State Archival Rent: Explicit per-byte per-ledger holding fee ensuring dormant entries do not bloat full nodes.
2. State Archival Rent Formula & TTL Invariant
In Soroban Protocol 20/21, persistent storage rent is governed by the consensus parameter:rate = 0.01 stroops / byte / ledger(1 stroop = 0.0000001 XLM). With target ledger close time T = 5.0 s (0.2 ledgers / second), the continuous rent formula for a StreamPay stream (484 bytes) is:
Rent (30 Days) = 0.968 × 86,400 s/day × 30 days = 2,509,056 stroops ≈ 0.2509 XLM (~$0.0301 USD)
StreamPay implements automatic TTL extension: every stream entry is initialized with 500,000 ledgers (~29 days) of prepaid TTL. Every mutating interaction (withdraw, top_up,cancel_stream) extends the entry's TTL back to 500,000 ledgers if it drops below 200,000 ledgers. This ensures that active streams never risk state archival while maintaining honest on-chain rent accounting.
3. Solvency & Claim Mechanics: Discrete Escrow vs Continuous Flow
StreamPay and Sablier employ a Discrete Escrow architecture: 100% of the stream principal is transferred into the contract at inception. This guarantees absolute mathematical solvency—a stream can never fail to pay out regardless of external market conditions. The tradeoff is that recipients must execute an explicit claim transaction to withdraw accrued tokens.
Superfluid employs a Continuous Flow architecture: token balances update in real-time as a dynamic derivative of timestamp. Recipients experience 0-gas claims because tokens are spendable directly without an on-chain transaction. However, this requires senders to maintain continuous positive balances and lock a mandatory 4-hour liquidation buffer deposit. If a sender account runs dry, off-chain liquidation bots (TOPIAC / PICASSO) execute forced closures and confiscate the buffer.
4. Methodology Dispute & Contribution Process
All competitor numbers are dated, cited against published audit reports, and linked to verified mainnet contracts. If you represent a competitor protocol or believe any gas profile, storage packing model, or normalization parameter is inaccurate:
- Fork the StreamPay repository and check out a branch:
git checkout -b dispute/benchmark-update. - Submit a reproducible test script (e.g. Foundry
forge test --gas-reportor Hardhat trace) updatingbenchmarks/data/competitors.json. - Open a PR titled
benchmark: dispute <protocol or metric>with link to verified on-chain deployment.
📚 Competitor References & Audit Citations
All benchmark parameters are sourced from audited canonical releases and verified block explorer deployments.
Sablier V2 Lockup Linear
Verified: 2024-10-15SablierV2LockupLinear.sol (3eb3cfa (May 2023))0xAFb9797282b35606d649B25A775C17f920272B6c0x2C460eb3aAadAd3c8e54736fdf5A5B63402cf8940xb180D81995dc6EC860F5F6c4EbF0d3148154D355Superfluid Constant Flow Agreement (CFAv1)
Verified: 2024-03-12ConstantFlowAgreementV1.sol (v1.0 (contracts/agreements/ConstantFlowAgreementV1.sol))0xEd6B5CD325f0F6E6705775a644b50997FAae61a80x4C08b64A5E0c077A1792383161a0E0630D268e37StreamPay (Stellar)
Verified: 2026-10-19contracts/streaming-payments (v0.4.0 (Stellar Soroban Protocol 20+))Active Production DeployCB25...DEPLOYED💻 Run the Measurement Harness Yourself
Execute the deterministic Soroban measurement harness locally to independently reproduce every number.