System Architecture
Services Overview
Service
Role
External Interface
Architecture Diagram
MultiversX Network
βββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Shard 0 Shard 1 Shard 2 Metachain β
β Validators Validators Validators Validatorsβ
βββββββββββββ¬ββββββββββββββββββββββββββββββββββββββββ
β P2P gossipsub (transactions_0_0, etc.)
β binary protobuf WebSocket
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β mx-notifier β
β β
β Topics received from node: β
β β’ SaveBlock β’ SaveValidatorsPubKeys β
β β’ FinalizedBlock β’ SaveValidatorsRating β
β β’ SaveAccounts β’ RevertIndexedBlock β
β β’ SaveRoundsInfo β’ Settings β
β β
β Filter levels: All | Address | AddressIdentifier | β
β Identifier | Topics β
β β
β ββββββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββ β
β β Preprocessor βββββΆβ Fan-out β β
β β β’ Normalize β β β’ /hub/ws (binary protobuf WebSocket) β β
β β β’ Dedup β β β’ RabbitMQ publisher β β
β ββββββββββββββββ β β’ Azure Service Bus publisher β β
β ββββββββββββββββββββββββββββββββββββββββββββ β
ββββββββββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββ
β /hub/ws (binary protobuf)
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β mx-relayer β
β β
β Inbound from notifier: β
β β’ SaveBlock β extract tx status, account deltas β
β β’ SaveAccounts β propagate balance/nonce changes β
β β
β Outbound (WebSocket, JSON): β
β β’ gasStats 50ms cadence per-shard p50/p75/p90 β
β β’ networkStats 250ms cadence TPS, mempool, validator health β
β β’ address/{bech32} event-driven account balance + nonce β
β β’ tx-status/{hash} event-driven success/fail, TTL 60s β
β β
β Outbound (REST): β
β β’ POST /v1/sign sign batch transactions β
β β’ POST /v1/broadcast broadcast pre-signed transactions β
β β’ GET /v1/network-stats/history historical stats β
β β
β P2P broadcast: β
β β’ transactions_{senderShard}_{receiverShard} gossipsub topic β
βββββββββββββββββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββ
β WebSocket (JSON) / REST
βΌ
Client Applications
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β arb-algo (independent service) β
β β
β Pool data refresh: every 5 seconds from Xoxno API β
β DEXs: xExchange, AshSwap, JEX, OneDex β
β β
β REST API: β
β β’ GET /api/v1/quote optimal route + txData β
β β’ GET /api/v1/pair-config token support + decimal metadata β
β β’ GET /health pool/token counts, uptime β
βββββββββββββββββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββ
β REST
βΌ
Client ApplicationsService Responsibilities
arb-algo
mx-relayer
mx-notifier
Network Topology
Data Flow: Quote to Confirmation
Operational Characteristics
Characteristic
Value
When to Use Relayer vs. Direct Gateway Submission
Related Pages
Last updated
Was this helpful?