# Benchmarks and methodology

> Tirio's measured quote latency, output price and route coverage next to KyberSwap and ParaSwap on 185 BNB Chain pairs, measured on production on 2026-10-01, with the method and the limits of the numbers.

Source: https://tirio.io/docs/benchmarks · Updated 2026-10-01

This page lists what we have measured about Tirio on production, how we measured it and what the numbers do not show. Every figure carries the date it was measured. When we measure again we add the new run and keep the old one with its date.

## Run of 2026-10-01

### Setup

- **Tirio:** the production API at `https://api.tirio.io`, the build deployed on 2026-10-01. Quotes were requested without a partner fee, so they carry no Tirio fee (the Router's protocol fee is 0). Swaps on tirio.io pay a 3 bps Tirio fee on top.
- **Compared with:** KyberSwap's aggregator API (`/routes`) and ParaSwap's API (`/prices`), called in the same run with the same pairs and amounts. Both return a route and a price without a transaction.
- **Pairs:** 185 BNB Chain token pairs.
- **Client:** one computer calling every service over the public internet from one location. Every time is measured at the client and includes the network round trip.
- **Tirio endpoints:** `/price`, the indicative price the app shows while you type (routed, not simulated, no transaction), and `/quote`, the quote you sign (routed, simulated as the complete transaction at the latest block, returned with its calldata).
- **Recent and first requests:** Tirio keeps the pools of pairs asked for in the last ten minutes in a view refreshed every 500 ms. A pair asked for the first time has to be discovered and read from the chain, so it is reported separately.

### Latency

| Request | Median (p50) | 90th percentile (p90) |
| --- | --- | --- |
| Tirio `/price`, pair asked recently | 105 ms | 176 ms |
| Tirio `/price`, pair asked for the first time | 220 ms | 3.4 s |
| Tirio `/quote` (simulated, with calldata) | 307 ms | 3.1 s |
| KyberSwap `/routes` | 418 ms | not compared |
| ParaSwap `/prices` | 250 ms | not compared |

### Output price

For tokens without a transfer tax, compared pair by pair where both services returned a route, the median difference between Tirio's output and KyberSwap's, and between Tirio's and ParaSwap's, was 0.1 bps or less: level at the median.

### Route coverage

| Service | Pairs with a route |
| --- | --- |
| KyberSwap | 184 |
| Tirio | 159 of the 184 that KyberSwap routed |
| ParaSwap | 87 of 185 |

Most of the pairs Tirio missed are long-tail tokens that need an intermediate token that is not one of the chain's hubs.

## What these numbers do not show

- **One day, one place, one client.** Latency depends on where you are, the time of day and the pairs you ask for. Other runs will give other numbers.
- **The endpoints do different work.** `/quote` simulates the whole swap and builds the transaction; KyberSwap's `/routes` and ParaSwap's `/prices` return a route without a transaction. That row is not a like-for-like comparison. The closest comparison is Tirio's `/price`.
- **Quoted price is not executed price.** A swap can deliver less than its quote, down to the minimum received, and on Tirio the output above an exact-in quote is kept up to 1 % (see [Overview](/docs/overview)).
- **No claim of being fastest or best.** The table shows one measured run, not a ranking.

## Repeat it yourself

The API is public and needs no key. This asks for the indicative price of 1 BNB in USDT and prints the time the request took:

```bash
curl -w "\n%{time_total}s\n" "https://api.tirio.io/bsc/price?tokenIn=0x0000000000000000000000000000000000000000&tokenOut=0x55d398326f99059fF775485246999027B3197955&amountIn=1000000000000000000"
```

Replace `price` with `quote` and add a `recipient` address for the simulated quote with its transaction. Every parameter is in the [REST API](/docs/api) docs, and the write-up of this run is the post [How fast is a Tirio quote?](/blog/quote-latency-bnb-chain)
