TRACK 1
Citi Velocity — Cross-Asset Pricing & Execution
?
open orders: --
The primary wedge (PoC Requirements §PURPOSE & SCOPE). Citi's own published Velocity 3.0 numbers, 71% faster deal booking, 94% faster order-placement response, a 65% faster blotter, describe the platform rebuild. No equivalent last-mile delivery latency has been published. This track is the fullest-coverage track in the requirements doc (Metrics 5.1, 5.2, 5.6, 5.15).
CROSS-ASSET PRICING · MERGE
● NOMINAL
?
Seven of Citi Velocity's 14 synthetic price instruments, one per asset class (FX, rates, equities, credit, commodities, securitized, municipals), streaming at 3 updates per second each. The MERGE channel holds only the latest bid/ask per instrument and snapshots automatically on subscribe. In production, the Lightstreamer Kafka Connector reads directly from Citi's price-tick topics: an adapters.xml configuration change, not a new integration (Metric 5.12).
DEALING BLOTTER · COMMAND
● LIVE
?
A multi-leg dealing blotter delivered on Lightstreamer's COMMAND channel: the server manages an ordered, keyed list, and add, update, and delete deltas push automatically as orders enter, work, and clear. This is Lightstreamer's native live-table case, not a conflated single value (PoC Requirements §4, Track 1). Target grid-update latency: under 250ms (Metric 5.6).
OrderInstrumentStatusQtyPriceLegs
Awaiting blotter rows...
EXECUTION ACKS · DISTINCT
● LIVE
?
Fills, partial fills, rejects, and cancel acknowledgments on the DISTINCT channel: zero consolidation, exactly-once, in order. Target dispatch latency (server-side, isolated from network transit): under 15ms (Metric 5.2). This is the mechanism that turns "real-time" into an auditable, exactly-once feed, the property a compliance reviewer at a SEC/FINRA broker-dealer would check first.
Published
0
Received
0
Recent
Awaiting first execution...
TRACK 2
CitiDirect Commercial Banking & Citi Payment Insights
?
pending auth: --
Treasury and Trade Solutions. Citi Express is live in 22 of a targeted 30 markets (PoC Requirements §1). Multi-entity subscription isolation is tested separately at 10, 50, and 200 simulated entities with zero cross-entity leakage as the target (Metric 5.7).
LIQUIDITY POSITIONS · MERGE
● NOMINAL
?
Eight pooled entity/account balances across four simulated corporate groups, updating at 1 Hz per account. This is the intraday liquidity-sharing view a corporate treasurer watches across a group's accounts (PoC Requirements §4, Track 2). MERGE holds the latest balance per account: no backlog, no stale figure under network pressure.
AUTHORIZATION QUEUE · COMMAND
● LIVE
?
The Grant/Deny Debit Authority list from Citi Payment Insights, modeled as a COMMAND-mode item: pending items are added, resolved, and removed from view as a treasury operator acts on them. Target grid-update latency: under 250ms (Metric 5.6). The grant/deny action itself is architecturally a Lightstreamer sendMessage round-trip, not COMMAND (see the Requirements Targets panel below).
PaymentAmountStatus
Awaiting authorization queue...
PAYMENT STATUS · DISTINCT
● LIVE
?
Rejects, returns, incoming credits, and SWIFT gpi stage transitions on the DISTINCT channel, mirroring Citi Payment Insights' own published tracking. A corporate treasurer cannot afford a missed or conflated status change on a specific payment (PoC Requirements §4, Track 2). Guaranteed delivery target under simulated link drop: 100%, zero silent misses (Metric 5.3).
Published
0
Received
0
Recent
Awaiting first payment event...
TRACK 3
Citi Mobile App — Wealth & Retail
?
holdings/watchlist: --/--
More than 25 million Citi Mobile App downloads (PoC Requirements §1). Fraud alerts are the single highest-priority event type in this track: a missed or delayed alert has a direct cost to the customer and to Citi, and is the event type most directly relevant to Regulation E's unauthorized-transfer-liability timing.
PORTFOLIO HOLDINGS · MERGE
● NOMINAL
?
Six holdings in the app's wealth section, market value updating at 1 Hz. The live portfolio-tile view (PoC Requirements §4, Track 3). MERGE conflates gracefully under a degraded mobile connection: the tile always shows the latest value, never a backlog.
WATCHLIST · MERGE
● NOMINAL
?
Six watchlist symbols, updating at 2 Hz each. This is the surface most exposed to Citi Mobile Cellular, Standard Signal connectivity (Section 3, Profile 4): 80 to 150ms latency, 0.5 to 2% loss, 1 to 5 Mbps. Adaptive throttling (Metric 5.14) keeps the connection alive and gracefully reduces frequency rather than disconnecting.
ACTIVITY & FRAUD · DISTINCT
● LIVE
?
Two DISTINCT channels: every individual transaction (account_activity_event) and fraud alerts (fraud_alert), the highest-priority event type in this track. Both are exactly-once, in order, and unaffected by MERGE conflation. Guaranteed delivery under simulated link drop: 100% for both, zero silent misses (Metric 5.3).
Account Activity · Published 0 / Received 0
Awaiting activity...
Fraud Alerts · Published 0 / Received 0
Awaiting fraud alerts...
TRACK 4
Internal Real-Time Risk, Limits & Exposure Monitoring
?
Architectural inference from Markets' publicly described E-Trading Controls program, not a confirmed current-state claim: DP5 has no authoritative public documentation of Citi's actual internal risk-dashboard architecture. Included so the mechanism choice is on record, informational only, ranked last, not gated on a hard pass/fail target (PoC Requirements §4 and Metric 5.13).
Desk Exposure · MERGE
?
Four trading desks, net exposure and VaR estimate updating at 1 Hz. Reported for context only per Metric 5.13; not a pass/fail gate.
Risk Grid · COMMAND
?
Desks ranked by exposure severity, re-ranked periodically. Modeled as COMMAND per PoC Requirements §4, Track 4, since DP5 has no confirmation Citi's actual risk-tech stack works this way.
RankDeskScoreBreach
Awaiting risk grid...
Limit Breach · DISTINCT
?
An auditable, exactly-once escalation record. Published
Published 0 / Received 0
Awaiting limit breach events...
⚡ LIGHTSTREAMER DELIVERY PROOF
?
The server publishes at a constant rate regardless of any client's network condition. Lightstreamer's MERGE channel tracks the last value delivered to each connected screen and intelligently consolidates intermediate updates when bandwidth is constrained, so each screen always receives the most recent value, never a backlog. The conflation ratio shown here is server events divided by client deliveries: 1 to 1 at full bandwidth, rising as network degrades. Execution, payment, activity, fraud, and limit-breach events on the DISTINCT channels bypass conflation entirely and always deliver in full.
Data Sources to Lightstreamer
CitiStreamAdapter publish rate (items subscribed on this page)
58
updates/sec (server)
Cross-asset pricing (7)3 Hz ea.
Liquidity / portfolio / exposure (18)1 Hz ea.
Watchlist (6)2 Hz ea.
Blotter / AuthQ / Risk GridCOMMAND
Exec / payment / activity / fraud / breachDISTINCT
MERGE Conflation
?
Conflation ratio: server publish rate divided by client receive rate. At full bandwidth (Trading Desk LAN) this is 1 to 1. As network degrades toward Citi Mobile Cellular, Lightstreamer consolidates intermediate values so the screen always shows the latest price. All five DISTINCT channels bypass conflation and always deliver in full.
1:1
server events per
client delivery
client delivery
Only the delta is sent.
Unchanged fields transmit 0 bytes.
Unchanged fields transmit 0 bytes.
Lightstreamer to This Screen
This browser's receive rate
58
updates/sec (client)
Cross-asset pricing (7)3 Hz ea.
Liquidity / portfolio / exposure (18)1 Hz ea.
Watchlist (6)2 Hz ea.
Blotter / AuthQ / Risk GridCOMMAND · live
Exec / payment / activity / fraud / breachALL · DISTINCT
📋 POC REQUIREMENTS TARGETS · DP5_PoC_Requirements_Citibank.docx §5
?
The numeric pass/fail targets this PoC's mechanism is built toward. This live sales demo shows the mechanism working; it does not itself run the captured-timestamp measurement harness, network emulator, or polling baseline comparison the requirements doc specifies (§1). That instrumented measurement is the separate, deliberately-scoped rigorous PoC engagement (see playbooks/RIGOROUS_POC_ENGAGEMENT.md), not this demo.
This panel stages the requirements doc's own targets next to what this live demo shows for each. None of the numbers below are measured by this build; they are the targets the rigorous, instrumented engagement would validate against.
| Metric | Target | What this demo shows |
|---|---|---|
| 5.1 | Under 100ms e2e price-tick latency | Live MERGE price ticks, Track 1 proof panel |
| 5.2 | Under 15ms exec ack dispatch | CITI_EXEC DISTINCT channel, Track 1 |
| 5.3-5.5 | 100% delivery; under 2s (T1) / 3s (T2-3) reconnect | Degraded / Link Drop network profile |
| 5.6 | Under 250ms COMMAND grid latency | Dealing blotter & authorization queue |
| 5.9 | Stable at 100% scale, headroom at 150% | Self-Observability panel (reference point only) |
| 5.10 | No dropped delivery across 4 network profiles | Network Simulator, all five profiles |
| 5.11 | 100% exactly-once, in-order DISTINCT delivery | Master DISTINCT event counters below |
| 5.13 | Informational only, no pass/fail gate | Track 4 Risk & Ops panel |
| 5.14 | Zero forced disconnects under throttling | Citi Mobile Home Wi-Fi / Cellular profiles |
| 5.15 | sendMessage round-trip, 100-500ms by track | Not implemented in this synthetic build — the one architectural piece scoped for the rigorous engagement (see adapter header comment) |
📡 NETWORK SIMULATOR
?
Citibank's own five network condition profiles (PoC Requirements §3): institutional trading-floor connectivity, treasury/back-office broadband, retail mobile Wi-Fi and cellular, and a full link drop. Lightstreamer adapts automatically to each with no configuration required. Use this simulator to observe how the delivery rate and conflation ratio change in the proof panel above, while every DISTINCT channel keeps arriving regardless of bandwidth.
Effective bandwidth
Uncapped
Protocol (StreamSense)
WebSocket
MERGE conflation
Off
DISTINCT events
Unaffected
Trading Desk / Markets Technology LAN: WebSocket delivers all data at full publish rate. Every price tick and blotter row arrives the instant it is published.
⚠ DISTINCT CHANNELS: EVENT DELIVERY
?
Aggregated across all five DISTINCT channels: execution acks, payment status, account activity, fraud alerts, and limit breaches. Zero consolidation, every event delivered exactly once, in sequence, regardless of network conditions. When a client loses connectivity, events queue server-side and flush the instant the connection restores. Published and received counts must always converge: that is the DISTINCT guarantee (Metric 5.11).
Published
?
Total events published since this session started, summed across all five DISTINCT channels. Advances regardless of whether any client is connected.
0
Received
?
Total events received by this browser. During a connection kill, this count pauses. On reconnect, queued events flush immediately and this count catches up to Published.
0
0
events queued during last outage
CITI_EXEC (Track 1)0 / 0
CITI_PAYSTATUS (Track 2)0 / 0
CITI_ACTIVITY (Track 3)0 / 0
CITI_FRAUD (Track 3)0 / 0
CITI_LIMITBREACH (Track 4, info)0 / 0
⚙ SELF-OBSERVABILITY
?
Computed live in this browser from the server's own event timestamps (ts_epoch), not fabricated. p50/p99 latency are real deltas between generation time and receipt time for every update this session has received. Throughput is a real rolling count of updates per second. Connection count reflects this session only: a full concurrent-connection load test is part of the rigorous engagement (Metric 5.9), not this demo.
Connections
1
p50 Latency
-- ms
p99 Latency
-- ms
Throughput
-- /s
p50/p99 measured from real server ts_epoch to browser receipt, this session only. Reference point for Metric 5.9's sustained-throughput load test (100% of scale, then 150% for headroom), which this single-browser demo does not itself run.
⚠ EVENT LOG: ALL DISTINCT CHANNELS
?
Every execution ack, payment status change, account activity event, fraud alert, and limit breach appears here in real time, tagged by channel. Events shown as QUEUED during a connection kill will flip to DELIVERED on reconnect. The sequence number (per channel) confirms no event was skipped.
Awaiting first event...
🔌 LIGHTSTREAMER SESSION LOG
?
Live event stream from the Lightstreamer client library: connection status, subscription acknowledgements, and protocol transitions. WebSocket connected means lowest-latency delivery. HTTP Streaming is the fallback for Citi Mobile Cellular conditions. Smart Polling is the last resort during a link drop. StreamSense selects the right protocol automatically.
Connecting...