Mage

How Mage works

What happens between your text and your receipt.

Mage is an AI agent with a strict rulebook. This page shows what happens between your text and your receipt, and where the guards sit.

From text to trade

  1. You send a message.
  2. Mage reads it and looks up the facts: your balance, the token, and the current price.
  3. Mage sends you a card with the exact numbers. The card is a proposal, not a trade.
  4. You reply "yes".
  5. Mage checks every number again with plain code, not AI. It checks the token address, the amount, and your balance.
  6. If all checks pass, your wallet signs and the trade executes.
  7. Mage sends you a receipt.

While Mage works

Mage names the step it is on. The bubble tells you which lookup is running:

🔮 Checking your wallet...
🔮 Scanning Robinhood Chain...
🔮 Quoting the perp...

If the card does not draw

The card is a picture. Mage always sends the ask as text as well, in its own message:

💰 BUY 0.1 SOL of BONK? Reply yes to confirm or no to cancel.

If the image does not load, that text bubble is the real ask. Reply to it and the trade runs.

How long a card lasts

Two clocks run, and they are not the same clock.

The card lasts about 5 minutes. This clock bounds your consent. After the card expires, a "yes" does nothing. Ask again to get a new card.

The price behind the card is re-fetched after 120 seconds. A perp, a perps top-up, a perps withdrawal, and a send re-use a fresh quote for 120 seconds. Past that, Mage prices the trade again before it asks you.

Both clocks sit before the money boundary. Mage re-checks your balance, the guards, and the price with plain code at the moment you reply "yes".

One card at a time

Only one card is live at a time. If you start a second trade before you answer the first, the new card replaces the old one. Your "yes" answers the card Mage sent last.

The safety gate

The AI can only propose. It cannot move money. A separate check stands between your "yes" and the trade. This check is deterministic code. It verifies that the token came from a real lookup, that the amount is inside safe bounds, and that the wallet is yours. If any check fails, Mage stops and tells you.

The gate fails closed. If Mage cannot verify your wallet, your balance, or your holding after your "yes", it cancels instead of guessing:

❌ Couldn't verify your wallet — trade cancelled. Try again.

Read the card before you reply "yes". The card shows exactly what will execute. What you see on the card is what happens.

There is no pending state

A trade has a receipt, or it did not happen. Mage has no "processing", "approved", or "awaiting execution" state, and it never invents one. If no receipt arrives, the trade did not run.

A "yes" with no card open places nothing. In this recorded exchange, the trending feed failed, so there was nothing to buy — and Mage says exactly that instead of pretending:

buy $10 of the first one
The trending feed didn’t load, so there wasn’t a first token to buy. Send me the ticker and I’ll quote $10 live 👀
yes
No trade is pending yet — the trending feed failed before a token was selected. Send the ticker you want, and I’ll quote $10 first.
Recorded from a live agent run · 2026-07-27

Mage does no money math

When you say dollars on Solana, plain code converts the dollars to SOL at the live price. The AI never does the arithmetic. With no live price, Mage refuses instead of guessing:

Couldn't fetch a live SOL price to size that buy — try again in a moment.

Your wallet and your keys

Your wallets are self-custodial embedded wallets. They are yours.

At signup you grant Mage a scoped, revocable trading permission. Mage is a policy-scoped signer: it signs what you approve in the thread, and nothing else. The deterministic gate above stands between your "yes" and the signature. See Wallet and balances.

Mage remembers about an hour

Mage keeps the conversation for about 1 hour, up to 40 messages. Inside that window you can say "that one" and Mage knows which token you mean. The memory is shared between your text thread and the website chat, so a lookup on one surface is usable on the other. After the window, name the token again.

Mage on the web

You can also chat with Mage on the website. The web chat and the text thread use the same brain and the same safety gate.

On this page