> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tiprotocol.io/llms.txt
> Use this file to discover all available pages before exploring further.

# The problem

> Moving and swapping stablecoins involves three overlapping difficulties. There are too many routes, the costs are hidden in the amount received, and each bridge between chains asks you to trust something different. Bring AI into the picture and a fourth difficulty appears.

Moving and swapping stablecoins involves three overlapping difficulties. There are too many routes, the costs are hidden in the amount received, and each bridge between chains asks you to trust something different. Bring AI into the picture and a fourth difficulty appears.

***

## 1. Too many routes

As the previous chapter showed, Ti's supported range alone has 28 (chain, token) combinations and 756 swap directions. Even a single direction has several routes. For a swap within one chain, pools holding the same token pair exist separately for each fee tier and for each DEX. If the pool that trades the pair directly is shallow, a multi-hop route through one intermediate token may do better. For a swap across chains, you must decide whether to first convert, on the source chain, to a token the bridge can carry, which bridge to use, and whether to convert again on the destination chain, and at every step you must choose a pool and a fee tier again.

Here is how many routes there are in practice. On November 2, 2026, a request to the Ti quote API for a quote to swap 1,000 USDC on Ethereum to USDT returned 26 routes: 10 single-pool candidates and 16 multi-hop candidates. Uniswap V3's four fee tiers, several Uniswap V4 pools and allowlisted Curve stable pools were all candidates. That holds even for the simplest swap, one that never leaves the chain.

***

## 2. Costs are hidden in the amount received

A single swap carries five costs: the **pool fee** charged by the liquidity pool; **price impact**, which arises as your order pushes the pool's price; the **bridge fee** charged by a bridge when crossing chains; the **network fee** (gas) paid to the blockchain; and the **time cost** of the market moving between the quote and execution. Apart from the network fee, most of these never arrive as a separate bill. The amount received is simply smaller by that much. So comparing an “exchange rate” or a “fee rate” alone cannot tell you which route is better. You have to compare the amount that actually lands in your hands when the swap executes.

Comparing quotes from the same API on the same day, changing only the amount, makes this clear.

| Route (Ethereum, USDC → USDT) | Amount received for 1,000 USDC in | Amount received for 1,000,000 USDC in |
| - | -: | -: |
| Uniswap V4 pool | **1,000.96** | 1,000,504.14 |
| Curve stable pool | 1,000.94 | **1,000,818.07** |
| Uniswap V3 0.01% pool | 1,000.80 | 1,000,724.90 |
| Uniswap V3 0.05% pool | 1,000.51 | 331,660.39 |
| Uniswap V3 0.30% pool | 996.41 | 29,523.53 |

When swapping 1,000, the Uniswap V4 pool paid the most, but when swapping 1 million, the Curve pool came first. The Uniswap V3 0.05% pool, which was barely different at 1,000, sees its price impact grow to 66.9% at 1 million and returns just over 330,000. The best route is not fixed. It changes with the amount and with the state of the pools at that moment. Making this comparison every time by switching between several apps is hard for a person.

Ethereum · USDC → USDT · 10 single-pool and 16 multi-hop candidatesHow much less each route delivers than the best route for the same amountShortfall · log scaleBest0.1bp1bp10bp1%10%100%**Uniswap V4 pool**1,000 USDC1,000,000 USDCUniswap V4 pool · 1,000 USDC in
1,000.96 USDT Amount received
Best route for this amount
0% Price impactUniswap V4 pool · 1,000,000 USDC in
1,000,504.14 USDT Amount received
−3.1bp Below the best route
0.0457% Price impact**Curve stable pool**Curve stable pool · 1,000 USDC in
1,000.94 USDT Amount received
−0.2bp Below the best route
0% Price impact
0x4f49…3C85 PoolCurve stable pool · 1,000,000 USDC in
1,000,818.07 USDT Amount received
Best route for this amount
0.0042% Price impact
0xbEbc…F1C7 Pool**Uniswap V3 0.01% pool**Uniswap V3 0.01% pool · 1,000 USDC in
1,000.80 USDT Amount received
−1.6bp Below the best route
0% Price impactUniswap V3 0.01% pool · 1,000,000 USDC in
1,000,724.90 USDT Amount received
−0.9bp Below the best route
0.0078% Price impact**Uniswap V3 0.05% pool**Price impact 66.9%Uniswap V3 0.05% pool · 1,000 USDC in
1,000.51 USDT Amount received
−4.5bp Below the best route
0.0015% Price impactUniswap V3 0.05% pool · 1,000,000 USDC in
331,660.39 USDT Amount received
−66.9% Below the best route
66.851% Price impact**Uniswap V3 0.30% pool**Uniswap V3 0.30% pool · 1,000 USDC in
996.41 USDT Amount received
−45.5bp Below the best route
0.0273% Price impactUniswap V3 0.30% pool · 1,000,000 USDC in
29,523.53 USDT Amount received
−97.1% Below the best route
97.0369% Price impact**Uniswap V3 1.00% pool**Fills only in part: not enough liquidityUniswap V3 1.00% pool · 1,000 USDC in
137.58 USDT Amount received
−86.3% Below the best route
86.1076% Price impact
Partial-fill quoteUniswap V3 1.00% pool · 1,000,000 USDC in
137.58 USDT Amount received
−99.99% Below the best route
99.9% Price impact
Partial-fill quote**Best multi-hop candidate**Two Uniswap V3 pools · via WETHBest multi-hop candidate · 1,000 USDC in
1,000.37 USDT Amount received
−5.9bp Below the best route
0.0443% Price impactBest multi-hop candidate · 1,000,000 USDC in
987,934.79 USDT Amount received
−1.3% Below the best route
1.1575% Price impactSource · Ti quote API, 2026-11-02, about 11:25 UTC. Shortfall = 1 − amount received ÷ amount received on the best route for the same amount. Curve: the pool that paid more at each size (1,000: 0x4f49…3C85; 1,000,000: 0xbEbc…F1C7). Uniswap V4: the pool with fee setting 8 (0.0008%).View figure full size

**Figure 6.** At 1,000 USDC the Uniswap V4 pool pays the most and at 1,000,000 USDC the Curve pool does, while the Uniswap V3 0.05% pool, barely behind at 1,000, delivers 66.9% less than the best route at 1,000,000.

Crossing chains makes the comparison more complex. On the same day, a quote to move 1,000 USDT on Arbitrum One to USDT on Polygon produced two routes. One moves the tokens directly as USDT0, which uses the LayerZero OFT standard: it delivers 1,000.00 USDT and charges a separate messaging fee of about 0.0000113 ETH (about \$0.03). The other swaps USDT to USDC on Arbitrum One, moves it with Circle CCTP and swaps it back to USDT on Polygon; the bridge fee is reflected in the amount received, which comes to 999.82 USDT. One route charges its cost separately in the native token, and the other deducts it from the amount received. A fair comparison has to convert both to the same basis.

***

## 3. Every bridge asks you to trust something different

Crossing chains means getting one chain to trust what happened on another. How a bridge builds that trust determines its risk.

The oldest approach locks the original token on the source chain and mints a wrapped token that stands in for it on the destination chain. In that case, the wrapped token's value depends on the safety of the lockbox and of the validators that guard it. Some bridges are run directly by the issuer. Circle's CCTP burns USDC on the source chain and, once Circle attests to the burn, mints new native USDC on the destination chain.<sup>[18](https://docs.tiprotocol.io/appendix/references.md#ref-18)</sup> No wrapped token is created, and the party you have to trust is the issuer of USDC itself. Tether's USDT0 uses LayerZero's OFT standard. It locks the original USDT on Ethereum in an adapter contract and mints the same amount of USDT0 on other chains, and between USDT0 chains it burns on one side and mints on the other. A message passes only when all three verifiers (DVNs) confirm it.<sup>[19](https://docs.tiprotocol.io/appendix/references.md#ref-19)</sup>

When the verification structure is weak, the price is high. According to DefiLlama's hack records, there were 102 bridge hacks through November 1, 2026, with losses of \$3.69 billion, or 13.4% of the \$27.56 billion lost to all hacks.<sup>[20](https://docs.tiprotocol.io/appendix/references.md#ref-20)</sup> The best-known cases are Ronin (\$624 million), where attackers stole the keys of five of its nine validators, the number needed to sign; Wormhole (\$326 million); and Nomad (\$190 million). In April 2026, Kelp's rsETH, which had set up only one verifier for its LayerZero messages, lost about \$292 million to a forged message.<sup>[21](https://docs.tiprotocol.io/appendix/references.md#ref-21)</sup> Even on the same messaging standard, how the verifiers are configured decides safety. Users usually cannot see this difference, and have no way to find it out.

Bridge hacks · DefiLlama records · through Nov 1, 2026The eight largest bridge exploitsBridge exploitSingle-verifier setup<table><caption>Largest bridge exploits</caption><thead><tr><th>Rank</th><th>Name</th><th>Date</th><th>Type</th><th>Loss</th></tr></thead><tbody><tr><td>1</td><td>Ronin</td><td>2022-03-23</td><td>Validator Key Compromised</td><td>\$624.0M</td></tr><tr><td>2</td><td>Poly Network</td><td>2021-08-10</td><td>Improper Access Control</td><td>\$611.0M</td></tr><tr><td>3</td><td>Binance Bridge</td><td>2022-10-06</td><td>Proof Verifier Bug</td><td>\$570.0M</td></tr><tr><td>4</td><td>Wormhole (Portal)</td><td>2022-02-02</td><td>Signature Verification Flaw</td><td>\$326.0M</td></tr><tr><td>5</td><td>Liquid Network</td><td>2026-09-06</td><td>Unbacked Cross-Chain Mint</td><td>\$320.0M</td></tr><tr><td>6</td><td>Kelp rsETH</td><td>2026-04-18</td><td>Cross-Chain Message Spoofing</td><td>\$293.0M</td></tr><tr><td>7</td><td>Nomad</td><td>2022-08-01</td><td>Forged Proof</td><td>\$190.0M</td></tr><tr><td>8</td><td>Multichain</td><td>2023-07-07</td><td>Validator Key Compromised</td><td>\$126.0M</td></tr></tbody></table>Source: DefiLlama Hacks — entries flagged as bridge hacks (bridgeHack), through Nov 1, 2026. Attack types as classified by DefiLlamaView figure full size

**Figure 7.** Bridge exploits have cost \$3.69 billion, 13.4% of all hack losses, and most of the largest broke the verification layer: validator keys, proofs or messages.

***

## 4. An AI answer is not a quote

Ask an AI assistant “How do I move USDC to Arbitrum?” and you get a plausible explanation. But that explanation is not a quote, and a quote is not a signed transaction. The three are clearly different.

* A chat answer is text. It is generated from knowledge as of training time or from the context of the conversation, and a language model can state untrue things with confidence. The U.S. National Institute of Standards and Technology (NIST) classifies this as “confabulation,” a key risk of generative AI.<sup>[32](https://docs.tiprotocol.io/appendix/references.md#ref-32)</sup>
* A quote is an executable number at a specific point in time. It must specify which pools and bridges it goes through, how much you receive and how long it is valid.
* A signed transaction moves money. Once executed, it cannot be reversed.

When AI crosses these boundaries, risk follows. It can present an old number as if it were current. It can be steered by instructions hidden in external data (prompt injection). And if its permissions are broad, its mistake turns straight into a loss of funds. Phishing is simpler still. “AI support” that gets users to enter their seed phrase is already a common scam. A useful AI answers with real-time data, states the source and time of every number, and leaves the final judgment and the signature that move money with the user.

***

## 5. What is needed

The four difficulties above yield six requirements that Ti must meet.

| Requirement | Description | Covered in |
| - | - | - |
| R1. Compare by amount received | Compare candidate routes by the amount actually received, not by fee rate, and convert separately paid costs to the same basis | [Chapter 6](https://docs.tiprotocol.io/protocol/swap-engine.md) |
| R2. Bridges you can trust | Use cross-chain standards that the issuer operates or has officially adopted, and show which bridge is used before signing | [Chapter 7](https://docs.tiprotocol.io/protocol/cross-chain-settlement.md) |
| R3. Only the user signs | Every action that moves funds happens only through the user's wallet signature | Chapters [4](https://docs.tiprotocol.io/protocol/system-overview.md) and [8](https://docs.tiprotocol.io/protocol/signing-and-gas.md) |
| R4. Numbers with a basis | Attach a source and timestamp to quotes, prices and fees, and never treat a value that cannot be verified as current | [Chapter 5](https://docs.tiprotocol.io/protocol/ti-ai.md) |
| R5. AI with a defined scope | The AI only prepares information and does not create or execute transactions. Features that hand over execution open only within limits the user sets | [Chapter 5](https://docs.tiprotocol.io/protocol/ti-ai.md) |
| R6. A token you can verify | Anyone can verify the token's supply, allocation, release and permissions directly on the blockchain | Chapters [10](https://docs.tiprotocol.io/tip-token/tip-token.md)–[14](https://docs.tiprotocol.io/security/security.md) |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.