Skip to research

Published · Pilot Study · Edition 01

Independent research · Digital-asset market structure

Iran Digital Asset Liquidity & Execution Report

A public order-book pilot on quoted spreads, displayed depth and indicative execution costs.

Selected venues
3
Instruments per venue
3
Valid observations
279 / 279
Observed rounds
31
of 31 scheduled

Observed 24 October 2026, 10:02:08.999–10:32:10.200 UTC. The report is in English; a Persian executive summary is also available.

What this pilot can show

An order book makes liquidity visible. It does not make execution certain.

This independent pilot examines quoted spreads, displayed depth and static, finite-size order-book sweep costs at three selected Iranian spot trading venues. The actual sample contains 279 valid venue–market observations from 279 recorded attempts, across 31 observed rounds. The planned design was 279 observations across 31 rounds; planned counts are not substituted for observed evidence.

The observations run from 24 October 2026, 10:02:08.999 UTC to 24 October 2026, 10:32:10.200 UTC. The study covers Nobitex, Tabdeal and Exir, each for USDT/IRT, BTC/USDT and BTC/IRT. It is a bounded pilot, not an exchange ranking, a representative market census or a statement about typical daily liquidity.

For conceptual background, see liquidity in fragmented markets and displayed versus executable prices. Their worked examples are hypothetical and separate from this pilot's observed sample.

Its original contribution is this recorded sample, explicit unit normalization, source-quality assessment and reproducible calculation framework. Existing work motivates treating quoted spread, depth and size-sensitive costs as distinct measures; its historical empirical findings are not transferred to these venues.1, 2, 3

Read the evidence at its proper scale. Repeated minute observations are serially dependent. A valid public API snapshot is not a verified executable order, and receipt alignment does not establish simultaneous originating market events.

Evidence from the observed window

279 valid observations

279 attempts recorded; 279 successful transport responses. Validity checks are distinct from HTTP success.

124/279 complete 25-bps bands

Both band boundaries reached in the primary nearest-ten-level view. In the all-returned-level sensitivity: 241/279. These are coverage counts, not a liquidity score.

Finite size, finite evidence

Full-order VWAP requires enough observed quantity. Inadequate visible depth remains an explicit insufficient-depth outcome rather than an extrapolated price.

Quoted spreads are summarized below for all nine venue–pair groups. The primary view uses the nearest ten distinct levels on each side. Spread itself is determined by the best quotes; depth and sweep costs depend on the visible levels and requested size. A narrow spread therefore does not establish inexpensive execution for a larger order.

Quoted spread by venue and instrument — primary book view
VenuePairValid / recordsMedian bpsIQR bpsRange bps
NobitexUSDT/IRT31/311.120.11–2.920.04–16.37
TabdealUSDT/IRT31/312.311.49–3.560.07–5.22
ExirUSDT/IRT31/3134.5534.36–40.773.53–40.77
NobitexBTC/USDT31/317.325.84–8.190.00124–26.03
TabdealBTC/USDT31/313.603.60–8.081.57–9.18
ExirBTC/USDT31/3119.1315.32–21.5711.35–23.74
NobitexBTC/IRT31/316.014.12–11.424.63e-7–23.22
TabdealBTC/IRT31/313.051.26–10.170.72–28.31
ExirBTC/IRT31/31691.89683.84–696.55676.88–719.90

Spread = 10,000 × (best ask − best bid) / midpoint. IQR is the 25th–75th percentile. These are descriptive sample distributions, not independent experiments or persistent venue rankings.

Depth is a quantity with a boundary

Depth within a price band answers a different question from the best quoted price. The study measures the base-asset quantity on each side within 10, 25, 50 and 100 basis points of midpoint. If the returned prices do not reach a band boundary, the observed quantity is a lower bound, not a complete estimate of that venue's depth.

A shared ten-level cap improves one aspect of comparability but does not make books equally complete or equally wide in price. The native-depth sensitivity retains every returned level while explicitly acknowledging unequal provider caps. Zero observed depth in a narrow midpoint band can also result from a spread wider than the band; it does not necessarily mean an empty book.

Both-side boundary coverage within 25 bps of midpoint
VenuePairTop 10 covered / validAll returned covered / valid
NobitexUSDT/IRT0/317/31
TabdealUSDT/IRT0/3131/31
ExirUSDT/IRT31/3131/31
NobitexBTC/USDT0/3118/31
TabdealBTC/USDT0/3131/31
ExirBTC/USDT31/3131/31
NobitexBTC/IRT0/3130/31
TabdealBTC/IRT31/3131/31
ExirBTC/IRT31/3131/31

Coverage assumes complete aggregated quantity at each returned price level. A short response is not automatically a full book. Bid–ask imbalance is calculated only when both band edges are covered and the denominator is positive; it is not a directional price forecast.

From a quote to a finite-size cost

A hypothetical buy consumes asks from the cheapest price upward; a hypothetical sell consumes bids from the highest price downward. Each calculation permits a partial final level and conserves the fixed base quantity. Only fully covered targets receive a complete-order VWAP.

The table shows one pre-specified scenario: a 1,000-USDT target in USDT/IRT, using the primary nearest-ten-level view. Each cost median is conditional on sufficient observed depth; its sufficiency denominator is part of the result, not a footnote. The full report and exhibits also cover the other fixed USDT and BTC sizes.

Indicative 1,000-USDT sweep — conditional costs and coverage
VenueDirectionSufficient / eligibleMedian midpoint cost, bps
NobitexBuy31/311.08
NobitexSell31/311.10
TabdealBuy31/312.61
TabdealSell31/312.05
ExirBuy31/3117.27
ExirSell31/3120.39

Buy cost = 10,000 × (VWAP / midpoint − 1); sell cost = 10,000 × (1 − VWAP / midpoint). Costs include the spread component and walking the displayed book. A missing cost means no fully covered target in that subgroup. Fees, latency, cancellations, replenishment, transfers, funding, custody and actual fills are excluded.

These are static arithmetic counterfactuals, not realized implementation shortfall or causal price impact. Institutional work supports reporting size-aware costs and visible-depth sufficiency separately; transaction-based impact estimation requires evidence this pilot does not contain.2, 4

Price disagreement across venues

For same-pair comparisons, all three venue books must be valid in a round, each request latency must be no more than ten seconds, and the receive-time span must be no more than five seconds. A one-second receipt-span sensitivity is reported separately. Midpoint dispersion is 10,000 × (maximum midpoint − minimum midpoint) / mean midpoint.

Receipt-aligned cross-venue midpoint dispersion
Pair≤5s / planned roundsMedian range, bps≤1s / planned roundsMedian range ≤1s, bps
USDT/IRT31/3118.7830/3118.72
BTC/USDT31/315.6030/315.67
BTC/IRT31/31229.9929/31230.49

The denominator is the planned round count, explicitly including unmatched or unobserved rounds. Receipt alignment cannot certify originating-event simultaneity, particularly when source timestamps are missing or their meaning is unverified.

Quote dispersion is evidence of observed disagreement within an eligible sample, not a net arbitrage return. Historical research motivates attention to segmentation and limits to arbitrage; it does not identify their cause here. Nor can displayed quantities simply be summed into guaranteed consolidated executable depth.5, 6

Six views of the evidence

Exhibit 01

Quoted spreads in the observed window

Three panels compare the median, interquartile range and full observed range of quoted spreads, in basis points, for the same three venues and pairs.
Dots: medians; thick segments: IQR; thin segments: full observed range. All panels use the same symlog scale:
linear from 0 to 1 bps, logarithmic above 1 bps. Spread = 10,000 × (ask − bid) / midpoint. No persistent ranking.
Observation window: 24 October 2026, 10:02:08.999 UTC–24 October 2026, 10:32:10.200 UTC.
Source: public Nobitex, Tabdeal and Exir APIs; author calculations.
Open vector exhibit 01 (SVG)
Exhibit 02

How often do observed books cover a whole price band?

Two heatmaps show both-side band-boundary coverage counts at 10, 25, 50 and 100 basis points, for the primary nearest-ten-level view and the all-returned-level sensitivity.
Cells: snapshots where both returned sides reach the band boundary / valid snapshots. Color: percentage (0-100%).
Coverage assumes complete quantity at returned price levels. A short response is not assumed to be a complete book.
Uncovered band depth is an observed lower bound. Top-10 and native views use the same snapshots.
Observation window: 24 October 2026, 10:02:08.999 UTC–24 October 2026, 10:32:10.200 UTC.
Source: public Nobitex, Tabdeal and Exir APIs; author calculations.
Open vector exhibit 02 (SVG)
Exhibit 03

Visible depth within 25 bps of midpoint

Bid and ask median observed base-asset depth within 25 basis points, with interquartile ranges. Uncovered bands are explicitly lower bounds and scales differ by pair.
Nearest 10 levels per side; base units; pair-specific scales; n=31 per venue-pair.
Values include band-censored lower bounds, not complete venue depth. A zero may reflect a spread wider than
the band, rather than an empty book. No USDT/USD conversion or cross-asset aggregation.
Observation window: 24 October 2026, 10:02:08.999 UTC–24 October 2026, 10:32:10.200 UTC.
Source: public Nobitex, Tabdeal and Exir APIs; author calculations.
Open vector exhibit 03 (SVG)
Exhibit 04

USDT/IRT indicative cost depends on order size

Buy and sell panels show conditional median midpoint-relative indicative costs at four USDT base sizes, with sufficient-snapshot counts and all-returned-level sensitivity.
Solid: nearest 10 levels; dotted: all returned levels. Labels: sufficient / eligible snapshots for solid points.
Both axes use log scales. Medians condition on sufficient depth; gaps mean no full sweep; native caps differ.
Fees, latency, cancellation, settlement and actual fills are excluded. Lines join fixed-size scenarios, not time.
Observation window: 24 October 2026, 10:02:08.999 UTC–24 October 2026, 10:32:10.200 UTC.
Source: public Nobitex, Tabdeal and Exir APIs; author calculations.
Open vector exhibit 04 (SVG)
Exhibit 05

BTC sweep coverage at fixed base sizes

Four heatmaps report full-sweep coverage counts for buy and sell BTC at four base sizes in BTC/USDT and BTC/IRT, using nearest-ten and all-returned levels.
Cells: sufficient / eligible snapshots; color: percentage (0-100%). A fully covered sweep requires enough displayed
base quantity on the relevant side. Insufficient observed depth is not a full-book venue liquidity judgment.
Primary and native sensitivities use identical snapshots; additional native levels have unequal source caps.
Observation window: 24 October 2026, 10:02:08.999 UTC–24 October 2026, 10:32:10.200 UTC.
Source: public Nobitex, Tabdeal and Exir APIs; author calculations.
Open vector exhibit 05 (SVG)
Exhibit 06

Observed cross-venue midpoint dispersion

Three timelines show same-pair cross-venue midpoint dispersion in basis points for receipt-aligned rounds, with a one-second receive-span sensitivity marked by open rings.
Each point requires all three valid venues, response span ≤5s and individual latency ≤10s. Open rings also satisfy ≤1s.
Range = 10,000 × (maximum midpoint − minimum midpoint) / mean midpoint. Panel scales differ.
Receipt alignment does not synchronize originating book events; dispersion is not an executable arbitrage return.
Observation window: 24 October 2026, 10:02:08.999 UTC–24 October 2026, 10:32:10.200 UTC.
Source: public Nobitex, Tabdeal and Exir APIs; author calculations.
Open vector exhibit 06 (SVG)

A transparent measurement protocol

The timestamped local protocol was frozen before the main collection cohort. It is a local pre-analysis plan, not a public preregistration. Source-discovery requests and the earlier two-source preflight are excluded. Requests use unauthenticated, read-only public endpoints; no trades, accounts, private employer systems or access-control workarounds are involved.

Observation and validity
Retain request/receipt UTC, latency, source metadata, HTTP outcomes and payload hashes. Decimal calculations require positive finite prices and quantities, nonempty sides and best bid strictly below best ask.
Units
Nobitex fiat prices are natively IRR and multiplied by 0.1 to obtain study IRT. Tabdeal and Exir IRT already denote toman. Base quantity is unchanged. USDT remains USDT, not cash USD.
Book views
Primary: nearest ten distinct price levels per side. Sensitivity: all returned levels, with unequal native caps disclosed. Neither view is assumed to contain the full book.
Fixed sweep sizes
USDT: 100, 1,000, 10,000 and 50,000. BTC: 0.001, 0.01, 0.1 and 1. These are base-unit targets; no fixed quote-budget calculation is substituted.
Missingness and outliers
Missing, invalid and insufficient-depth outcomes are recorded, not imputed as zero liquidity or removed because inconvenient. Descriptive medians, IQRs and ranges do not establish inferential significance.
Reproduction boundary
Retained code, synthetic tests, derived tables and source hashes supported internal validation. A separate exact-rational implementation matched 70,130 checks without discrepancies. Eleven calculation tests and nineteen synthetic assertion groups also passed. This assisted workflow is not external peer review; historical book-level recomputation requires the retained evidence.

The data feed is part of the result

Source quality is part of the measurement, not a side issue. Tabdeal supplies no book event timestamp in the reviewed depth response. Nobitex's timestamp is interpreted operationally as Unix milliseconds, but its book-field semantics are not explicitly documented. Exir supplies an ISO timestamp whose generation/update meaning is also unverified. Timestamp age is therefore metadata age, not proven book staleness.

Observed API response characteristics
VenuePairMedian latency, msMedian bid levelsMedian ask levelsBook event-time status
NobitexUSDT/IRT139.824.024.0Unverified semantics
TabdealUSDT/IRT297.0100.096.0Not supplied
ExirUSDT/IRT543.220.07.0Unverified semantics
NobitexBTC/USDT154.824.024.0Unverified semantics
TabdealBTC/USDT306.3100.0100.0Not supplied
ExirBTC/USDT527.020.020.0Unverified semantics
NobitexBTC/IRT154.424.024.0Unverified semantics
TabdealBTC/IRT376.3100.0100.0Not supplied
ExirBTC/IRT524.019.05.0Unverified semantics

Network latency is not quote age. Repeated payloads do not prove an outage, and HTTP Date is not a book event timestamp. Actual returned levels, rather than an assumed provider maximum, determine observed depth.

Wallex and Bitpin were excluded from repeated collection under a conservative robots/access-policy decision despite documented public API functionality. Their omission is not a finding about their liquidity or reliability. The three included sources are a convenience-selected sample, not a representative universe.

Limits and operational implications

  • Short window and selected sources. One bounded, serially dependent sample cannot establish intraday patterns, weekly conditions, resilience, causation or persistent venue superiority.
  • Displayed, capped books. Hidden/reserve liquidity, account-specific restrictions, queue priority, order ownership, cancellations and replenishment are unobserved. Censoring limits depth comparisons.
  • Timing uncertainty. Receive-time matching is useful operationally but does not synchronize the market events that produced the quotes.
  • No execution validation. No orders were placed. The pilot does not measure actual fills, realized costs, fill probability or actionable net arbitrage.
  • Operational boundaries. API caching, one collection environment, unit conventions, unequal depth limits and missing-data mechanisms can affect the estimates.
  • Reproduction boundary. Raw responses, normalized book arrays and downloadable observation-level tables are not distributed. Original figures do not provide full historical book-level reproducibility or a license to redistribute provider data.

The practical implication is a measurement discipline: evaluate spread, size, coverage, timing and access separately before drawing an execution conclusion. The next full edition requires a longer, documented sampling window, broader eligible coverage, stronger event-time evidence where available and a cleared publication scope—not stronger wording around this pilot.

Independence, authorship and data rights

Seyed Iman Hosseini is Market Making & Dealing Desk Lead at Blu Caps and formerly worked at Wallex. These professional relationships are disclosed as relevant context. The study is prepared in a personal, independent capacity using public, unauthenticated market data. No confidential employer, customer, account or execution data are used. Employer sponsorship, approval and endorsement are not asserted.

Research, coding, analysis, editorial production and validation used AI assistance. Computational and editorial checks are part of the same assisted workflow and are not external academic or human peer review.

Publication and data scope. This page presents original analysis, aggregate tables and six statistical figures, including a receipt-aligned derived time series. Raw API responses, normalized order-book level arrays and observation-level datasets remain in the private evidence archive. No blanket open-data or Creative Commons license for provider data is asserted. No account, private order or customer information is published.

Source attribution does not imply venue approval, sponsorship or endorsement. The report is not a venue data feed, an investment recommendation or a guarantee of execution. Future sampling would be a separate study; no ongoing market collector has been established.

References

These sources inform measurement and interpretation. Their historical datasets and market-specific empirical findings are not presented as evidence about this pilot.

  1. Angerer, M., Gramlich, M. & Hanke, M. (2025). Order Book Liquidity on Crypto Exchanges. Journal of Risk and Financial Management, 18(3), 124.
  2. Bouveret, A., Haferkorn, M., Marseglia, G. & Panzarino, O. (2022). Flash crashes on sovereign bond markets – EU evidence. Banca d’Italia, Markets, Infrastructures, Payment Systems, No. 20.
  3. Jurkšas, L., Kapp, D., Nyholm, K. & Von Landesberger, J. (2018). Euro area sovereign bond market liquidity since the start of the PSPP. European Central Bank, Economic Bulletin 2/2018, Box 2.
  4. Fleming, M. J. (2003). Measuring Treasury Market Liquidity. Federal Reserve Bank of New York, Economic Policy Review 9(3), 83–108.
  5. Makarov, I. & Schoar, A. (2020). Trading and arbitrage in cryptocurrency markets. Journal of Financial Economics 135(2), 293–319.
  6. European Securities and Markets Authority (2016). Order duplication and liquidity measurement in EU equity markets. ESMA Economic Report No. 1/2016, reference 2016/907.