Skip to content

Core Modules

Vortum's architecture is built around modular components that handle specific responsibilities.

System Modes

The platform operates in different modes depending on operational status:

ModeDescription
NormalFull trading operations
MaintenanceSystem temporarily offline
Cancel OnlyUsers can only cancel orders
Post OnlyOnly maker (limit) orders accepted

Account Management

Handles user accounts, profiles, and authentication.

Features:

  • User registration with optional referral codes
  • Profile customization (username, preferences)
  • Subaccount support (up to 255 per user)
  • Multi-principal linking (Internet Identity + wallet signatures)
  • Address book for trusted withdrawal addresses

Wallet System

Manages multi-chain wallet operations including deposits, withdrawals, and balance tracking.

Key Features:

FeatureDescription
Chain FusionBridgeless multi-chain deposits via ICP
HD WalletsUnique deposit addresses per user
Threshold CryptographyDistributed key management
Balance TrackingAvailable vs locked funds

Asset Registry

Manages supported assets and token metadata.

Supported Asset Types:

  • Native blockchain assets (BTC, SOL, ICP)
  • Wrapped assets (ckBTC, ckETH)
  • ICRC-1/ICRC-2 tokens
  • SPL tokens (Solana)

Trading Engine

High-performance order matching with sub-microsecond execution.

Order Flow:

Supported Features:

FeatureDescription
Market OrdersImmediate execution at best price
Limit OrdersExecute at specified price or better
Time-in-ForceGTC, GTD, IOC, FOK
Self-Trade PreventionPrevent trading against yourself
Slippage ProtectionMaximum price deviation tolerance

Settlement & Audit

Complete audit trails for all balance changes:

CategoryEvents
TransfersDeposits, Withdrawals
TradingOrder fills, Cancellations
FeesMaker fees, Taker fees

Rate Limiting

Protection against abuse with tiered access:

TierRate Limit
Anonymous10 req/min
Registered100 req/min
Verified1000 req/min

Two-Factor Authentication

Secure TOTP-based 2FA using a Merkle tree commitment scheme:

  1. Client generates TOTP secret locally
  2. Server stores only a Merkle root (never the secret)
  3. Verification via Merkle proofs
  4. Encrypted backup for recovery