Skip to main content

Vexidus Load Test Results

Latest: July 2026 — relaunched on BFT consensus (fresh genesis). A sustained-TPS benchmark on the new consensus is in progress. Network: 7-validator testnet across 4 continents Protocol: BFT consensus with deferred execution, Dragonfly Stream (mempoolless direct delivery)


Throughput

Vexidus provides instant, deterministic BFT finality (a committed block is final — no confirmations) and a high-throughput native execution engine. A sustained-TPS benchmark on the current consensus is in progress; we do not publish throughput numbers we have not re-verified.

MetricValue
FinalityDeterministic BFT — a committed block is final, typically well under two seconds
Block timeSub-second to ~1.5s (7 validators, 4 continents)
RPC rejection0% (all bundles accepted)

Network Configuration

ParameterValue
Validators7 (across 4 continents)
Block timesub-second to ~1.5s (consensus-set under BFT)
Max tx/block50,000 (configurable via --max-txs-per-block)
LeaderBuffer capacity100,000
Gas price10 nanoVXS/gas
Leader rotationEnabled (pure stake-weighted, leader skip recovery)
P2P transportDragonfly Stream (sealed direct-to-leader, PQ envelopes)
Wire encodingBorsh binary with JSON fallback (dual-format)
StorageElasticState 3-tier (Hot/Warm/Cold) + RocksDB bloom filters + 512MB cache

Validator Nodes

The network relaunched on BFT (fresh genesis, July 2026) with 7 validators across 4 continents. The table below reflects the prior 5-validator configuration.

NodeLocationStakeNotes
GravelinesOVH, France10,000 VXSSeed + validator
Remote 1Contabo, Germany10,000 VXS
Remote 2Contabo, Germany10,000 VXSTop producer
SG2OVH, Singapore10,000 VXS
MumbaiContabo, India10,000 VXS

Test Methodology (June 2026)

The measured results in the following sections (methodology, results summary, block-by-block, and engine execution speed) were measured on the prior immediate-execution consensus; superseded by the relaunch — re-benchmark pending.

Audit-grade Rust load tester (tools/loadtest-rs/) with pre-signed Ed25519 bundles. Each wallet sends exactly 1 bundle (nonce 0) — zero nonce contention by design. Wallet count auto-calculated from target TPS.

Transaction type: VXS transfers (10 per bundle, 1 nanoVXS each). Lightest operation type for pure throughput measurement.

Submission: Single RPC endpoint (localhost:9933), 128 concurrent async workers, token-bucket rate limiter at 100 bundles/sec. Bundles forwarded to leader via Dragonfly Stream direct routing.

Verification: Balance-delta checking (pre-test vs post-test wallet balances) + node execution logs as ground truth.


Results Summary (June 2026)

MetricValue
Bundles submitted2,712 (100% RPC acceptance)
Bundles in blocks2,714 (block-level count)
Block span9 blocks (~27s)
Block-level TPS1,005 ops/sec
Submit rate90.4 bundles/sec (904 ops/sec)
Peak block#1760860: 1,318 bundles (4,393 ops/sec)
Latency p50 / p990.3ms / 552ms

Block-by-Block Breakdown

BlockBundlesOpsOps/sec
#17608601,31813,1804,393
#17608613013,0101,003
#17608622852,850950
#17608632812,810937
#17608644484,4801,493
#176086581810270

Engine Execution Speed

From node execution logs (precise Instant::elapsed() timing):

BlockProposedExecutedTimeSpeed
#17590611,3361,32916ms83,062 bundles/sec
#17591552662663ms88,667 bundles/sec
#17591562812814ms70,250 bundles/sec
#175942864164115ms42,733 bundles/sec

The execution engine processes bundles at 42,000–89,000 bundles/sec depending on block size. With 10 operations per bundle, this translates to 420,000–890,000 operations/second of raw processing speed.


Throughput Ceiling

Under BFT, block cadence is consensus-set (round timeout + 2f+1) rather than driven by a fixed producer interval, so prior throughput ceilings derived from that interval no longer apply and have been retired. A sustained-TPS benchmark on the current consensus is in progress; we do not publish throughput numbers we have not re-verified.

The execution and storage stack that supports high throughput remains in place: bundle-batched native execution, RocksDB with bloom filters and write buffering, Borsh binary wire encoding, and ElasticState tiered storage.


What Limits Throughput

In load tests on the prior consensus, the execution engine was never the bottleneck — the limits were client-side. Those characteristics of the submission path still hold:

  1. Single-RPC submission: All bundles submitted to one node (Gravelines). Distributed submission across 7 RPCs would increase throughput proportionally.
  2. HTTP round-trip: 128 concurrent workers limited by TCP connection pool and serialization overhead.
  3. Dragonfly forwarding: ~75% of bundles delivered to leader on first attempt. Remaining arrive via bootnode relay.

What is NOT a bottleneck

  • Execution speed: the engine sat idle the vast majority of the time during load tests
  • RocksDB writes: WriteBatch commits in under 1ms. Bloom filters, 512MB cache, periodic flush (every 100 blocks) all deployed.
  • Block capacity: Peak observed is 1,318 bundles (2.6% of 50K limit)
  • Network gossip: Block propagation uses Borsh binary encoding (5-10x smaller than JSON). Across 4 continents in under 500ms.
  • State reads: ElasticState hot tier provides sub-microsecond reads for active accounts

Historical Results (March 5, 2026)

(Measured on the prior immediate-execution consensus; superseded by the relaunch — re-benchmark pending.)

Earlier Python-based load test with 500 wallets and 11 operation types:

MetricValue
Submitted12,361 (100% RPC acceptance)
On-chain success92% (sampled)
Peak block2,856 transactions
Submission TPS67.9
Inclusion TPS144.5
Operation types11 (transfers, swaps, intents, liquidity)

This test was limited by Python client throughput and nonce collisions. The Rust load tester (March 29) eliminated both bottlenecks.


Current Testnet State

MetricValue
NetworkRelaunched on BFT consensus (fresh genesis, July 2026)
Validators7 (4 continents)
FinalityDeterministic BFT — a committed block is final
Block timesub-second to ~1.5s

Transaction Cost

OperationGasCost (at $1/VXS)
VXS Transfer~21,000~$0.00021
Token Create~50,000~$0.0005
Swap~55,000~$0.00055
Bridge Deposit~100,000~$0.001
Name Registration~60,000~$0.0006 + name fee

Gas price: 10 nanoVXS per gas unit. Fees split: 80% to block proposer, 20% to Foundation Treasury.


Key Takeaways

  • Deterministic BFT finality — a committed block is final, typically well under two seconds, no confirmations needed
  • Sub-second to ~1.5s blocks across 7 validators on 4 continents
  • High-throughput native execution engine — a sustained-TPS benchmark on the current consensus is in progress; we do not publish throughput numbers we have not re-verified
  • ~$0.0002 per transaction — Solana-competitive fees
  • Borsh binary wire protocol — 5-10x smaller block propagation across all validators
  • ElasticState active — 3-tier intelligent storage with sub-microsecond hot reads