← Back to writing

// EDUCATION

The Five Things You Can Ask Cambio's Composer

May 21, 2026·7 min read·Cambio Team
The Five Things You Can Ask Cambio's Composer

The chat input on the Cambio homepage is not an open-ended LLM. It recognizes exactly five categories of request. This post is the tour — what each category does, how to phrase it, and what happens under the hood.

The chat input at the top of cambio.one is not an open-ended language model. It is not a customer-support widget. It is not a wallet agent. It is a structured intent parser with a friendly conversational surface, and it understands exactly five categories of request. This post walks through all five — with real example phrasings — so you know what works, what doesn't, and what's happening under the hood when you press enter.

If you have not read the anchor post on what 'AI swap' means at Cambio, that one comes first. This post assumes you already know that the AI is a parser plus an explainer, and that the deterministic router does the actual route picking.

The five categories at a glance

Each category maps to a different parse family in the backend and routes to a different quote tool. The composer auto-detects which category you mean from the wording of your message, but you can also click a chip to lock the category before you start typing — useful when you want to remove ambiguity.

  • Swap — direct execution, amount you want to send (amount-in)
  • Execute — reverse direction, amount you want to receive (amount-out)
  • Suggest — multi-option exploration ("I have X, what should I do?")
  • Compare — cross-network or cross-exchange comparison
  • Help — canned educational answers (no quote produced)

1. Swap — the most common path

Swap is what most people are looking for. You have a specific amount of one asset and you want a specific other asset. The composer parses five fields from your message: from-currency, from-network, to-currency, to-network, and amount-in.

Example phrasings the parser recognizes:

  • "Swap 0.3 BNB to USDT on BSC"
  • "Convert 100 USDT on Tron to USDC on Solana"
  • "0.0025 BTC for ETH"
  • "Exchange 50 USDT BEP20 to ETH"

When a network is missing or ambiguous, the parser asks. "USDT" alone could be on BSC, Ethereum, Tron, or Solana — so the composer follows up with "which network for USDT?" instead of silently guessing. This is a deliberate design choice: silent guessing is the most common way users lose funds on instant exchanges.

Under the hood, Swap maps to a single call to the quote engine: given (from, fromNetwork, to, toNetwork, amountIn), return the live rate, the competitor comparison, and the settlement window estimate. The AI never picks the route — the router checks partner liquidity, applies the competitor guardrail, and returns the quote.

2. Execute — when you know the receive amount, not the send amount

Execute is the reverse of Swap. You know how much you want to receive on the other side — typically because you are paying a specific invoice, settling a specific bill, or topping up to a target balance. The composer accepts amount-out language and solves the inverse: how much from-side do you need to send to receive that amount.

Example phrasings:

  • "Swap enough ETH to get 500 USDT after fees"
  • "How much BNB do I need to send to receive 200 USDT on BSC?"
  • "I need exactly 1 ETH — what does that cost in BTC?"

Execute is the same router under the hood, just inverted. The router computes the send amount that, after spread and competitor guardrail, produces exactly the requested receive amount. The same five fields are parsed; the only difference is which side is the constraint.

A subtle but important detail: Execute applies the maximum on the send side, not the receive side. If the send amount needed would be more than we can settle right now, the composer says so before any deposit address exists, and shows you the largest amount it can do.

3. Suggest — multi-option exploration

Suggest is for the moment when you have not decided yet. You know what you have, but you have not committed to what you want. The composer takes an open-ended portfolio-shaped question and returns a short list of routes ranked by clarity (not by aggressive recommendation).

Example phrasings:

  • "I have $500 in BNB — cheapest path to stables?"
  • "What's the best way to move ETH off Ethereum to a cheaper chain?"
  • "I have leftover SOL — what can I do with it?"

Suggest does something the other categories do not: it queries multiple candidate routes against the live competitor strip and returns a small, ranked list — usually three options. Each option is a fully-priced quote, not a hypothetical. The user picks one, and that pick becomes a normal Swap.

This is the category most likely to feel like a conversation. The AI explains why one route beats another in plain language — "USDC on Solana settles for sub-cent fees at Cambio, USDT on Arbitrum has the tightest spread today, USDT on BSC is the fastest at ~3 seconds." The selection logic is still deterministic. The AI just narrates the comparison.

4. Compare — cross-network or cross-exchange

Compare is the explicit version of the live competitor strip. Sometimes you do not want to execute — you want to read the table. The composer recognizes comparison-shaped questions and returns just the data, no quote button, no committed route.

Example phrasings:

  • "Compare USDT prices across all networks"
  • "Where is ETH cheapest to swap right now — Cambio or ChangeNow?"
  • "What's the spread on BNB-to-USDT across exchanges?"

The data behind Compare is the same Bestchange-aggregated feed that powers the live strip below every quote — up to six recognizable competitors, ~5-minute refresh. Compare just removes the "ready to swap" frame and shows you the table on its own. When you decide, you can pivot to a Swap from the same composer thread without retyping the pair.

5. Help — the only category that does not place a trade

Help is the exception. It is the only category that does not produce a quote. Instead, it returns canned educational answers to a small set of recognized questions about how Cambio works.

Example phrasings:

  • "Why is Cambio cheaper?"
  • "What is the per-swap cap?"
  • "How long does a swap take?"
  • "What chains do you support?"

The answers here are not generated freshly each time. They are written, reviewed, and stored as fixed strings — the same text appears for every user who asks the same question. This is intentional. We do not want the model improvising answers to questions about caps, fees, or supported chains, because improvised answers are exactly how policy claims drift. The FAQ page is also where these answers live in long form.

What about everything else?

If your message does not match any of the five categories, the composer says so. It does not invent a category. It does not silently fall back to "let me try anyway and see what happens." It responds with a short message — something like "I can help with swap, execute, suggest, compare, or help — could you rephrase?" — and offers to expand a chip.

The most common cause of an unrecognized message is a missing network. "Swap 100 USDT to BTC" parses cleanly except that USDT is ambiguous across four networks. The composer asks. The user clarifies. The trade proceeds.

The second most common cause is an unsupported pair. Cambio launches with 62,231 directional pairs covering 2,200 tokens across 29 networks; everything outside that scope is a hard reject. We tell you immediately — no surprise mid-flow.

Why exactly five, and not "anything you can imagine"

Bounded scope is a feature. Most natural-language interfaces that promise 'ask me anything' fail two ways: they over-promise on edge cases (asking a model to interpret a question it has no policy for produces unpredictable answers) and they make the user uncertain about what is and is not a valid request. The user starts hedging their prompts. The trust frontier blurs.

Five categories is a small enough surface that we can write deterministic policy for each one, test every parse path, and tell you exactly what to expect. It is also large enough to cover the actual jobs people use the composer for. We have not yet found a real swap use case that does not fall into one of these five.

If we ever do find one — and the request pattern is common enough to deserve its own first-class parse family — we will add a sixth category, write the policy, and document it. We will not silently widen the parser's scope.

Try it

The fastest way to internalize all of this is to type any of the example phrasings above into the composer on the homepage. The composer will tell you which category it identified, and the resulting quote card will show you exactly what the deterministic router did with your intent.

The next post in the series digs into the live competitor strip — what data feeds it, why we chose a single aggregator over direct API calls, and why the Best Rate pill hides itself when our advantage is below 10 basis points.

More writing

Fixed vs Float: Which Exchange Rate Type Should You Choose?
Education

Fixed vs Float: Which Exchange Rate Type Should You Choose?

Read →
How to Verify Your Wallet Address Before Every Exchange
Security

How to Verify Your Wallet Address Before Every Exchange

Read →
Understanding Crypto Network Fees: Why Gas Prices Fluctuate
Education

Understanding Crypto Network Fees: Why Gas Prices Fluctuate

Read →

// READY

Try a swap. The AI explains itself.

Start a swap →