TESTNETStellar Testnetcontract id not configured
Public & ReproducibleCI Verified FreshUpdated: 2026-10-19

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.

StreamPayStellar
$0.03
Create: $0.000042
Claims (4×): $0.000116
State Rent: $0.0301
Cancel: $0.000038
Sablier V2Arbitrum L2
$0.16
Create: $0.066
Claims (4×): $0.071
State Rent: $0.00 (Perpetual)
Cancel: $0.025
Superfluid CFAArbitrum L2
$0.14
Create: $0.052
Claims: $0.00 (Passive Flow)
Buffer Drag (5%): $0.068
Cancel: $0.024
Sablier V2Ethereum L1
$32.40
Create: $13.11
Claims (4×): $14.24
State Rent: $0.00 (Perpetual)
Cancel: $5.05

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.

Storage bytes and layout comparison per stream
ProtocolRaw Data BytesKeys / SlotsKey OverheadTotal FootprintState Lifecycle Model
StreamPay (Soroban)444 B1 entry key40 B484 BStellar Persistent Ledger Entry (TTL / State Archival)
Sablier V2 (EVM)128 B4 EVM slots32 B160 BEVM Perpetual Contract Storage (Permanent State)
Superfluid CFAv1 (EVM)128 B4 EVM slots0 B128 BEVM 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.

Ongoing state rent and holding cost comparison
ProtocolCost / SecondCost / 30-Day MonthPrepaid Deposit / BufferMaintenance Requirement
StreamPay (Soroban)$0.0000000116$0.0301500,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.0000NoneStorage persists perpetually on all full nodes without maintenance.
Superfluid CFAv1 (EVM)$0.0000000000$0.00004-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)

Claim withdrawal cost comparison
Protocol & NetworkOperationNative MetricAuxiliary FootprintEst. Fee (USD)
StreamPay (Stellar)withdraw / withdraw_max384,170 CPU Instructions153,255 B Memory | 236 B Event$0.000029
Sablier V2 (Arbitrum L2)withdraw59,320 EVM Gas1 SSTORE rewrite | ERC-20 Transfer$0.017800
Sablier V2 (Ethereum L1)withdraw59,320 EVM Gas1 SSTORE rewrite | ERC-20 Transfer$3.560000
Superfluid CFA (Arbitrum L2)Passive Dynamic Flow0 EVM Gas0 on-chain tx required$0.000000
Superfluid CFA (Ethereum L1)Passive Dynamic Flow0 EVM Gas0 on-chain tx required$0.000000

Cancel Stream (Settlement & Refund)

Cancel stream operation cost comparison
Protocol & NetworkOperationNative MetricAuxiliary FootprintEst. Fee (USD)
StreamPay (Stellar)cancel_stream591,737 CPU Instructions197,100 B Memory | 248 B Event$0.000038
Sablier V2 (Arbitrum L2)cancel84,150 EVM Gas1 SSTORE rewrite | 2 ERC-20 Transfers$0.025200
Sablier V2 (Ethereum L1)cancel84,150 EVM Gas1 SSTORE rewrite | 2 ERC-20 Transfers$5.050000
Superfluid CFA (Arbitrum L2)deleteFlow78,600 EVM GasNet-flow zeroing | Buffer refund$0.023600
Superfluid CFA (Ethereum L1)deleteFlow78,600 EVM GasNet-flow zeroing | Buffer refund$4.720000
Inline Technical Specification

🔬 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 = 484 bytes × 0.01 stroops/byte/ledger × 0.2 ledgers/s = 0.968 stroops / second
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:

  1. Fork the StreamPay repository and check out a branch: git checkout -b dispute/benchmark-update.
  2. Submit a reproducible test script (e.g. Foundry forge test --gas-report or Hardhat trace) updating benchmarks/data/competitors.json.
  3. 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-15
SablierV2LockupLinear.sol (3eb3cfa (May 2023))
Audits: Cantina Security Audit (May 2023) • Code4rena Competitive Audit (June 2023)
Deployments:
Ethereum Mainnet: 0xAFb9797282b35606d649B25A775C17f920272B6c
Arbitrum One: 0x2C460eb3aAadAd3c8e54736fdf5A5B63402cf894
Optimism: 0xb180D81995dc6EC860F5F6c4EbF0d3148154D355

Superfluid Constant Flow Agreement (CFAv1)

Verified: 2024-03-12
ConstantFlowAgreementV1.sol (v1.0 (contracts/agreements/ConstantFlowAgreementV1.sol))
Audits: PeckShield Audit Report (2021-2022) • Certora Formal Verification Report (2023)
Deployments:
CFAv1 Proxy (Multi-chain): 0xEd6B5CD325f0F6E6705775a644b50997FAae61a8
Host Contract: 0x4C08b64A5E0c077A1792383161a0E0630D268e37

StreamPay (Stellar)

Verified: 2026-10-19
contracts/streaming-payments (v0.4.0 (Stellar Soroban Protocol 20+))
Audits: Formal Verification Pilot (Kani Bounded Model Checker) • Continuous Checks-Effects-Interactions (CEI) Golden Ordering Traces
Deployments:
Stellar Mainnet: Active Production Deploy
Soroban Testnet: CB25...DEPLOYED

💻 Run the Measurement Harness Yourself

Execute the deterministic Soroban measurement harness locally to independently reproduce every number.

# Clone and run Soroban measurement harness:
cargo run -p streampay-contract --example protocol_benchmark -- --json
# Run the CI regression defense gate:
npm run benchmark:verify