---
title: Planning a swap with an AI assistant: who checks what
description: An assistant can read llms.txt, the markdown twins and openapi.json to find the route, the address format and a live quote. Three things stay with you.
url: https://sablebolt.io/blog/planning-a-swap-with-an-ai-assistant
---

[AI & agents](https://sablebolt.io/blog)

# Planning a swap with an AI assistant: what it checks, what you verify

Sablebolt Team 28 October 2026 9 min read

Contents

1. What the assistant reads, and what each file answers
2. A worked plan
3. An illustrative dialogue
4. What an assistant cannot know
5. The on-site Network advisor
6. The three things you verify on screen
7. Checklist for a swap planned with an assistant
8. FAQ

Asking an assistant to plan a swap is a reasonable thing to do. It can read faster than you, it does not mind a 52-line route list, and it will not forget that TON addresses come with a payment ID. What it cannot do is see the receiver's screen, know which network sits behind an address that starts with 0x, or take responsibility for the deposit. This guide draws the line: which parts of a swap on sablebolt.io an assistant can check from the files built for it, which parts it cannot know, and the three things a person verifies before sending.

Sablebolt is built AI-powered: every page has a plain-text twin, the API is described in a public file and agents have a skills index. [How Sablebolt talks to machines](https://sablebolt.io/blog/how-sablebolt-talks-to-machines) lists those files in full. This post is about using them for one concrete swap.

## What the assistant reads, and what each file answers

| File | Answers | Does not answer |
|---|---|---|
| `/llms.txt` | Which routes and coins have pages; where the text of each lives | Anything live |
| `/swap/{from}/{to}.md` — the pair page's markdown twin | Address format on the receiving side, confirmations and arrival estimate on the sending side, fee token, whether a memo or payment ID exists, the route's checklist | The estimate, the minimum, the network fee |
| `/openapi.json` | How to call `/v1/limits` and `/v1/quote` for the live minimum, maximum, estimate and network fee; how to call `/v1/swaps/{id}` for a status | Who the receiver is |
| `/.well-known/agent-skills/index.json` | The four read-only skills an agent may offer, and the hand-off address `/swap/{from}/{to}?amount=…` | Any skill that creates a swap — there is none |

The division is deliberate. The twins carry facts that change rarely — formats, confirmations, fee tokens — and the API carries numbers that change every minute. An assistant that quotes a fee from a page is reading the wrong file; an assistant that calls the API for an address format is doing more work than it needs to.

## A worked plan

Suppose you hold USDT on TRON and a receiver wants USDT on BNB Smart Chain. Here is what a careful assistant can establish, with the source for each item.

**The route exists.** `/llms.txt` lists "USDT TRC-20 → USDT BEP-20" with a link to its twin, and `/v1/routes` returns it with `available` . If the route were missing from both, the answer would be "not on this site", not a guess.

**The receiving address format.** The twin of [USDT TRC-20 → USDT BEP-20](https://sablebolt.io/swap/usdt-trc20/usdt-bep20) says the receiving address is 0x… (42 characters) on BNB Smart Chain, the same format as an Ethereum address. The assistant can say what the address should look like; it cannot tell from the characters alone that the receiver's wallet is on BNB Smart Chain rather than Ethereum, Polygon or Base. More on that below.

**Confirmations and arrival.** The sending side is TRON, which needs 1 confirmation; the arrival estimate is about 2–5 minutes. These figures come from the twin and from `/v1/assets` , which carries `confirmations` per asset.

**The fee token for later.** USDT on BNB Smart Chain moves with BNB for gas, so the receiver will need a little BNB to move the USDT on. The twin says so; the live form does not need to.

**The live numbers.** `GET /v1/limits?from=usdt-trc20&to=usdt-bep20` gives the minimum and maximum; `GET /v1/quote?from=usdt-trc20&to=usdt-bep20&amount=…` gives `amountTo` , `networkFee` and `receiveAmount` , with `fetchedAt` . The assistant should repeat the caveat the file itself carries: the rate floats and is set when the deposit confirms.

**The hand-off.** The skills file says to send the person to `/swap/usdt-trc20/usdt-bep20?amount=…` . The page fills the form with that amount and shows the same estimate the assistant discussed, refreshed.

Everything above is checkable by opening the files yourself. Nothing in it required the assistant to know anything about you.

≈ 2–5 min 1 confirmation on TRON

[Swap USDT TRC-20 to USDT BEP-20](https://sablebolt.io/swap/usdt-trc20/usdt-bep20)

## An illustrative dialogue

The exchange below is invented to show the shape of a good plan. The numbers in it are placeholders; a real assistant would print what the API returned, with the time it was fetched.

**You:** I have USDT on TRON. A friend wants 200 USDT on BNB Smart Chain. What do I send and what will arrive?

**Assistant:** The route USDT TRC-20 → USDT BEP-20 is on sablebolt.io and is listed as available. I called the quote endpoint for 200 USDT a moment ago: the estimate before the fee was X, the BNB Smart Chain network fee was Y, so the "You get" figure was X − Y. That figure is an estimate; the rate is set when your TRON deposit confirms, which takes 1 confirmation, about 2–5 minutes. If your friend needs exactly 200 to arrive, raise the amount so that "You get" shows at least 200 plus a small margin.

**You:** Their address starts with 0x. Is that right?

**Assistant:** It matches the format for BNB Smart Chain: 0x and 42 characters. But that format is shared with Ethereum, Polygon and Base, so I cannot confirm from the address which network your friend's wallet is on. Ask them to confirm "USDT, BNB Smart Chain (BEP-20)" in words. Also, they will need a little BNB in that wallet to move the USDT later.

**You:** Fine. Create it.

**Assistant:** I don't create swaps; the site hands that to you. Here is the link with your amount filled in: sablebolt.io/swap/usdt-trc20/usdt-bep20?amount=… Paste the address into the form yourself, check the three things on screen, and send the exact amount the status page shows from your own wallet. Give me the status link afterwards if you want me to follow it.

The last answer is the important one. An assistant that offers to type the address or "handle the deposit" has left the part of the job it can do well.

## What an assistant cannot know

Three things are outside every file on the site, and an honest assistant says so instead of guessing.

**The network behind a 0x address.** Ethereum, BNB Smart Chain, Polygon, Base and several other networks all use the same 42-character 0x format. The form checks that an address has the right shape for the network you chose; neither the form nor an assistant can read the network off the address. Only the receiver knows which network their wallet or exchange account expects. Sending USDT to a 0x address on the wrong network is the most common recovery case there is, and the question that prevents it is one sentence to the receiver.

**Exchange memos and payment IDs.** On TON, XRP and Stellar a deposit to an exchange usually needs a second field — a payment ID, destination tag or memo — that the exchange shows on its deposit page. The twin of [USDT TRC-20 → USDT on TON](https://sablebolt.io/swap/usdt-trc20/usdt-ton) tells an assistant that the field exists; the value is on the receiver's screen and nowhere else. [Memo, destination tag, payment ID](https://sablebolt.io/blog/memo-destination-tag-payment-id) covers what happens when it is missing.

**Your sending address.** The form asks for the wallet you will send the deposit from. It is a wallet of yours on the sending network; an assistant has no way to know it and should not be the one entering it.

Alongside these, an assistant cannot see the clock on your side. A quote it fetched ten minutes ago is ten minutes stale; the form refreshes every 60 seconds, and the rate is set at confirmation. Why that matters for amounts that must arrive is in [the floating-rate guide](https://sablebolt.io/blog/floating-rate-estimate-vs-payout) .

## The on-site Network advisor

The home page has a helper called the Network advisor. It is worth saying exactly what it is: a rule-based tool. You say which USDT you hold and which network it must arrive on, and it lists, for each network it can reach, the arrival estimate, the token you will need for later moves and what the address on that network looks like, marking one option as suggested. Its facts come from the same catalog that builds the pair pages. It does not read the receiver's address, it does not know who the receiver is, and it does not predict rates. Treat it as a table that answers "which network?" faster than reading three pair pages; treat the form's address check the same way, as a shape check against the network you picked.

## The three things you verify on screen

Whatever an assistant prepared, these three are checked by the person, on the pair page and the status page, every time.

1. **The receiving address, and the memo if there is one.** Compare it with the receiver's screen, not with a message an assistant repeated. Read the first six and last six characters aloud; on TON, XRP or Stellar check the second field too. The form refuses an address of the wrong shape, but it cannot refuse a correct-looking address that belongs to someone else.
2. **The pair in the form.** "You send" names your asset and network; "You get" names the receiver's. USDT on TRON and USDT on TON are different routes, and so are USDT and USDC on Ethereum. The network in the form must be the one the receiver confirmed in words.
3. **The amount, twice.** The "You get" line before you create the swap, read within the last minute, and the exact deposit amount on the status page after. The deposit goes from your own wallet to the one-time address on the status page, in one transaction, for exactly that amount.

If any of the three does not match what you expected, stop before sending. There is nothing to undo at that point; after the deposit there is.

## Checklist for a swap planned with an assistant

- The assistant named the route as it appears in `/llms.txt` or `/v1/routes` , with `available` true.
- Address format, confirmations, arrival estimate and fee token came from the pair page's twin or `/v1/assets` , not from memory.
- The estimate and the network fee came from `/v1/quote` , with the fetch time, and the assistant repeated that the rate floats.
- The receiver confirmed the network in words, especially for a 0x address.
- Any memo, tag or payment ID came from the receiver's deposit screen.
- The assistant gave you the hand-off link and did not offer to enter the address or send the deposit.
- You checked the address, the pair and the amount on screen yourself, then sent from your own wallet.
- You saved the status link; the assistant can follow it through `/v1/swaps/{id}` if you ask.

## FAQ

Can an assistant read the live estimate?

Yes, through `/v1/quote` , described in `/openapi.json` . It should report the figure with its `fetchedAt` time and say that the rate is set when the deposit confirms. It should not read a number off a page, because the pages carry none.

Can it tell whether a 0x address is on BNB Smart Chain or Ethereum?

No. The format is identical across those networks. The receiver has to say which network their wallet is on; the form then checks the shape against that choice.

Can the assistant create the swap for me?

The skills index offers no create skill; it hands the person to the form at `/swap/{from}/{to}?amount=…` . The address and the deposit are yours, by design.

What is the Network advisor on the home page?

A rule-based helper that compares the networks a token can arrive on — arrival estimate, fee token, address shape — from the same catalog as the pair pages, and marks one as suggested. It does not read the receiver's address or predict anything.

What should the assistant do after I send?

Follow the status by id through `/v1/swaps/{id}` : read `status` , `txIn` and `txOut` , link each hash to its explorer, and, if something is stuck, give you the support address from the skills file. [Reading a swap status page](https://sablebolt.io/blog/reading-a-swap-status-page) explains the stages.

Where does an assistant find how it all works?

`/how-it-works.md` is the twin of the [how it works](https://sablebolt.io/how-it-works) page, and `/fees.md` is the twin of the [fees page](https://sablebolt.io/fees) . Both are listed in `/llms.txt` .

## Related posts

- [AI & agents llms.txt, OpenAPI and agent skills: how Sablebolt talks to machines Every page has a markdown twin, the API has an OpenAPI file and agents have a skills index. Here is exactly what is there, with example requests, and the one step that is always yours. 23 October 2026 11 min](https://sablebolt.io/blog/how-sablebolt-talks-to-machines)
- [How swaps work Memo, destination tag, payment ID: the coins that need an extra field Five assets on sablebolt.io have a second field next to the address. When it is required, when it is not, and what goes wrong without it. 20 October 2026 9 min](https://sablebolt.io/blog/memo-destination-tag-payment-id)
- [How swaps work Floating rate: what changes between the estimate and the payout The estimate is a snapshot and the payout is set when the deposit confirms. What happens in between, with numbers. 18 October 2026 7 min](https://sablebolt.io/blog/floating-rate-estimate-vs-payout)
