# DART Routing

**DART** (Dynamic Allocation and Real Time) Routing is Titan's onchain routing engine and the world's first router that dynamically re-optimizes a trade at the exact moment of execution, not seconds before.

### The Quote to Execution Gap

<figure><img src="/files/VKRpUGZKUmQfozawE6Gq" alt=""><figcaption></figcaption></figure>

Aggregators typically compute the route for a trade before the transaction is submitted to the blockchain. A route is calculated, a quote is returned to the user, and the transaction is then broadcast to the network. By the time that transaction lands in a block, anywhere from hundreds of milliseconds to several seconds may have passed.

In that window, liquidity conditions across pools change. Prices shift. Other trades execute against the same routes. The route that was optimal at quote time is no longer optimal at execution time. This gap between when a route is computed and when it actually executes is an inherent limitation of all pre-execution routing systems.

For small trades this gap may be small. For larger trades, the cost of this staleness compounds quickly, as the price impact and route quality have both moved in the time it took for the transaction to settle.

### How DART Works

DART operates on a straightforward principle: at execution time, the combination of pools offering the best available prices for your trade wins the order. Market makers need the flexibility to adjust spreads in either direction when required. DART ensures your trade always selects the best venues, regardless of market maker's adjustments.

Before the transaction is built, Titan's offchain infrastructure determines the optimal route shape: which pools to include, which venues have the deepest liquidity for your trade size, and which paths are worth considering. This is the foundation that DART builds on.

At execution time, **DART dynamically re-optimizes how your volume is split across a large number of pools in real time**, onchain. It utilizes the full liquidity universe including:

<figure><img src="/files/pc4xdsUYJckigpIYmiKf" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/XW9w73vD9zd7aronBl5a" alt=""><figcaption></figcaption></figure>

* Prop AMMs
* Non-prop AMMs (Orca, Meteora)
* Orderbook-based DEXes
* Mint/redeem pools

More pools, smarter weight optimization, better execution.

Working alongside **Argos**, Titan's offchain router and already the most advanced on Solana, the combination forms a hybrid routing engine. Together, they close the gap as close as possible to deliver the best execution available on Solana today.

### Best Bid Offer Guarantee

Because DART resolves routing at execution time against actual onchain state, it provides a **Best Bid Offer (BBO)** guarantee. This means users are always filled by the market makers offering the best available quotes at the precise moment their trade executes.

In traditional financial markets, BBO is the standard that regulated venues are required to achieve. It means that when you submit an order, the exchange must fill it at the best available price across all connected liquidity sources at that moment. DART brings this same guarantee onchain for the first time on Solana.

The result is that users are not just getting the best route that could be found before their transaction was sent. They are getting the best route that exists at the moment their transaction lands, computed in real time from live market conditions.

> **DART is the de-facto standard for onchain execution on Solana.**


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://titan-exchange.gitbook.io/titan/codex-of-knowledge/dart-routing.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
