# Dashboard 3.0 — User Guide
Source: https://docs-d0.donutbrowser.ai/bot-management/dashboard
Dashboard 3.0 turns your conversation into a full trading workspace.
When you finish a conversation with D0 and a trade gets executed, the Dashboard is where everything becomes visible. It is not just a chat panel — it is your full trading workstation.
## Navigation
The top navigation bar has four sections.
### Overview
This is your home base. You'll see your wallet summary, live K-line charts, open positions, and a feed of recent activity. Everything you need to know at a glance without asking D0 anything.
### Skills
D0 has 200+ trading tools built in. This is where you can browse all of them, organized across 11 domains — research, trading, DeFi, perps, and more. If you're ever wondering whether D0 can do something, check here first.
### Automations
Any scheduled task, price alert, or recurring report you've set up lives here. You can turn each one on or off individually without touching the chat.
### Profile
Your trading behavior profile, LLM usage breakdown, and account settings. D0 builds your profile from your actual trading activity over time, not from a survey.
## D0 Home (Overview Tab)
This is the first thing you see when you open the Dashboard. Three columns, everything live.
### Activity & Automations
At the top is your **D0 Activity feed** — a running log of everything your agent has done. Trades executed, alerts triggered, reports generated, all timestamped.
Below that is your **Watchlist** with Spot and Perps tabs. Star any token from the trade page to add it here.
Below that are your **Automations** — every scheduled task D0 is running for you, each with an ON/OFF toggle.
### Chart & Positions
At the top is the **token selector**. Type any token name or symbol and it pulls up the K-line chart, market data, and trading options instantly.
The K-line chart sits below it with timeframes from **1m to 1D**. Switch pairs from the market list on the right of the chart. It updates live, no refresh needed.
Below the chart you have three tabs:
* **Positions** — All open positions across Spot, Donut Perps, Hyperliquid Perps, Polymarket, and DeFi. Each row shows token, chain, balance, price, value, average buy, and 24h change.
* **Open Orders** — Pending limit orders and TP/SL waiting to fill. You can cancel any order with one click.
* **History** — Every trade you've executed with timestamps, entry/exit prices, realized PnL, and on-chain explorer links.
Hit **Instant Trade** on the right to place an order without leaving the Dashboard.
### Opportunities
D0 surfaces trade setups here automatically. Each card shows the token, direction (Long or Short), when it triggered, entry, target, and stop prices, and a written thesis explaining the reasoning.
Hit **Execute** on any card to act on it directly.
## Position Panel
The Position Panel shows everything you have open across every venue in one place. No switching between accounts to piece together where you stand.
Click through the tabs at the bottom — **Spot**, **Donut Perps**, **Hyperliquid Perps**, **Polymarket**, and **DeFi** — and each one shows your holdings for that venue.
Every position shows you the token, your balance, current price, total value, average buy price, and how it has moved in the last 24 hours.
If you want more detail on a specific position, click it to expand. You can close positions individually from here without touching anything else.
## Chart Panel
The chart panel is built around **TradingView-grade rendering** plus D0's own data layer.
You get full candle/Heikin Ashi support, all the standard indicators (MACD, RSI, EMA, Bollinger Bands, VWAP), and drawing tools that persist per token.
The key difference from a normal charting tool: D0 reads the chart with you. Send a screenshot in chat and your bot can describe the setup, identify patterns, and tell you what to watch for next. See [Chart Reading](/features/chart-reading) for the full workflow.
## What Makes It Different
* **Everything lives in one place.** No tab switching between exchanges, wallets, and charting tools.
* **The chat is connected.** Anything you ask D0 in Telegram updates state here in real time, and vice versa.
* **You can act from the Dashboard.** Instant Trade, Execute on opportunities, close positions — without leaving the page.
If something feels missing, ask. The Dashboard is where new tools land first.
# Hibernation & Wake Up
Source: https://docs-d0.donutbrowser.ai/bot-management/hibernation
Your D0 bot runs on a dedicated cloud environment. Put it to sleep when you're not using it, and wake it up whenever you need it.
## What Is Hibernation?
Hibernation is like putting your bot to sleep. When hibernated:
* Your bot **won't respond** to Telegram messages
* Your bot's data and settings are **safely saved**
* **No resources are used** while sleeping
When you wake it up, everything is restored — your settings, your configuration, and your alerts come back exactly as they were.
## How to Hibernate
1. Go to the **D0 Dashboard**
2. Click the **Hibernate** button next to your bot's name
3. Your bot will shut down gracefully and save its current state
The hibernation process takes a few seconds.
If you have active price alerts, they will be **paused** while your bot is hibernated. They will automatically resume when you wake your bot up.
## How to Wake Up
### From the Dashboard
1. Go to the **D0 Dashboard**
2. Click the **Wake Up** button
3. Wait 1-2 minutes for your bot to come back online
4. You'll see a progress indicator showing the steps
### From Telegram
Simply send a message to your hibernated bot on Telegram — it will automatically wake up and respond. The first response may take 1-2 minutes while your environment restarts.
## What Happens During Wake Up
When your bot wakes up, four things happen in order:
1. **Environment restored** — Your bot's saved state is loaded
2. **AI service starts** — The AI engine comes back online
3. **Telegram connected** — Your bot reconnects to Telegram
4. **Alerts resumed** — Any paused price alerts are reactivated
This usually takes **1-2 minutes**.
## When Should You Hibernate?
| Situation | Recommendation |
| ---------------------------- | ----------------------------------------------------- |
| Going to sleep for the night | Optional — hibernate if you want, or leave it running |
| Going on vacation | Hibernate to save resources |
| Taking a break from trading | Hibernate |
| Still need price alerts | Keep your bot **running** |
| Active trading hours | Keep your bot **running** |
## Good to Know
* **Your data is safe** — Hibernation saves everything. Nothing is lost when you hibernate.
* **Wake up is fast** — It takes about 1-2 minutes to be back online, not hours.
* **No message loss** — Messages sent to your bot while it's hibernated are not lost by Telegram. However, your bot won't process or respond to them until it wakes up.
* **Alerts pause automatically** — Active price alerts are paused when you hibernate and resume when you wake up. You don't need to re-create them.
# Troubleshooting
Source: https://docs-d0.donutbrowser.ai/bot-management/troubleshooting
Most issues with your D0 bot can be resolved with a simple restart. This page covers common problems and how to fix them.
## Bot Not Responding on Telegram
**Symptoms:** You send a message to your bot on Telegram, but it doesn't reply.
**Common Causes & Solutions:**
### 1. Check if Your Bot is Online
Go to the **D0 Dashboard** and check your bot's status:
* **Online (green)** — Bot should be working. Try restarting (see below).
* **Hibernated (yellow)** — Your bot is sleeping. Click **Wake Up**, or simply send a message on Telegram — the bot will auto-resume in 1-2 minutes.
* **Error (red)** — There's an issue. Click **Restart** to fix it.
### 2. Restart Your Bot
If your bot shows as "Online" but isn't responding:
1. Go to the D0 Dashboard
2. Click the **Restart** button
3. Wait about 30 seconds
4. Try sending a message again on Telegram
Restarting is the fastest way to fix most issues. It doesn't delete any of your data or settings.
### 3. Check Your Telegram Authorization
Make sure the Telegram account linked to your bot matches your actual Telegram account:
* Your bot only responds to messages from the linked account
* If you connected the wrong Telegram account during onboarding, you'll need to re-link from Dashboard Settings
## Provisioning Stuck
**Symptoms:** During onboarding, the provisioning progress is stuck on one step.
**Solutions:**
1. **Wait a bit longer** — Provisioning can take up to 3 minutes
2. **Refresh the page** — Your progress won't be lost; the page will show the current status
3. **If stuck for more than 3 minutes** — Click the **Retry** button
## Bot Shows "Error" Status
**Symptoms:** The Dashboard shows your bot in an Error state.
**Solutions:**
1. Click the **Restart** button on the Dashboard
2. Wait about 30 seconds for the restart to complete
3. If the error persists after 2-3 restart attempts, wait a few minutes and try again
Most errors are temporary and resolve themselves with a restart. If the problem keeps coming back, check the error message shown on the Dashboard for specific details.
## Can't Sign In
**Symptoms:** You can't log in to the D0 Dashboard.
**Solutions:**
1. Make sure you're using the same Google account you registered with
2. Try clearing your browser cookies and cache
3. Try a different browser or incognito mode
4. Check if you have any browser extensions blocking the login popup
## Telegram Connection Issues
**Symptoms:** Error when connecting Telegram during onboarding.
**Solutions:**
| Issue | What to Do |
| -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- |
| "Connection failed" | Click **Retry Connection** to generate a new authorization link |
| "Connection expired" | The Telegram authorization link expired. Click **Retry Connection** for a fresh link |
| Connected but not detected | Make sure you tapped **Authorize** in the Telegram tab. If you closed the tab without authorizing, click **Connect Telegram** again |
**Custom Bot Token**
If you're on a Dedicated plan and use a custom Telegram bot token: if the token is revoked in BotFather, your bot will stop working. Create a new bot token and update it in Dashboard → Settings → Bot.
## Slow Responses
**Symptoms:** Your bot takes a long time to reply.
This can happen when:
* Your bot was hibernated and is auto-resuming (first message takes 1-2 minutes)
* Your bot is analyzing complex data (like a detailed chart image)
* Multiple data sources are being queried (like a full token analysis)
* The AI is processing a complicated question
Most responses should arrive within 5-15 seconds. Chart analysis may take up to 30 seconds.
## Getting Help
If none of the above solutions work:
1. Note down the **error message** from the Dashboard (if any)
2. Note your **bot's username** (e.g., @my\_trading\_bot)
3. Contact support through the D0 Dashboard or the Donut community channels
We typically respond within a few hours.
# Changelog
Source: https://docs-d0.donutbrowser.ai/changelog/index
Stay up to date with the latest features and improvements in D0.
A correctness release. The bulk of the user-visible work here is fixing how chat messages render and deliver, and closing a set of Hyperliquid trading safety gaps — including one that had already cost real money. Token search gets a trust policy, and claiming a Discord gift no longer depends on the OAuth step succeeding.
### New Features
**Safer Token Search**
Token search applies a trust policy, and EVM results are verified against the 1inch whitelist before they're shown as tradeable. Base wallet capabilities were added alongside it.
**Discord Gift Claim**
Claiming a Discord gift is now separate from connecting your Discord account, so a failed OAuth step no longer blocks the claim. The claim response names the plan you actually received.
* Telegram trading preferences, plus frozen signal orders that hold rather than fire on stale prices
* Live K-line snapshots cached for five minutes, cutting chart load time
* On-chain entity event summaries and a tracked-entity directory available to the agent
* Market news events queryable by the agent, including how fast a headline moved price
* Wallet re-key events published so wallet state stays in sync across surfaces
* Subscription-cancel email now comes from the founder address
* **Fixed** Telegram and Web Chat showing different messages, with buttons missing or erroring on tap
* **Fixed** internal agent monologue, `[System]` and `(continue)` repair messages leaking into your conversation
* **Fixed** replies being delivered twice, or dropped silently with no error
* **Fixed** scheduled (cron) messages not appearing at all
* **Fixed** images you uploaded becoming unviewable once a session was archived
* **Fixed** trade times converted to the wrong timezone, and wrong contract or venue picked for a query
* **Fixed** stop-loss able to land outside the liquidation price after adding leverage — this had caused real losses
* **Fixed** take-profit / stop-loss silently dropped when attached to an order, leaving positions unprotected
* **Fixed** standalone stop-loss / take-profit not being reduce-only, so a leftover trigger could open a new position
* **Fixed** HIP-3 balances missing from the account total, roughly halving the reported figure
* **Fixed** an instantaneous hourly funding rate being extrapolated into a misleading annualized number
* **Fixed** a rejected price modification destroying the original order without telling you, leaving the position bare
* **Fixed** Hyperliquid deposits failing intermittently on-chain from a zero gas buffer, with no reconciliation fallback
* **Fixed** limit bracket orders that previewed fine but returned 400 on submit
* **Fixed** new listings taking up to 15 minutes to become tradeable
* **Fixed** `SET_LEVERAGE` not returning margin data, so margin and liquidation price were misreported after a change
* **Fixed** rate limiting counted per session instead of per credential
* **Fixed** internal service calls being blocked by subscription tier checks
A billing and stability release. The trial-to-paid path was the main gap: trial users on production couldn't find the upgrade entry at all. This release closes that, credits the unused portion of a paid trial when you convert early, and cuts memory pressure on long-running agents. Includes the v1.7.1 and v1.7.2 follow-up builds.
### New Features
**Trial to Paid, Fixed End to End**
Settings → Plan & Billing now recognises a paid Infini trial for what it is: a `Trial · N days left` badge, plus **Subscribe now** and **Upgrade to Pro** buttons. Converting early opens a confirmation dialog showing what you pay today and how much of the unused trial fee is credited back. Before this, a paid trial was displayed as an active permanent subscription with no upgrade path.
**Agent Memory Tiered by Plan**
Agent memory is now sized by your plan, with a reserved heap for the browser so a memory-heavy session can't starve it. The same tiering applies to sandbox-backed environments.
* Day-5 invoice pay-link clicks captured through a redirect, so billing reminders can be measured
* Account creation source and trial state stamped onto lifecycle events for accurate funnel reporting
* Automation (cron) create / edit / delete now emits a config-action event
* Admin all-assets export switched to keyset pagination so large exports stop exhausting memory
* Memory allocator and V8 heap capped to stop off-heap growth on long-lived backend pods
* **Fixed** Polymarket single-match markets with a 0.0025 tick being rejected by our order checks — production users couldn't buy World Cup match markets at all
* **Fixed** first-time Polymarket wallets missing trading credentials, which blocked execution after the tick fix
* **Fixed** multi-wallet Polymarket buys reading the wrong wallet's balance, and previews that passed but failed on execution because fees and open buy orders weren't reserved
* **Fixed** the World Cup bracket showing the July 18 third-place match as the final and silently dropping the real July 19 final
* **Fixed** invoice payment links failing to route because the URL token exceeded the server's parameter length limit
* **Fixed** entitlement reconciliation for accounts whose subscription state had drifted
* **Reverted** an ingest of external email delivery events that misreported delivery state
Notifications become something you control. The `/push` menu lets you mute individual assets, strategies, and scheduled jobs, set quiet hours in your own timezone, and opt out of a content type from the first push you receive. Alongside it, D0 starts reaching out during idle time with content it thinks fits your profile, and portfolio history gains daily NAV snapshots.
### New Features
**Push Center — `/push`**
`/push` opens an in-place management menu in Telegram. From it you can mute a specific asset or strategy, set per-user quiet hours (including editing the window and timezone by replying in natural language), see how many silent runs a job has had, and jump to the same settings on the dashboard. The very first push you receive carries a one-tap opt-out for that content type. Every push is recorded in a single ledger, so what you see in the menu matches what was actually sent.
**Proactive Discovery**
When you're idle, D0 can surface content on its own — rebuilt around a decision loop that classifies intent deterministically, routes to the right model tier, ranks candidates by fit against your profile and per-asset interest, and tracks whether your engagement is trending up or down. Voice replies are supported inline.
**Portfolio NAV and PnL Calendar**
Daily account equity is snapshotted, with historical backfill for spot wallets, so the portfolio shows a real NAV curve and a PnL calendar rather than only a current-value figure.
**News Signals**
Market news is ingested continuously, stored as news signals, and exposed to the agent as a tool — so "what moved this" has a source behind it.
**Telegram Reachability Recovery**
If your Telegram binding breaks, a per-binding circuit breaker detects it and a recovery loop tries to restore it. If it can't, you get an email with a login-gated reconnect link instead of silence.
* Tokenized stocks priced through a layered pipeline — name detection, a classification cache, then Jupiter NAV or CoinGecko as reference
* Thorp strategy pages expose the five-dimension L0 breakdown plus gross and net equity curves
* A deterministic backtest helper, and a skill that teaches D0 how to use it
* Smart-money discovery pool is now size-agnostic
* Sports signals name the YES outcome, add a Polymarket Buy button, and dedupe per match per user
* Replies carry provenance from the tool that produced them, so numbers are attributable
Sports prediction signals arrive on the back of Polymarket smart-money tracking, Infini subscribers can upgrade in place with prorated pricing, and cold starts get noticeably faster.
### New Features
**Sports Prediction Signals**
Polymarket smart-money tracking feeds a sports signal engine: a discovery job finds where informed money is going, a per-sport registry defines the market shapes, and signals arrive as Telegram cards with prices, live volume, and a Buy button.
**Infini In-Place Upgrade**
Infini subscribers can upgrade without cancelling first — checkout is prorated against what's left of the current period.
**Discord Entitlement Binding**
Connecting Discord via OAuth and matching an allowlist grants the corresponding entitlement automatically.
* Perps K-lines now come from Donut's own price feed rather than a third party
* Cold starts claim a pre-built environment and adopt it with no restart
* Environment disk raised from 2 GB to 10 GB, and provisioning falls back to the legacy path instead of erroring
* One-tap direct-execute buttons in chat, plus preview-on-tap for actions that need a look first
* Take-profit / stop-loss legs surfaced when listing Jupiter limit orders
* Hyperliquid keeps a last-good market universe so a rate-limited boot doesn't leave it blank, with a curated liquid-majors fallback
* **Fixed** Polymarket deposits reusing an old pending bridge job, which could send a second deposit to a retired address
* **Fixed** the World Cup bracket API ordering matches by kickoff time with no position field, so bracket lines could be drawn wrong
* **Fixed** Polymarket prediction-market skills calling removed scripts and undefined variables, breaking those queries entirely
Portfolio becomes one number you can trust, and the World Cup arrives on Polymarket. This release also swaps out several balance and pricing data sources for faster, more reliable ones, and lands the Strategy Signals APIs behind the Thorp dashboard.
### New Features
**Unified Portfolio and Lifetime PnL**
A single endpoint aggregates five sources into one portfolio view, and adds a lifetime PnL summary — realized plus unrealized, with ROI — across all of them. Spot positions carry realized, unrealized, and cost basis, and Polymarket's idle on-chain cash is folded into the cost basis so ROI isn't overstated.
**World Cup on Polymarket**
A daily digest covers tonight's matches, the markets people are actually trading, and where the sportsbook edge sits. `/my_worldcup` returns your tournament portfolio with cash balance and yesterday's PnL, asking in plain language works too, and whale activity is consolidated into a single `/pm_whales_alert` subscription. Exact-score markets are discoverable. The daily digest and the tournament portfolio card ran for the duration of the tournament and were retired after the July 19 final; whale alerts and the market explainer remain available.
**One-Click Polymarket Redeem**
Resolved positions can be redeemed from a single endpoint, so the dashboard can act on the redeemable state it already shows. Settled positions now report win, loss, and payout correctly — losers preview as \$0 rather than as a refund — and 50/50 voided markets are detected and notified.
**Take-Profit for Polymarket**
Take-profit reaches parity with stop-loss: set, list, and cancel, with the monitor watching the upside trigger. The stop-loss / take-profit monitor runs again on a 30-second cycle, with a guard that prevents a double sell on a lock-expiry race.
**Cold-Start Deposit Card**
An account with no balance on Polymarket, Hyperliquid, or a HIP-3 dex now gets a deposit card instead of a failed trade.
**Exploration Tier**
A lite exploration tier with its own daily quota. When the quota runs out you get a Telegram notice with a subscribe button rather than a silent stop.
**Thorp Strategy Signals APIs**
The Strategy Signals dashboard is backed by real endpoints: active signals, your signals, participation, calendar, strategy list, per-strategy backtest with per-trade positions, and current plus historical positions. Signals default to one hour of validity, warn you before you trade an expired one, and offer an auto-trade entry.
* Spot swaps now appear as buy and sell markers on the K-line chart
* Notification feed paginated by cursor, and the unread badge actually clears
* Per-user do-not-disturb override
* Solana balances moved to Helius and EVM balances to Ankr / Alchemy, off the wallet provider's own balance source
* On-chain token pricing and search now go through DexScreener first
* Batch token prices sourced from CoinGecko
* Wallet holdings refresh lazily, and Solana deposit notifications are consolidated onto one webhook
* Wallet PnL cached by holdings quantity, skipping a pricing call when nothing changed
* Watchlist entries are chain-aware, so the same ticker on two chains stays distinct
* **Fixed** `/loop` monitors producing full analyses but delivering nothing — every push failed silently while still consuming quota
* **Fixed** the agent's Polymarket balance and position lookups always erroring, which broke the "insufficient balance → top up" flow entirely
* **Fixed** voice input in Web Chat failing for everyone — the microphone permission was blocked site-wide by a security header
* **Fixed** the agent not replying at all in some environments after a partially applied change
* **Fixed** EVM balances showing values up to 24 hours old when the provider's webhook couldn't be created
* **Fixed** failed Polymarket buy refunds and sell proceeds landing on the wrong address
* **Fixed** Polymarket limit orders not respecting the limit price
* **Fixed** losing positions displayed as won, or as a refund in History
* **Fixed** Polymarket buy retries after a timeout placing the order twice
* **Fixed** limit-order fees and open buy orders not reserved as collateral, so previews passed and execution failed
This release expands D0 across trading, payments, and the Telegram experience: Paper Trading, Thorp signals, a bigger perps market, deeper Polymarket coverage, streamed chat, and new payment options.
Version numbering note: engineering ships a weekly release train. The features described in this entry were delivered by trains **v1.2.0** (June 11, 2026) and **v1.3.0** (June 18, 2026). From v1.4.0 onwards this changelog uses the release train numbers directly, so entries line up one-to-one with what shipped.
### New Features
**Paper Trading Simulated Trading**
Trade risk-free with virtual funds on real market data. Test strategies, follow Thorp signals in simulation mode, and review your PnL before committing real capital. The Paper Trading dashboard includes full position history, performance analytics, and a leaderboard.
**Thorp Signal Integration**
Receive real-time trading signals from Thorp, D0's quantitative strategy engine, directly in your trading feed. Each signal includes suggested entry and exit levels along with market context. Follow signals with one click, in Paper Trading or live.
**Perpetual Futures Expansion**
Perps now cover 40 trading pairs, doubled from 20, with take-profit and stop-loss you can attach as you open a position.
**Polymarket Prediction Markets**
Trade Polymarket prediction markets directly through D0: browse active markets, place limit orders, and track positions with real-time odds. During the World Cup, D0 delivers daily World Cup briefings with live market odds.
**Streaming Telegram Chat**
D0's replies now stream into Telegram as they're generated, so you watch the answer take shape instead of waiting for the whole message.
* Paper Trading leaderboard with performance rankings across all users
* One-click signal following to execute Thorp signals in a single action
* Polymarket: AI-assisted order book, whale alerts, and a Holding Card position view
* Polymarket limit order support with real-time market depth
* Infini payment integration for deposits
* Trial plans, plus mid-trial upgrades with prorated pricing
* Quick Confirm expanded to more actions
* Dashboard now integrates Hyperliquid and HIP-3 (trade.xyz)
* Onboarding flow improvements
* Telegram "Poke" signal push notifications
* Enhanced wallet balance display with DeFi position aggregation
* **Fixed** Polymarket order redemption flow for resolved markets
* **Fixed** JUP token pricing display accuracy
* **Fixed** wallet balance sync timing issues during rapid trading
* **Fixed** limit order amount precision for high-value trades on Solana
The 520 release — a complete D0 Home dashboard rebuild with unified portfolio tracking, Agent V3 behavioral profiles, cross-chain fund routing, and the KOL referral platform. 150+ PRs across backend, frontend, wallet, and perpetuals.
### New Features
**D0 Home — Unified Trading Dashboard**
A ground-up rebuild of the D0 Home page with a 3-panel layout: left sidebar (Activity Feed, Watchlist, Automations), center trading area, and right opportunities panel. The center panel supports 4 trading venues — Spot, Donut Perps, Hyperliquid Perps, and Polymarket — each with venue-specific token stats, K-line charts, and real-time ticker integration. Mobile layout uses edge-to-edge design with adaptive column visibility.
**Portfolio Terminal — Positions, Open Orders & History**
A unified portfolio view sits below the trading area with 3 tabs (Positions, Open Orders, History) across 5 venues (Spot, Donut Perps, HL Perps, Polymarket, DeFi). Each venue has its own column set matching its data model — Spot shows Avg Buy / 24h / Allocation, DeFi tracks protocol-specific fields, and Perps display leverage and liquidation prices. Positions are sortable in-browser, Open Orders support one-click cancel, and Spot rows launch an inline swap dialog. The terminal aggregates cross-chain PnL, 24h change, and asset allocation from a single endpoint.
**Agent V3 — Behavioral Profile & Skills**
The new Agent V3 page at /dashboard/agent introduces a behavioral profile with your 30-day trading snapshot, risk personality assessment (conservative ↔ aggressive), and configurable daily loss and max drawdown limits. The Skills tab separates Built-in and Installed skills with search and source-grouped filtering. A new Automation management panel shows scheduled tasks with ON/OFF toggles, micro-interactions, add and delete flows with optimistic updates and error feedback.
**Activity Feed & Watchlist**
A real-time activity feed on the D0 Home left panel surfaces your agent's actions via REST + socket.io live updates. Below it, a Watchlist card supports Spot and Perps tabs with 30-second auto-refresh, one-click star add/remove, and enriched data (price, 24h%, volume). Spot watchlist entries are chain-aware, supporting cross-chain ticker identity for EVM tokens.
**KOL Referral Platform**
End-to-end affiliate system: deep links with ?invite=CODE auto-activate referrals on Google sign-in, skipping the manual code-entry step. KOLs get a management panel with commission tracking, settlement, and Creem discount integration. Waitlisted users see their queue position. Referred users receive the same free trial as direct users, with KOL commission settling on real payment — not trial activation.
**Cross-Chain Fund Routing**
Smart routing compares Relay and DeBridge for optimal cross-chain perps deposits and withdrawals. The system automatically selects the best path for multi-chain fund movement. Deposit confirmations now push Telegram notifications within 1–5 minutes of on-chain settlement. Cross-chain swap terminal notifications are fully translated via i18n.
**EVM Spot Swap via KyberSwap**
Portfolio Terminal Spot rows now launch a full swap dialog for all 6 supported EVM chains (Ethereum, Base, BSC, Polygon, Avalanche, Arbitrum). The flow mirrors the existing Solana swap experience with a pre-flight balance check that returns INSUFFICIENT\_FUNDS deterministically across all chains.
**A2UI Custom Dashboard**
Custom dashboard widgets now support navigational URL click-through on table rows, sub-integer gauge values, and graceful error handling with user-friendly hints instead of raw stack traces. Widget load failures show softened copy and partial-render fallbacks.
**Personalized HTML Templates**
Suggested Templates on the D0 Personalized page are now driven from a backend-curated endpoint with per-deployment environment configuration. 4 curated templates (dashboard and report types) are available in testing. Templates open directly in a new tab via the public HTML preview route.
**Billing & Trial System**
Full subscription trial workflow: new users start with a Creem free trial, KOL referees get the same trial before their discount applies, and trial users see locked plan-switching with clear tooltips. Plan management is accessible from /dashboard/agent#billing with a dismiss-protected pricing dialog. Commission settlement defers to real payment, and trial-expired users see a Subscribe CTA.
**Thorp Signal Engine Updates**
Dashboard signals now default to 1-hour validity. GRPS risk monitoring surfaces breach alerts with rewritten user-facing Telegram copy, dynamic Chinese numerals, and dedup protection. Signal language is baked per-user from onboarding preferences.
* Daily briefing pipeline replaced Alpha Anomaly with Market Movement — now uses MARKET\_HEATMAP-driven major-coin movers with a 3% noise floor for cleaner signals
* Math integrity prompt upgraded to v2 with residual checks and tightened review patterns
* Token trending and search now support optional chains filter across all 7 supported chains
* LLM proxy provider alerts now include model name and a sample userId for faster diagnosis
* Pro model slot A/B experiment launched — compares Claude Sonnet 4.6 against DeepSeek V4 Pro in production via cron-based model routing
* Administrator authentication fully migrated to IRSA STS — 75+ admin endpoints now use IAM-group resolution, retiring the legacy shared API key
* Telegram notification delivery now uses MQ-based retry with dead-letter handling; failed sends queue and retry instead of silently dropping
* Pending Telegram messages are retained for 10 days with a manual cleanup admin endpoint for operational forensics
* Hyperliquid trading: leverage now applied atomically on order placement, and trading\_status is surfaced on GetPrice/GetMeta
* TPSL (Take Profit / Stop Loss) now distinguishes POSITION vs ORDER level in list and cancel operations
* Perps close-position precision upgraded to BigNumber with raw string passthrough — no more rounding ghost positions
* Available close quantity and isAllClose flag exposed on positions and orders APIs
* Portfolio recharge notifications enriched with chain-swap detection for non-Jupiter routers, deduped Solana pushes, and native SOL dust filtering
* Watchlist supports per-entry chain identity for cross-chain spot tickers (WETH on Ethereum ≠ WETH on Base)
* Frontend: all remaining Chinese UI text translated to English
* Frontend: LLM usage display redesigned from Zap icon to vertical segmented battery indicator
* Frontend: wallet hover card with click-to-assets navigation on the topbar
* Frontend: chart rendering now produces real charts in Storybook with volume pane
* Frontend: mobile inline Trade panel with venue-aware Trade button and chain icon badges
* Frontend: Japanese candlestick chart with adaptive height and token info bar with horizontal scroll
* Frontend: billing entry via /dashboard/agent#billing with dismiss-protected pricing dialog
* Frontend: Vercel Skew Protection activated with narrowed rewrite rules for zero-downtime deploys
* Wallet service: BSC (chainId 56) added to supported EVM networks
* Wallet service: EVM signing in digest mode to bypass AWS KMS 4096-byte payload limit
* Wallet service: JWT refresh race condition fixed with grace-period soft revoke
* **Fixed** Polymarket positions showing empty in Portfolio Terminal — now correctly derives V2 deposit wallet address for position queries
* **Fixed** perps close-position rounding that left 0.1-contract ghost positions on full close
* **Fixed** A2UI widgets producing false-positive SPEC MISMATCH errors and failing to render partial lists
* **Fixed** A2UI d0-cli Zod validation errors now routed to user-friendly SpecHint instead of generic Retry
* **Fixed** billing change-plan allowed during Creem free trial — now blocked with clear tooltip
* **Fixed** billing subscription.paid event firing on trial activation, causing premature commission settlement
* **Fixed** billing Subscribe forward billingPeriod and envelope code check causing silent failures on plan switch
* **Fixed** checkout welcome notification sent to users without Telegram binding
* **Fixed** Solana recharge Telegram pushes duplicating and native SOL dust triggering false recharge alerts
* **Fixed** EVM Alchemy eth\_blockNumber returning hex string, breaking balance refresh
* **Fixed** gateway ARM64 builds failing on bun PATH and native module compilation
* **Fixed** agent eviction leaving stale DB records before SSM parameter cleanup
* **Fixed** system-ack Telegram callbacks triggering auto-resume, causing duplicate bot responses
* **Fixed** daily briefing Market Movement section showing 0% noise floor, inflating minor moves as signals
* **Fixed** Thorp signals using wrong language for non-English onboarding users
* **Fixed** message validator misclassifying Hindi text as Chinese with updated script-gate detection
* **Fixed** frontend fiber/DOM desync causing React removeChild/insertBefore crashes
* **Fixed** price display decimal precision misaligned across TokenInfoBar, PortfolioTerminal, and watchlist
* **Fixed** all admin endpoints migrated from shared API key to IAM/IRSA STS with per-endpoint scope resolution
* **Fixed** invite code generation now uses CSPRNG (crypto.randomInt) replacing predictable Math.random()
* **Added** per-user delegate envelope encryption with compressed P-256 public keys, with migration support for existing users
* **Fixed** API documentation endpoints (/api-doc, /scalar, /doc) gated to non-production environments only
The largest update yet — 183 improvements across the entire D0 platform. This release hardens agent infrastructure for production scale, launches the Thorp Strategy Engine with real-time signals, adds HIP-3 commodity trading on Hyperliquid, and significantly improves onboarding and Telegram experience.
### New Features
**HIP-3 Commodities Dashboard**
A new commodities section on the dashboard shows real-time HIP-3 trading data including open positions, PnL, and market overview. Combined with new Hyperliquid trading tools, you can now view and manage commodity positions directly through D0.
**Invite Deep Links**
Share D0 with friends using invite links. When someone clicks your invite link, they're taken directly to onboarding with your referral code pre-filled. Acquisition channels are now tracked through UTM analytics.
**Thorp Strategy Engine**
The new Thorp strategy system continuously analyzes market conditions and generates trading signals. Strategies support gradual rollout, daily caps, and per-user muting. Signal cards are delivered through Telegram with real-time market context.
**12-Command Telegram Menu**
Telegram now shows a curated menu of 12 quick commands — no more typing or remembering syntax. Direct commands like /deposit skip the AI round-trip entirely for instant execution.
**Multilingual Telegram**
D0's Telegram responses now support automatic translation into 20+ languages. Your language preference is preserved across sessions and device reprovisioning.
**New Model Presets**
Evaluation model presets are now available for Claude Opus 4.6, Claude Sonnet 4.6, DeepSeek V4 Pro, and GPT-5.5 — each independently configurable for different tasks.
**HIP-3 Trading Tools on Hyperliquid**
D0 now supports HIP-3 dex-aware trading tools on Hyperliquid, including max-open-quantity preview and perps deposit targeting specific sub-accounts.
**Portfolio Overview — Multi-Chain**
The PORTFOLIO\_OVERVIEW tool now accepts a chain parameter, supporting multi-chain EVM wallet queries in a single call.
* Onboarding now catches seed generation failures and prevents stuck states — you'll see a clear error instead of silently getting an incomplete setup
* Fixed the redirect loop between /d0-onboarding and /dashboard that could trap new users
* Risk labels now match precisely between frontend and backend, eliminating confusing UI discrepancies
* Automation scheduling now displays sub-hour intervals correctly in the dashboard
* LLM usage chart aggregates quota into a single bar for cleaner visualization
* Polymarket account values now include USDC.e and pUSD in cash balances for complete portfolio accuracy
* On-chain fill verification for Polymarket trades no longer produces false negatives
* D0 agents now recover automatically from error states instead of requiring manual intervention
* Workspace backups tightened from 4 hours to 15 minutes for better data safety
* OOM (out-of-memory) events are now detected proactively with automatic recovery and escalation
* Gateway upgrades no longer cause 504 timeouts during deployment
* The 5 aggregator tools now support historyRange parameters for custom time windows
* PROTOCOL\_INFO expanded with fee, revenue, and DefiLlama data for richer protocol research
* MCP tool errors are now surfaced with detailed messages instead of silent failures
* **Fixed** redirect loop that trapped new users between onboarding and dashboard pages
* **Fixed** onboarding seed generation failures silently producing empty-profile users
* **Fixed** risk label boundary mismatch causing inconsistent risk displays
* **Fixed** automation sub-hour intervals displaying incorrectly on the dashboard
* **Fixed** Polymarket account balances excluding USDC.e and pUSD holdings
* **Fixed** CLOB order fill verification producing false-negative results for on-chain Polymarket trades
* **Fixed** Telegram webhook reliability with automatic retry and self-healing
* Batch security hardening for wallet service — secure headers, error message sanitization, cookie domain restrictions, and EVM nonce validation
* API keys now rotate on every token injection for agent VM sessions
A major data expansion release: your D0 agent now pulls market data from 9 exchanges instead of just Binance, traditional finance perpetuals are discoverable alongside crypto, and Polymarket gets stop-loss protection. Under the hood, ARM64 infrastructure is live and agents no longer lose messages during restarts.
### New Features
**Multi-Exchange Market Data**
D0's market tools now query Binance, Bybit, OKX, Bitget, Gate.io, Hyperliquid, Coinbase, and Aster DEX — with automatic fallback. If a token isn't listed on Binance, the system tries the next exchange in priority order. This covers tickers, klines, orderbook depth, trades, and futures data across all supported exchanges.
**Traditional Finance Perpetuals (TradFi Listing)**
A new discovery tool scans 6 exchanges for non-crypto perpetual contracts — commodities (Brent Oil, Gold), equities (AAPL, TSLA), and FX pairs (EUR/USD, GBP/JPY). 123 assets across 257 trading pairs are now searchable, including Hyperliquid's HIP-3 deployer contracts.
**Polymarket Stop-Loss**
Set automatic stop-loss orders on your Polymarket positions. Three trigger types are supported, with a 30-second monitoring cycle and distributed locking to prevent double-sells. Manage via `SET_STOP_LOSS`, `CANCEL_STOP_LOSS`, and `LIST_STOP_LOSS` commands.
**Protocol Risk Detection**
When you query protocol information, D0 now checks DeFiLlama TVL trends and Twitter sentiment in parallel. Significant TVL drops or negative sentiment spikes trigger automatic risk warnings before you interact with a protocol.
**Subscription Trial Periods**
New users can now start with a trial subscription. The billing system tracks trialing status separately from active subscriptions, with automatic conversion when the trial ends.
* Multi-exchange announcements — listing alerts now aggregate from Binance, OKX, Bybit, and Bitget simultaneously
* Token search automatically strips exchange pair suffixes (PEPEUSDT → PEPE) for cleaner results
* Shortened t.co links in tweet results now expand to full URLs
* LLM provider failover with automatic alerting when primary provider experiences outages
* S3 backups now include full agent configuration with integrity verification
* Agent messages during restarts are queued and delivered once the agent is back online
* Cron job outputs no longer include process narration — results only
* Behavioral profile confidence scores now decay over time when no new signals are observed
* HTML report template refreshed with improved visual design
* Query pipeline optimized with batch processing for faster report generation
* GRPS leverage cross-check now warns when position risk exceeds configured thresholds
* Polymarket redemption tool added with USDC balance validation
* **Fixed** dedicated-mode agents not receiving authentication tokens after initial setup
* **Fixed** VM pool leak where instances could cycle through launch-drain-launch without settling
* **Fixed** workspace restore overwriting fresh gateway tokens, causing authentication failures
* **Fixed** bot token injection failing when email field is empty
* **Fixed** DexScreener missing data for BSC tokens due to chain ID format mismatch
* **Fixed** stale Polymarket bridge transactions being incorrectly marked as complete
* **Fixed** MCP rate limit errors now retry with exponential backoff and jitter
* **Fixed** JSON error output when `--format json` is specified in CLI commands
* **Fixed** shell-stripped array arguments losing bracket characters
* **Fixed** perps tools using inconsistent symbol formats across different commands
This release brings voice message support, enhanced trading safety mechanisms, new market analysis tools, and major security hardening across the platform.
### New Features
**Voice Message Support**
Send voice messages directly to your D0 bot — OpenAI speech-to-text is now built into every agent container. Just hold-to-record in Telegram and your bot understands what you said, no typing needed.
**Risk Disclaimer & Loss Review**
New safety mechanism that presents risk disclaimers before high-risk operations and periodically reviews your trading losses. Designed to help you stay aware of cumulative risk without slowing down execution.
**Flexible Trading Mode**
You can now opt out of trade confirmation prompts and request more opinionated analysis from your bot. Tell your bot your preference once and it remembers — power users get faster execution while new users keep the safety rails.
**Market Regime Analysis**
New MARKET\_REGIME tool provides a 5-dimension composite analysis (trend, volatility, momentum, liquidity, sentiment) to help you understand the current market environment at a glance.
**New Listings & Exchange Announcements**
Two new tools — NEW\_LISTINGS and EXCHANGE\_ANNOUNCEMENTS — let your bot track newly listed tokens and exchange-level announcements in real time.
**Conditional Price Alerts**
Price monitor now supports conditional triggers — set alerts based on compound conditions (e.g., "notify me when BTC drops below \$60k AND funding rate flips negative") instead of simple price thresholds.
**Enhanced Daily Review**
Your daily trading review now includes portfolio attribution analysis and journal insights, giving you a clearer picture of what drove your P\&L each day.
* Aggregator data tools now take priority over web search, delivering faster and more accurate market data
* Chart rendering upgraded to PNG output for sharper, cleaner visuals
* Perps deposit auto-transfer now retries intelligently, reducing failed deposit follow-ups
* Stuck funds detection added — if a deposit gets stuck, your bot guides you through recovery
* Hyperliquid deposit flow now includes a confirmation step with percentage-based amount buttons
* Dashboard link is automatically pinned in your Telegram chat after agent setup
* Language preference now persists across cron jobs and scheduled sessions
* Memory search switched to BM25 for better recall accuracy
* Token safety checks now verify reliability scores and routing paths before recommending any token
* Tool discovery improved — reduced AI hallucination of non-existent tool names
* Shared VM infrastructure redesigned with water-level pooling for faster agent cold starts
* Workspace backups now run on a periodic timer with S3 sync for reliable state recovery
* **Fixed** wallet ownership validation bypass — all wallet operations now verify ownership before execution
* **Fixed** web security hardening across CORS, authentication headers, and information leak vectors
* **Fixed** LLM proxy role injection vulnerability that could bypass quota limits
* **Added** rate limiting, S3 upload validation, and input sanitization across MCP endpoints
* **Fixed** upstream API error sanitization to prevent internal error details from leaking to clients
* **Fixed** CORS configuration to properly restrict allowed origins across all environments
* **Fixed** stale position and order data appearing in strategy analysis context
* **Fixed** billing webhook event ordering race that could delay subscription activation
* **Fixed** language detection now correctly prioritizes your USER.md setting over per-message detection
* **Fixed** oversized Telegram callback data causing button failures — now uses Redis-backed short IDs
* **Fixed** health check reliability — checks no longer hit recreated or stale environments
* **Fixed** onboarding language race condition that could cause first briefing to appear in wrong language
* **Fixed** Langfuse environment resolution from deployment metadata
* **Fixed** skill hot-update now uses Docker restart for reliable tool registry refresh
* **Fixed** HYPE token crash in token analysis module
* **Fixed** Redis disconnection in rate limiter now fails open instead of blocking requests
* **Fixed** Dune PumpFun data now returns proper JSON instead of CSV with HTML artifacts
* **Fixed** Binance Alpha token list now filters out offline and delisted tokens
* **Fixed** EVM wallet positions API now includes DB cache, retry, and circuit breaker for reliability
* **Fixed** Polymarket position type alignment with actual API response format
# Automated Trading
Source: https://docs-d0.donutbrowser.ai/features/automated-trading
Hand execution to your bot inside limits you set. It trades on your rules without asking every time, while hard constraints on the backend keep it in bounds.
Most of the time your bot previews a trade and waits for you to confirm. Automated Trading flips that: you set the rules once, and your bot executes within them without asking every time. The limits you set are enforced on the backend, not just suggested in chat.
Automated Trading is off until you turn it on. It only runs after you explicitly opt in (see [Risk Controls](/features/risk-controls) for how permission levels work). Soft phrasing like "can you handle this for me?" does not switch it on.
This is different from [Thorp](/features/thorp-strategy), which sends you signals to act on. Automated Trading acts for you, inside your constraints.
## The Rules You Set
You define hard constraints and the backend enforces them on every trade. Defaults are deliberately loose, so set them to match how much rope you actually want to give the agent.
| Constraint | Default | What it does |
| ------------------------ | ------------------------- | --------------------------------------------------------------------------------------------- |
| Max concurrent positions | Unlimited | Caps how many positions can be open at once |
| Per-position allocation | Uncapped | Caps how much capital one position can use; anything over the cap is automatically sized down |
| Leverage ceiling | BTC/ETH 10x, altcoins 20x | Skips any decision that would exceed it |
| Direction | Both ways | Restrict to long-only or short-only if you want |
| Margin mode | Cross | The managed Agent runs cross-margin, unlike manual perps, which are isolated |
These limits are enforced by the backend, not offered to the AI as soft suggestions.
## How It Runs
Once enabled, the agent works on a loop:
1. **Pull market data** across your holdings.
2. **Form decisions** in one pass, for every coin at once.
3. **Apply your rules** and drop anything that breaks a constraint.
4. **Execute** the trades that pass.
5. **Attach TP/SL** to the resulting positions automatically.
```mermaid theme={null}
%%{init: {'theme':'base','themeVariables':{'fontFamily':'Open Sans, system-ui, sans-serif','primaryColor':'#ece9fe','primaryBorderColor':'#7255e7','primaryTextColor':'#2c2444','lineColor':'#7255e7','edgeLabelBackground':'#ece9fe'}}}%%
flowchart LR
A["Pull market data"] --> B["Form decisions, all coins at once"]
B --> C["Apply your rules"]
C --> D["Execute passing trades"]
D --> E["Attach TP/SL"]
E -->|"every ~150s"| A
```
It re-checks your positions about every 150 seconds, so it reacts on that cadence rather than tick by tick. Every decision it makes, including ones your rules block, is logged to your decision history in the dashboard.
You can point the Agent at your own exchange testnet account (for example Binance Futures or Hyperliquid testnet) to dry-run a strategy before committing real funds.
Turning off authorization is not the same as closing your positions. If you disable the agent, any positions it already opened stay open and any in-flight trades keep going. Close positions and cancel orders yourself if that is what you want.
## Tips
* **Start tight.** Set a real allocation cap and leverage ceiling before you enable it, rather than leaving the loose defaults.
* **Check in on positions.** The agent attaches TP/SL, but you still own the risk. Review what it is holding.
* **Disabling stops new trades, not open ones.** If you want flat, close out manually after turning it off.
# Chart Reading
Source: https://docs-d0.donutbrowser.ai/features/chart-reading
Send your bot a screenshot of any crypto chart. It identifies the patterns and indicators and sends back a clear technical breakdown.
## How It Works
1. Take a screenshot of any crypto chart (from TradingView, Binance, Bybit, or any platform)
2. Send the image to your D0 bot on Telegram
3. Optionally add context like "What do you think of this chart?" or "Is this a good entry?"
4. Your bot analyzes the chart and replies with a detailed technical breakdown
Once you've sent an image, follow up with: [What do you think of this chart?](https://t.me/donut_d0_agent_bot?text=What%20do%20you%20think%20of%20this%20chart%3F), [Is this a good entry?](https://t.me/donut_d0_agent_bot?text=Is%20this%20a%20good%20entry%3F), or [What's the next resistance and support?](https://t.me/donut_d0_agent_bot?text=What%27s%20the%20next%20resistance%20and%20support%3F).
## What the Bot Looks For
### Chart Patterns
* **Trend direction** — Is it in an uptrend, downtrend, or ranging?
* **Pattern recognition** — Flags, wedges, triangles, head & shoulders, double tops/bottoms
* **Support & resistance** — Key price levels where the price has historically bounced or reversed
### Technical Indicators
* **RSI (Relative Strength Index)** — Is the asset overbought or oversold?
* **MACD** — Momentum and trend strength signals
* **Moving Averages** — Where the price stands relative to key averages (20, 50, 200)
* **Bollinger Bands** — Volatility analysis and potential breakout zones
* **Volume** — Is the move backed by strong volume?
### Trade Insights
* **Suggested entry/exit zones** based on the analysis
* **Risk level** — How risky the current setup looks
* **Timeframe context** — Whether the signal is short-term or long-term
## Example Conversation
> **You:** *(sends a BTC/USDT 4H chart)*
> "What does this chart look like?"
>
> **Bot:** "Looking at this BTC 4H chart:
>
> **Trend:** Bullish — higher highs and higher lows since the \$94K support bounce.
>
> **Pattern:** A bull flag is forming between \$97,500 and \$99,200. This is typically a continuation pattern.
>
> **Indicators:**
>
> * RSI at 58 — Neutral with room for upside
> * MACD crossed bullish 8 hours ago
> * Price is above the 20 and 50 MA
>
> **Key Levels:**
>
> * Support: \$96,500 / \$94,000
> * Resistance: \$99,200 / \$101,500
>
> **Summary:** Moderately bullish setup. A breakout above \$99,200 with volume could target \$101,500. A drop below \$96,500 would weaken the bullish case."
## Tips for Best Results
### Send Clear Charts
* Use high-resolution screenshots
* Make sure the chart is not too zoomed in or out
* Include the timeframe indicator (1H, 4H, 1D, etc.) if visible
### Add Context
* Tell the bot what timeframe you're interested in
* Mention if you're looking at a specific pattern
* Ask targeted questions like "Is this a good entry for a long?" rather than just "What do you think?"
### Combine with Other Features
After the chart analysis, you can:
* Ask for a **market analysis** of the same token for fundamental context
* Set a **price alert** based on the support/resistance levels your bot identified
* Check **market sentiment** to see if the broader market supports the setup
Chart reading works best with standard candlestick charts. Heatmaps, orderbook visuals, and custom indicator overlays may have limited analysis support.
# Cross-Chain Swap — Bridge v1
Source: https://docs-d0.donutbrowser.ai/features/cross-chain-swap
Bridging used to mean finding a bridge, connecting a wallet, approving transactions, and hoping nothing failed halfway. Your bot does it in one message.
With D0 you just say what you want and it handles the routing, the gas check, and the execution.
## How It Works
Type what you want in plain language. D0 figures out the rest.
[Swap 5 SOL to USDC on Arbitrum](https://t.me/donut_d0_agent_bot?text=Swap%205%20SOL%20to%20USDC%20on%20Arbitrum)
> **D0:** "Here are your options:
>
> * **Relay**: 5 SOL → 742.30 USDC | Fee: \$1.20 | ETA: \~25 sec
> * **DeBridge**: 5 SOL → 739.80 USDC | Fee: \$0.90 | ETA: \~45 sec
>
> Recommended: Relay (better rate)"
D0 automatically compares two routing providers — **Relay** and **DeBridge** — and shows you both options side by side. You see the rate, fee, estimated time, and slippage for each before you commit to anything.
## Supported Chains
Five chains, both directions.
| From | To |
| -------- | -------------------------------- |
| Solana | Ethereum, Arbitrum, BSC, Polygon |
| Ethereum | Solana |
| Arbitrum | Solana |
| BSC | Solana |
| Polygon | Solana |
## Gas Detection
Before D0 executes any swap it checks whether you have enough gas on the destination chain. If you don't, it tells you before the transaction goes out — not after it fails.
> **D0:** "You don't have enough ETH on Arbitrum to cover gas. You'll need at least 0.003 ETH before this swap can go through."
## Fees and Gas: Two Cases
There are two different gas situations here, so they don't get confused:
* **Stablecoin transfer (USDC via CCTP):** the protocol fee is about 0.14% (proportionally cheaper on larger amounts), and D0 fronts the small gas needed to receive on the destination chain, deducting it from your principal. That fronted gas is capped at about \$15 on Ethereum and about \$0.50 on Arbitrum, BSC, and Polygon, so you don't pre-fund anything.
* **Cross-chain swap (via Relay or DeBridge):** you need a little of the destination chain's native token for gas. The gas check above is exactly this case: it tells you the shortfall before anything goes out.
Either way, D0 queries several bridge providers and picks the route that lands you the most.
## Things to Know
* D0 handles two transactions for every bridge — one on the source chain and one on the destination chain. There is a brief wait between them, that is normal.
* For EVM→EVM swaps Relay is usually faster. For Solana→EVM it is worth comparing both — DeBridge sometimes wins on cost.
* Every bridge transaction shows up in **Dashboard → Trade History** under the **Bridge** filter so you can audit all your cross-chain activity in one place.
* If a swap seems stuck, check the source chain explorer first. Most delays happen on the source chain, not the bridge itself.
# Custom Dashboards — A2UI
Source: https://docs-d0.donutbrowser.ai/features/custom-dashboards
Describe what you want to watch and D0 builds it as a live dashboard. No BI tools, no code, no configuration.
Every trader tracks different things. Some want to watch DeFi yields. Others want macro indicators next to their perps positions. Some want a full Solana ecosystem view in one place. The problem is that building that kind of setup normally means opening five different tabs, refreshing them manually, and still not seeing everything together.
A2UI turns those fragmented checks into one persistent workspace. Ask for the view you need, and D0 assembles it with live components you can keep extending in chat.
## How It Works
Go to chat and describe what you want. Be specific about what you're trying to track and D0 will figure out the right charts, cards, and layout.
[Build me a SOL ecosystem dashboard](https://t.me/donut_d0_agent_bot?text=Build%20me%20a%20SOL%20ecosystem%20dashboard)
D0 pulls from 200+ live data sources and assembles a page with the components that make sense for your request — K-line chart, market cap comparison, token watchlist, price cards, whatever fits.
> **D0:** "Here's your SOL ecosystem dashboard — 4H K-line, top tokens by volume, TVL across Solana DeFi protocols, and current SOL price card."
Once it's built it lives in your Dashboard page, updates in real time, and is there every time you come back.
## Adding to It On the Fly
You're not locked into the first version. Keep building mid-session by asking D0 to add new components.
[Add top 5 Raydium pools by TVL](https://t.me/donut_d0_agent_bot?text=Add%20top%205%20Raydium%20pools%20by%20TVL)
> **D0:** *\[new component inserts into the dashboard]*
Keep building until it shows exactly what you need.
## What You Can Build
**Pre-market scan**
> SOL K-line 1H, my perps positions, top 10 gainers in the last 24 hours, liquidation heatmap.
**DeFi yield tracker**
> Top stablecoin pools across Raydium, Orca, and Meteora sorted by APY, with my LP positions highlighted.
**Portfolio review**
> Total PnL by chain, asset allocation breakdown, 7-day PnL trend.
Create one dashboard per workflow you repeat regularly. Build it once, come back to it daily.
## Early Access
A2UI is available now but still being actively developed. Some component types are still being added. If a request doesn't generate exactly what you expected, try rephrasing it with more specific details.
More capabilities are coming after the 520 launch.
# DeFi
Source: https://docs-d0.donutbrowser.ai/features/defi
Access multiple DeFi protocols on Solana directly through your D0 bot. Lend, borrow, provide liquidity, and track yields — all through simple messages.
## Supported Protocols
| Protocol | What It Does | Available Operations |
| ----------- | ------------------------------------ | ------------------------------------------------- |
| **Kamino** | Lending & borrowing | Deposit, withdraw, borrow, repay, portfolio view |
| **Meteora** | Liquidity pools (DLMM + Dynamic AMM) | Add/remove liquidity, view pools, check positions |
| **Sanctum** | Liquid staking (LST) | Check LST prices and APY |
| **Raydium** | AMM pools | Search pools, view info and market data |
| **Pendle** | Yield tokenization (Ethereum) | Browse markets, check positions |
| **Drift** | Perpetual DEX & vaults | View markets, funding rates, vault info |
Get started: [Deposit 100 USDC to Kamino](https://t.me/donut_d0_agent_bot?text=Deposit%20100%20USDC%20to%20Kamino), [Find Meteora pools for SOL](https://t.me/donut_d0_agent_bot?text=Find%20Meteora%20pools%20for%20SOL), or [Show my Kamino portfolio](https://t.me/donut_d0_agent_bot?text=Show%20my%20Kamino%20portfolio).
## Kamino: Lending & Borrowing
The simplest way to put your idle tokens to work. Deposit USDC, SOL, or other supported tokens into Kamino's lending pools and start earning interest immediately. If you need liquidity but don't want to sell, you can borrow against your deposits instead.
| You Say | What Happens |
| ------------------------------ | ----------------------------------------- |
| "Deposit 100 USDC to Kamino" | Deposit tokens to earn lending yield |
| "Withdraw 50 USDC from Kamino" | Withdraw your deposited tokens |
| "Borrow 50 USDC from Kamino" | Borrow against your deposits |
| "Repay 50 USDC to Kamino" | Pay back a loan |
| "Show my Kamino portfolio" | View deposits, borrows, and health factor |
> **You:** "Deposit 500 USDC to Kamino"
>
> **Bot:** "Preview: Deposit 500 USDC to Kamino lending. Current APY: 8.2%. Shall I proceed?"
>
> **You:** "Yes"
>
> **Bot:** "Done! 500 USDC deposited. Earning 8.2% APY."
Your deposit starts earning interest right away. You can withdraw anytime.
If you're borrowing, watch your **health factor**. This number tells you how safe your position is — keep it above 2.0 to stay well away from liquidation. If your collateral drops or your borrowed assets rise in value, your health factor goes down. When it hits 1.0, you get liquidated.
## Meteora: Liquidity Pools
Provide liquidity to trading pools and earn a share of the trading fees. When traders swap on Meteora, they pay a small fee that gets split among everyone who provided liquidity.
| You Say | What Happens |
| -------------------------------- | -------------------------------------- |
| "Find Meteora pools for SOL" | Search for available pools |
| "Add liquidity to SOL/USDC pool" | Deposit tokens into a pool |
| "Show my Meteora positions" | View your LP positions and earned fees |
| "Remove 50% of my LP position" | Withdraw liquidity from a pool |
Meteora has two types of pools:
* **Dynamic AMM** — Traditional liquidity pools. You deposit equal value of both tokens and earn fees on all trades. Simpler to manage, lower APR.
* **DLMM (concentrated liquidity)** — You pick a specific price range where your liquidity sits. Higher potential APR because your liquidity is more focused, but you need to watch it. If the price moves out of your range, you stop earning fees until you rebalance.
## Sanctum: Liquid Staking
Check current rates for Solana liquid staking tokens. When you stake SOL natively, it's locked. Liquid staking gives you a token (jitoSOL, mSOL, bSOL) that represents your staked SOL but can still be used in DeFi.
> **You:** "What are the best LST rates?"
>
> **Bot:** "Current LST rates:
>
> * jitoSOL: 7.5% APY
> * mSOL: 7.2% APY
> * bSOL: 6.8% APY"
Use these LSTs as collateral on Kamino, provide them as liquidity on Meteora, or just hold them and earn staking rewards while keeping your tokens liquid.
## Two-Step Workflow
Every DeFi operation follows the same preview-then-confirm pattern:
1. **Preview** — Your bot shows you the deposit / borrow / liquidity numbers (amounts, current APY, fees, health factor) before anything executes.
2. **Confirm** — You review the preview and approve. Only then does your bot submit the transaction.
This prevents accidental deposits, borrows, or withdrawals. You always see the details before anything executes.
## Tips for Using DeFi
* **Start with Kamino.** Lending is the simplest DeFi activity and carries the least risk. Deposit idle stablecoins, earn yield, withdraw anytime. No impermanent loss, no price range management.
* **Compare APYs across protocols.** Rates change constantly based on supply and demand. Before committing a large amount, check a few protocols.
* **Watch your health factor when borrowing.** Market moves can push you toward liquidation faster than you expect. Keep a buffer above 2.0.
* **Understand impermanent loss.** When you provide liquidity, the value of your position can change based on token price movements. If one token pumps hard, you would have made more money just holding it. Not a guaranteed loss, but a risk to be aware of.
* **DLMM needs active management.** If you use concentrated liquidity pools, check positions regularly. If the price moves out of your range, you stop earning fees and need to rebalance.
## Want Real Walkthroughs?
For three real-world strategies — idle USDC yield, leveraged yield, and LP farming — see [**Use Case: DeFi Yield & Lending**](/use-cases/defi-yield).
# Market Analysis
Source: https://docs-d0.donutbrowser.ai/features/market-analysis
Ask about any token and your bot pulls data from multiple sources into one clear summary: price, security, social, on-chain activity, and technicals.
## What You Can Ask
Your bot understands natural questions. Here are a few ways to ask:
| You Say | What You Get |
| ----------------------------------------------- | ------------------------------------------------------------------------- |
| "Tell me about SOL" | Full token overview — price, market cap, volume, safety score |
| "Is this token safe?" *(with contract address)* | Security audit — rug-pull risk, smart contract flags, top holder analysis |
| "What's the market sentiment for BTC?" | Sentiment score combining multiple data sources |
| "Compare ETH and SOL" | Side-by-side comparison of key metrics |
Try it now: [Tell me about SOL](https://t.me/donut_d0_agent_bot?text=Tell%20me%20about%20SOL), [Compare ETH and SOL](https://t.me/donut_d0_agent_bot?text=Compare%20ETH%20and%20SOL), or [What's the market sentiment for BTC?](https://t.me/donut_d0_agent_bot?text=What%27s%20the%20market%20sentiment%20for%20BTC%3F) — clicking opens Telegram with the prompt prefilled to your D0 bot.
## What's Included in a Token Analysis
When you ask about a token, your bot gathers data from multiple sources and presents it as a clear summary.
### Price & Market Data
* Current price and 24h / 7d price change
* Market capitalization and fully diluted valuation
* 24-hour trading volume
* Circulating supply and total supply
### Security Check
* **Safety score (0-100)** — how safe the token's smart contract is
* **Risk flags** — concentrated holder ownership, minting authority, or freeze authority
* **Top holder analysis** — how much of the supply is held by the top wallets
* **Liquidity check** — confirms there's enough liquidity for safe trading
### Social & Community
* Links to the token's website, Twitter, Telegram, and Discord
* Community size indicators
* Social mention trends
### Deep Research Reports
For a comprehensive analysis that goes beyond the basics, ask for deep research. Your bot will generate a full multi-factor report combining:
* Price action and technical trends
* On-chain metrics (whale movements, exchange flows, holder behavior)
* Social sentiment across Twitter and Telegram
* Derivatives positioning (funding rates, open interest, liquidations)
* Risk assessment and trade setup ideas
This is useful when you're evaluating a major position or trying to understand the full picture before entering a trade.
> **You:** "Give me deep research on BONK"
>
> **Bot:** *Generates a comprehensive report covering price trends, on-chain whale activity, social buzz, derivatives data, and a risk-adjusted trade setup.*
Try it: [Give me deep research on BONK](https://t.me/donut_d0_agent_bot?text=Give%20me%20deep%20research%20on%20BONK).
### US Stocks & Macro Tracking
D0 can track major US stock indices and macro indicators in real time. This helps you understand how traditional markets are moving and how that might affect crypto.
**What you can track:**
* S\&P 500 (SPY)
* NASDAQ (QQQ)
* Dow Jones
* VIX (volatility index)
* Individual stocks (AAPL, TSLA, NVDA, etc.)
* Gold, Oil, DXY (US Dollar Index)
* 10-Year Treasury yields
> **You:** "What's the S\&P 500 doing?"
>
> **Bot:** "S\&P 500 (SPY): \$720.65 +0.28% 🟢
> NASDAQ (QQQ): \$674.15 +0.96% 🟢
> VIX: 16.99 (calm, low fear)
> Gold: \$4,644.50 +0.32%
> Oil: \$101.94 -2.98% 🔴"
This is useful for understanding macro conditions. When SPY dumps, BTC often follows. When the VIX spikes, risk assets (including crypto) tend to sell off.
Try it: [What's the S\&P 500 doing?](https://t.me/donut_d0_agent_bot?text=What%27s%20the%20S%26P%20500%20doing%3F) or [Show me VIX, DXY, and 10-year yield](https://t.me/donut_d0_agent_bot?text=Show%20me%20VIX%2C%20DXY%2C%20and%2010-year%20yield).
## Example Conversation
> **You:** "What can you tell me about JUP?"
>
> **Bot:** "Here's what I found about Jupiter (JUP):
>
> Price: \$1.24 (+8.3% in 24h)
> Market Cap: \$1.67B (#42)
> 24h Volume: \$285M
> Safety Score: 92/100 (Low Risk)
>
> JUP is the governance token of Jupiter, the leading DEX aggregator on Solana. Top 10 holders control 18% of supply. No mint authority detected. LP is locked.
>
> Sources: Birdeye, CoinGecko, Rugcheck"
## Data Sources
Your bot doesn't rely on a single data provider. It cross-references multiple trusted sources to give you the most accurate picture:
* **Birdeye** — On-chain token data and DEX analytics
* **CoinGecko** — Global market data and token information
* **CoinMarketCap** — Market rankings and trading volumes
* **Rugcheck** — Smart contract security audits
* **Alternative.me** — Fear & Greed Index and sentiment data
When your bot gives you analysis, it always mentions the data sources so you can click through and verify any data point on the original source.
## Tips for Better Results
* **Be specific.** "Analyze SOL on the 4h timeframe" gives better results than just "SOL".
* **Use contract addresses.** For lesser-known tokens, paste the contract address so your bot can identify it accurately.
* **Ask follow-ups.** After an initial analysis, ask things like "What are the risks?" or "Is it a good time to buy?" Your bot remembers the context and can dive deeper.
# Perpetual Futures
Source: https://docs-d0.donutbrowser.ai/features/perpetual-futures
Trade perpetual futures on Donut Perps with leverage. Go long or short on BTC, ETH, SOL, and more — all through your D0 bot.
## What You Can Do
| You Say | What Happens |
| -------------------------------------- | ------------------------------------------- |
| "Open a 10x long on BTC with 0.01 BTC" | Place a leveraged market order |
| "Show my positions" | View all open positions with PnL |
| "Close my BTC position" | Close a position with a reduce-only order |
| "What's my perps balance?" | Check equity, available balance, and margin |
| "Deposit 1000 to perps" | Fund your perpetual futures account |
Try it: [What's my perps balance?](https://t.me/donut_d0_agent_bot?text=What%27s%20my%20perps%20balance%3F), [Open a 10x long on BTC with 0.01 BTC](https://t.me/donut_d0_agent_bot?text=Open%20a%2010x%20long%20on%20BTC%20with%200.01%20BTC), or [Show my positions](https://t.me/donut_d0_agent_bot?text=Show%20my%20positions).
## How Perps Work on D0
### Account Structure
```mermaid theme={null}
%%{init: {'theme':'base','themeVariables':{'fontFamily':'Open Sans, system-ui, sans-serif','primaryColor':'#ece9fe','primaryBorderColor':'#7255e7','primaryTextColor':'#2c2444','lineColor':'#7255e7','edgeLabelBackground':'#ece9fe'}}}%%
flowchart LR
W["Your Wallet"] -->|"Deposit"| M["Main Account (holding area)"]
M -->|"Transfer in"| S["Sub-Account (active trading)"]
```
* **Main Account** — Where deposits land. Not used for trading directly.
* **Sub-Account** — Where your trading happens. Auto-created on your first order.
To get funds into your sub-account, you either deposit and transfer in one step (`"Deposit 500 to perps and transfer to sub-account"`) or do it separately (`"Transfer 200 to sub-account"`).
### Supported Operations
**Account Management:**
* Deposit USDT to main account
* Withdraw USDT from main account
* Transfer funds between main and sub-account
* Check balance (equity, available, margin used)
**Trading:**
* Market orders (instant execution at current price)
* Limit orders (execute when price reaches your target)
* Reduce-only orders (close positions without opening new ones)
* Configurable leverage per order
**Monitoring:**
* View open positions with real-time PnL
* List open orders
* View order history
* Check contract specifications (min quantity, max leverage)
## Opening Your First Position
Here's what the whole flow looks like from start to finish.
### Step 1 — Check the contract
Before you trade, check the contract details so you know the minimum size and max leverage.
> **You:** "Show BTCUSDT perps contract info"
>
> **Bot:** "BTCUSDT:
>
> * Min quantity: 0.001 BTC
> * Max leverage: 150x
> * Tick size: 0.1
> * Taker fee: 0.05%"
Now you know the smallest position you can open is 0.001 BTC and you can use up to 150x leverage.
### Step 2 — Fund your account
You need USDT in your sub-account to trade. Deposit from your wallet and transfer it over.
> **You:** "Deposit 500 to perps and transfer to sub-account"
>
> **Bot:** "Deposit complete: 500 USDT to main account.
> Transfer complete: 500 USDT to sub-account.
> Available balance: \$500."
### Step 3 — Open a position
Tell your bot what you want to trade, the size, and the leverage.
> **You:** "Open a 10x long on BTC with 0.005 BTC"
>
> **Bot:** "Order placed! BTCUSDT BUY MARKET 0.005 @ 10x
> Entry: \$98,450
> Position value: \$492.25
> Margin required: \$49.23"
You're now long 0.005 BTC with 10x leverage. Your position is worth \$492.25, but you only put up \$49.23 as margin. The rest is borrowed.
### Step 4 — Check your position
Ask for your positions anytime to see how they're doing.
> **You:** "Show my positions"
>
> **Bot:**
>
> | Symbol | Side | Size | Entry | Mark | PnL | Lev |
> | ------- | ---- | ----- | -------- | -------- | ------- | --- |
> | BTCUSDT | LONG | 0.005 | \$98,450 | \$98,900 | +\$2.25 | 10x |
### Step 5 — Close the position
When you're ready to exit, tell your bot to close it.
> **You:** "Close my BTC position"
>
> **Bot:** "Position closed! SELL MARKET 0.005 BTCUSDT
> Exit: \$98,900
> Realized PnL: +\$2.25"
## Key Concepts
### Symbol Format
Always use `BTCUSDT`, `ETHUSDT`, `SOLUSDT` format (base token + USDT). If you just say "BTC" your bot will ask you to clarify.
### Leverage
Leverage is set per order, not per account. It defaults to 10x and you can dial it up to the asset's cap. Your initial margin is just 1 / leverage, so 10x locks 10% of the notional, 50x locks 2%, and 150x locks about 0.67%. More leverage means a thinner buffer before liquidation. Start with 5x or less while learning.
Initial margin defaults to 10% (10x), and you can dial leverage up to each asset's cap. The maintenance margin rate (MMR) is tiered by asset, not a single number. A lower MMR is what lets an asset go to a higher max leverage.
**Margin and leverage by asset (Donut Perps):**
| Asset | MMR | IMR | Max leverage |
| ----------------------------------- | ----- | --- | ------------ |
| BTC, ETH | 0.4% | 10% | 150x |
| SOL, XRP | 0.5% | 10% | 100x |
| BNB, LINK, BCH, ADA, TRX, AVAX, LTC | 0.5% | 10% | 75x |
| OP, ARB, SUI, NEAR, WLD | 0.6% | 10% | 75x |
| DOGE | 0.65% | 10% | 75x |
| HYPE | 1.0% | 10% | 75x |
| TRUMP | 1.0% | 10% | 50x |
These apply across the 0 to 100M USD notional range. IMR (initial margin rate) is 10% at the default 10x; your actual initial margin is 1 / your chosen leverage, so 150x is about 0.67% and 50x is 2%.
Caps and margin rates here were verified in July 2026 and can change. Your bot shows the live values in the contract info and order preview.
On **Hyperliquid**, caps are lower: BTC 40x, ETH 25x, SOL and XRP 20x, and most other majors 10x. Its maintenance margin runs around 3%.
### Margin
Margin is the collateral locked for your position. If your losses approach your margin, you risk liquidation. Always keep some buffer in your available balance.
### Margin Mode
Positions are isolated, with a separate margin balance per position. There is no cross-margin, so a loss on one position can't pull down the collateral behind another.
### Minimum Order Size
The minimum order value on Donut Perps depends on the asset: 100 USDT for BTC, 20 USDT for ETH, BCH, LTC, and LINK, and 5 USDT for everything else.
### Reduce-Only
When closing a position, the bot uses reduce-only orders to prevent accidentally opening a new position in the opposite direction.
## Liquidation
Before you open, your bot shows the estimated liquidation price, the margin required, and the estimated fees. The higher your leverage, the closer the liquidation price sits to your entry, and your bot flags that.
### How it's calculated
```
Maintenance margin (MM) = |position size| × contract value × mark price × MMR
Risk ratio = MM / (initial margin + unrealized PnL) × 100%
Liquidation price (long) = entry − (initial margin − MM) / size
Liquidation price (short) = entry + (initial margin − MM) / size
```
### How it triggers
Your bot scans every position about every 3 seconds (safe positions are skipped quickly), recomputes the risk ratio, and acts on which band it lands in:
```mermaid theme={null}
%%{init: {'theme':'base','themeVariables':{'fontFamily':'Open Sans, system-ui, sans-serif','primaryColor':'#ece9fe','primaryBorderColor':'#7255e7','primaryTextColor':'#2c2444','lineColor':'#7255e7','edgeLabelBackground':'#ece9fe'}}}%%
flowchart TD
S["Scan every 3s"] --> R["Compute risk ratio: MM / (IM + PnL)"]
R --> B{"Risk ratio band"}
B -->|"below 85%"| Safe["Safe, keep holding"]
B -->|"85 to 100%"| Warn["Warning, alert (clears below 70%)"]
B -->|"100% or more"| L1["Cancel TP/SL"]
L1 --> L2["Close full position, reduce-only market"]
```
* **Below 85%:** safe, keep holding.
* **85% to 100%:** warning. Your bot alerts you. The alert only clears once you drop back below 70%, so it doesn't flip on and off.
* **100% or above:** liquidation. Your bot cancels the position's take-profit and stop-loss, then closes the whole position in one reduce-only market order. There is no laddered reduction and no auto-deleveraging (ADL).
Once a liquidation fills, that position's margin is fully lost, the position goes to zero, and it's timestamped and archived to your history.
### Insurance fund
If the liquidation price is better than the bankruptcy price and a little collateral is left over, that remainder moves into the contract's insurance fund.
* Each contract has its own insurance fund, created on the first liquidation with no pre-seeded balance.
* Leftover collateral from a liquidation goes into the fund (booked as liquidation income).
* If a position blows through its margin (bankruptcy), the shortfall is covered by the counterparty or market maker on the matching side; the fund handles the accounting.
* There is no socialized loss and no clawback. Someone else's liquidation never touches your profits.
* The platform reconciles as a zero-sum book: all users' PnL plus the insurance fund balance equals zero.
On **Hyperliquid**, liquidation follows HL's own rules (maintenance margin around 3%). The liquidation price uses HL's official data where available and only falls back to a local estimate if it's missing. HL shows the exact rules live at order time.
## Take-Profit and Stop-Loss
A stop-loss is your most common protection: set a price, and when it's hit your position closes automatically to cap the loss.
| Type | How it works | Where |
| ------------------------- | ------------------------------------------------------------------------------- | ---------------------------------------------------------------------- |
| Hard stop (conditional) | Set a trigger price; it executes automatically when hit | Donut Perps, Hyperliquid, spot (embedded in a limit order), Polymarket |
| TP/SL on open | Attach the protective orders as you open the position | Donut Perps, Hyperliquid |
| Position-level and staged | Take profit on the whole position at once, or scale out by price and proportion | Donut Perps (atomic multi-leg) |
| Polymarket stop | Triggers on a percentage (1 to 99%) or a price threshold | Polymarket (monitored on the backend) |
For the trigger price you can use last price (default), mark price (recommended, since it resists manipulation), or index price. If a stop doesn't cover your whole position after you open or add to it, your bot warns you to top it up.
A limit plus reduce-only order is not a stop-loss. Use the stop order type (STOP\_MARKET or STOP\_LIMIT). If you set a stop in the wrong direction, your bot blocks it rather than silently flipping it. And honestly, a stop is not a 100% guarantee: in a sharp flash crash it can slip badly or fail to fill. That's common to every trading platform, not a D0 bug.
## Donut Perps vs Hyperliquid
Both are perp venues and your bot picks between them automatically. Here's how they differ.
| Dimension | Donut Perps | Hyperliquid |
| -------------- | ------------------------------------------- | --------------------------------------------------- |
| Margin asset | USDT | USDC (on Arbitrum) |
| Margin mode | Isolated only | Isolated or cross (index contracts forced isolated) |
| Leverage cap | Per asset, up to 150x (see the table above) | BTC 40x, ETH 25x, SOL 20x, small caps 3 to 10x |
| Minimum order | Per contract; 10 USDT transfer-in | \$10 notional |
| Taker fee | 0.05% | 0.045% (drops with volume) |
| Liquidation | Own engine, isolated | On-chain matching on the exchange |
| When it's used | Default, since fees are lower | Coins Donut Perps doesn't list, or when you name HL |
## Tips for Trading Perps
* **Check contract specs before trading.** You need to know the minimum size and max leverage. If you try to open a position smaller than the minimum, the order will fail.
* **Start with low leverage.** 5x or less while you're learning. High leverage can wipe you out fast if the market moves against you.
* **Watch your margin usage.** If your available balance is getting low relative to your margin used, you're at risk of liquidation. Keep a buffer.
* **Use limit orders for better entries.** Market orders fill immediately at whatever price is available. Limit orders let you set your ideal entry and wait for the market to come to you.
* **Check funding rates.** Perps use funding to keep the perpetual price close to spot. If funding is high and positive, it's expensive to hold longs. If high and negative, it's expensive to hold shorts. You pay or receive funding every 8 hours depending on your position.
## Want a Complete Walkthrough?
For an end-to-end perps session — funding your account, placing orders, monitoring positions, hedging spot, range trading, and withdrawing profits — see [**Use Case: Perpetual Futures Trading**](/use-cases/perps-trading).
# Portfolio Tracking
Source: https://docs-d0.donutbrowser.ai/features/portfolio-tracking
Check your wallet balance, perps account, and DeFi positions from Telegram, and get a complete portfolio overview in a single reply.
## How It Works
Once your wallet is connected to D0, just ask:
> "What's my balance?"
>
> "Show my positions"
>
> "How's my portfolio doing?"
Your bot pulls the latest data across all your accounts and gives you a clear breakdown. Try: [What's my balance?](https://t.me/donut_d0_agent_bot?text=What%27s%20my%20balance%3F), [Show my positions](https://t.me/donut_d0_agent_bot?text=Show%20my%20positions), or [How's my portfolio doing?](https://t.me/donut_d0_agent_bot?text=How%27s%20my%20portfolio%20doing%3F).
## What You'll See
### Full portfolio view (wallet + perps)
One command shows everything at once.
> **You:** "What's my balance?"
>
> **Bot:** "**Wallet:** \$14,280
>
> | Token | Amount | Value | 24h |
> | ----- | ------- | ------- | ----- |
> | SOL | 42.5 | \$6,035 | +4.8% |
> | USDC | 3,500 | \$3,500 | — |
> | JUP | 2,100 | \$2,604 | +6.2% |
> | BONK | 150,000 | \$1,245 | -1.3% |
> | RAY | 180 | \$896 | +2.1% |
>
> **Perps Account:** Equity: \$5,200 · Available: \$3,800 · Margin used: \$1,400
>
> **Total:** \$19,480"
You get your full wallet breakdown with 24-hour price changes, plus your perps account balance and margin usage — everything in one message.
### Wallet only
If you just want to see your wallet without perps data, ask for it specifically.
> **You:** "Just show my wallet"
>
> **Bot:** *(shows only wallet tokens without perps data)*
### DeFi positions
Check what you've got deposited or borrowed across protocols.
> **You:** "Show my DeFi positions"
>
> **Bot:** "Your DeFi portfolio:
>
> **Kamino:** Deposited 1,000 USDC (APY 8.2%) · Borrowed 200 USDC (APR 12.5%) · Health 2.8
>
> **Meteora LP:** SOL/USDC: \$2,400 value, \$45.20 fees (24h)
>
> **Total DeFi:** \$3,245"
You see exactly what's earning yield, what you've borrowed, and how safe your positions are.
### Perps positions
Get a clean view of all your open leveraged positions with live PnL.
> **You:** "Show my perps positions"
>
> **Bot:** "Open positions:
>
> | Symbol | Side | Size | Entry | Mark | PnL | Lev |
> | ------- | ---- | ---- | -------- | -------- | -------- | --- |
> | BTCUSDT | LONG | 0.05 | \$96,800 | \$98,450 | +\$82.50 | 10x |
> | SOLUSDT | LONG | 10 | \$138.50 | \$142.35 | +\$38.50 | 5x |
>
> Unrealized PnL: +\$121.00"
Shows you where you're positioned, your entry prices, current prices, and how much you're up or down.
## Connecting Your Wallet
To use portfolio tracking, you need to connect a Solana wallet to D0.
1. Go to the D0 Dashboard.
2. Click on your profile or the wallet icon in the top right.
3. Connect your Solana wallet (Phantom, Backpack, or any other Solana wallet).
D0 reads your wallet's public balance data for tracking. Trading and DeFi operations go through a secure, non-custodial flow so your private keys never touch D0's servers.
## Tips for Tracking Your Portfolio
* **Use `balance` for the full picture.** It returns wallet plus perps data in one call, so you see everything at once.
* **Check your perps margin regularly.** Especially during volatile markets when prices are moving fast. You want to know if you're getting close to liquidation.
* **Monitor DeFi health factors.** If you're borrowing on Kamino, keep your health factor above 2.0. Below that and you're starting to get into risky territory.
* **Check after big trades.** See how your allocation shifted after entering or exiting positions. Did you go heavier into one token than you meant to? A quick balance check shows you.
* **Combine with analysis.** If you see a token is up or down big in the last 24 hours, ask your bot to analyze why it moved.
## Privacy
Your portfolio data is private to your bot. No one else can see your balances, positions, or holdings. The connection between your wallet and your bot only exists in the D0 Dashboard and your Telegram conversation. It's not visible to anyone else.
## Want Real Workflows?
For six real-world workflows (morning check-in, before trading, after market moves, perps risk monitoring, DeFi health tracking, end-of-day review) — see [**Use Case: Portfolio Monitor**](/use-cases/portfolio-monitor).
# Prediction Markets
Source: https://docs-d0.donutbrowser.ai/features/prediction-markets
D0 connects to Polymarket plus AI prediction models from Allora and DFlow. Browse events, spot mispriced markets, and place bets from Telegram.
## What Are Prediction Markets?
Prediction markets let you bet real money on real-world outcomes. Will the Fed cut rates in June? Will Bitcoin hit \$150K by December? Will a specific team win the championship?
You buy shares representing "Yes" or "No" on an event. If you're right, each share pays out \$1. If you're wrong, you lose what you paid. The current price of Yes shares shows what the market thinks the probability is — if Yes shares cost 68¢, the market is pricing in a 68% chance the event happens.
## Browse & Analyze Markets
Your bot can search for events, find mispriced markets, and spot betting edges.
### Search for events
Ask your bot to find markets on any topic — crypto milestones, politics, sports, Fed decisions, tech events.
[Any Fed rate cut markets worth trading?](https://t.me/donut_d0_agent_bot?text=Any%20Fed%20rate%20cut%20markets%20worth%20trading%3F)
> **Bot:** "Found 3 active Fed rate markets on Polymarket:
>
> 1. Fed cuts rates in June 2026? Yes: 72¢ | No: 28¢ | Volume: \$1.8M
> 2. Fed cuts by 50+ bps before August? Yes: 15¢ | No: 85¢ | Volume: \$420K
> 3. Fed holds rates at 5.25% through Q2? Yes: 35¢ | No: 65¢ | Volume: \$890K
>
> Based on recent FOMC statements and CPI trends, market #2 looks underpriced — consensus expects a slower pace."
Your bot doesn't just list events. It checks liquidity (can you actually get in and out?) and flags whether there is an obvious edge based on what it knows about the topic.
### Mispricing detection
Your bot compares what it thinks the probability should be (based on available data and reasoning) versus what Polymarket is pricing in. When there is a gap, that is a potential edge.
[Find mispriced Polymarket events](https://t.me/donut_d0_agent_bot?text=Find%20mispriced%20Polymarket%20events)
> **Bot:** "Scanning for mispriced events...
>
> **Potential edge found:**
> Event: Will Ethereum ETF launch before June 2026?
> Current odds: Yes 45¢ | No 55¢
> My assessment: \~65% probability based on SEC timeline + industry signals
> Implied edge: +20% if you buy Yes
> Volume: \$1.2M (liquid)
>
> This suggests the market is underpricing the likelihood. Recent SEC filings and comments from commissioners indicate approval is more likely than the current odds suggest."
This doesn't guarantee you'll win — markets can stay wrong, or your bot's assessment could be off. But it identifies where there is potential value based on available information.
### Sports betting edge
Polymarket runs sports betting markets too. Your bot compares Polymarket odds against traditional sportsbooks (Bet365, Pinnacle, etc.) to find where Polymarket is mispriced.
[Any EPL matches with betting edge?](https://t.me/donut_d0_agent_bot?text=Any%20EPL%20matches%20with%20betting%20edge%3F)
> **Bot:** "Edge detected:
> Arsenal vs Chelsea this weekend
> Polymarket: Arsenal -120 | Chelsea +145
> Pinnacle: Arsenal -135 | Chelsea +130
>
> Polymarket is offering better odds on Chelsea by \~15 basis points. If you think Chelsea has a shot, Polymarket is the better line."
Traditional sportsbooks are extremely efficient, so when Polymarket diverges significantly it is worth paying attention.
## AI Price Predictions
Your bot pulls forecasts from decentralized AI models to help inform your trading decisions.
### Allora + DFlow AI forecasts
Allora Network runs 23 active AI models that predict crypto prices. Your bot checks the consensus forecast and shows you confidence intervals and where models disagree.
[What does AI predict for BTC in 8 hours?](https://t.me/donut_d0_agent_bot?text=What%20does%20AI%20predict%20for%20BTC%20in%208%20hours%3F)
> **Bot:** "Allora AI Prediction (8h forecast):
> BTC predicted price: \$98,200 (+1.2% from current \$96,850)
> Confidence: Medium
> Model consensus: 18/23 models agree within ±1%
> Outliers: 3 models predicting \$99,500+, 2 predicting \$96,000-"
Use these forecasts as one signal among many — never the only thing you base a trade on.
## Things to Know
* **Polymarket settles in USDC on Polygon.** You need USDC on Polygon to trade. D0 can bridge it for you (see [Cross-Chain Swap](/features/cross-chain-swap)).
* **Liquidity matters.** A market with \$5K volume can move 10% on a small bet. Check the volume column before sizing in.
* **AI forecasts are not financial advice.** They are signal, not certainty. Combine them with your own analysis.
# Price Alerts
Source: https://docs-d0.donutbrowser.ai/features/price-alerts
Never miss a price move again. Your D0 bot can watch token prices 24/7 and notify you on Telegram the moment your target is hit.
## How to Set an Alert
Just tell your bot in plain English:
> "Alert me when SOL goes above \$150"
> "Notify me if BTC drops below \$90,000"
> "Tell me when ETH hits \$4,000"
Your bot understands both "above" and "below" targets, and you don't need to use any special syntax. Try one now: [Alert me when SOL goes above \$150](https://t.me/donut_d0_agent_bot?text=Alert%20me%20when%20SOL%20goes%20above%20%24150), [Notify me if BTC drops below \$90,000](https://t.me/donut_d0_agent_bot?text=Notify%20me%20if%20BTC%20drops%20below%20%2490%2C000), or [What alerts do I have?](https://t.me/donut_d0_agent_bot?text=What%20alerts%20do%20I%20have%3F).
## How It Works
1. **You set the alert** — Just describe the condition in your own words.
2. **Bot confirms** — Your bot shows the current price and confirms the alert is active.
3. **Price is monitored** — Your bot watches the price continuously.
4. **You get notified** — When the target is hit, you receive a message in the same Telegram chat.
Alerts are delivered as regular Telegram messages, so you'll get push notifications on your phone just like any other chat message.
## Managing Your Alerts
| What You Want | What to Say |
| ------------------------------- | ------------------------ |
| See all active alerts | "What alerts do I have?" |
| Remove a specific alert | "Cancel the SOL alert" |
| Remove all alerts | "Cancel all my alerts" |
| Check if an alert was triggered | "Did any alerts go off?" |
You can stack multiple alerts on the same token at different prices. If you want to know when SOL crosses \$120, \$150, and \$180, just set three alerts.
## Example
> **You:** "Alert me when SOL drops below \$120"
>
> **Bot:** "Price alert set! I'll notify you when SOL goes below \$120.00. Current price: \$142.35."
>
> *(several hours later)*
>
> **Bot:** "🔔 Price Alert Triggered! SOL just dropped below your target of \$120.00. Current price: \$119.72 (-15.9% from when the alert was set)."
The alert fires once, then it's removed. If you want to track the same level again, set a new alert.
## Using Alerts Effectively
* **Set them at key levels.** Use support and resistance levels from your chart analysis. Round numbers (like \$100, \$1,000, \$10,000) often act as psychological barriers where price stalls or bounces.
* **Set both upside and downside targets.** If you're holding a token, set an alert above for profit-taking and below for stop-loss consideration. Covers both scenarios.
* **Combine alerts with other features.** When an alert fires, ask your bot to analyze the token right away for a full update. If you set an alert based on a chart pattern, check the chart again when it hits to see if the pattern played out.
## Important Notes
* **One-time trigger** — Each alert fires once and is then removed. If you want to be alerted again at the same level, set a new alert.
* **Bot must be running** — Alerts are active while your bot is online. If you [hibernate](/bot-management/hibernation) your bot, alerts pause and resume when you wake it up.
* **Instant delivery** — Alerts come as Telegram messages, so you'll get push notifications on your phone immediately.
## Want Real Scenarios?
For five concrete alert scenarios (buying the dip, taking profit, breakout monitoring, downside protection, multi-alert combos) plus strategy tips for day traders, swing traders, perps traders, and long-term holders — see [**Use Case: Setting Up Price Alerts**](/use-cases/price-alert-setup).
# Risk Controls
Source: https://docs-d0.donutbrowser.ai/features/risk-controls
How your bot asks before it acts, and the alerts you can set on losses, drawdown, and leverage. Preview-and-confirm by default, with safety checks that can't be turned off.
Your bot is built so nothing moves your money without your say-so. Two things control that: the permission level that decides when it asks before acting, and the risk alerts you set to flag when a position runs past your comfort line.
## Permission Levels
Your bot operates at one of a few levels depending on what you are asking it to do.
| Level | Covers | Behavior |
| ------------------ | ------------------------------------------------------------------------------------- | ------------------------------------------- |
| View only (L0) | Market data, analysis, backtests, balance checks, reading your preferences | Runs freely, no confirmation |
| Confirm first (L1) | Buying and selling, opening or closing positions, withdrawals, changing risk settings | Shows a preview and waits for your approval |
| Auto-execute (L2) | The same actions, run without asking | Only active if you explicitly opt in |
Auto-execute turns on only when you clearly say so, for example "just execute, don't ask me." Soft intent like "can you do this for me?" does not enable it.
### What needs confirming
| Action | Confirm? |
| ------------------------------------------------------------- | ---------------------------------------------------------------------- |
| Buy or sell, open or close a position | Yes, preview then you approve |
| Move funds between your own accounts (wallet → perps account) | No, it's just moving your own money, so it goes through |
| Withdraw to an external address | Yes, and more strictly: re-check the chain, token, address, and amount |
| Check quotes, analysis, backtests | No, it's read-only |
Some safety checks can't be switched off. Even with auto-execute on, any trade that fails a safety validation stops and pings you. And withdrawals to an external address always confirm, regardless of auto-execute. These stay on no matter what.
If a trade is blocked, your bot tells you why on the spot (insufficient balance, below the minimum size). With the managed Agent, every blocked decision is logged to your decision history in the dashboard.
Trade confirmations don't expire, so you can review at your own pace. The one exception is cross-chain bridge quotes, which carry a countdown because the price they quote is time-sensitive.
## Risk Alerts
You can set thresholds that tell your bot when to flag you. These are reminders, not brakes. They notify you; they do not auto-close positions or halt trading. You stay in control of what to do next.
| Alert | How you set it | Resets |
| ------------------- | ------------------------------------------- | ------------------------------- |
| Daily realized loss | Any amount above 0 USDT | Daily at 00:00 UTC |
| Max daily drawdown | A percentage from your peak equity, e.g. 5% | Daily at 00:00 UTC |
| Max leverage | A multiple of notional to equity, e.g. 5x | Clears once you reduce below it |
If you want a starting point, a rough reference is 5x for conservative, 15x for balanced, and 50x for aggressive. Pick what fits your own risk tolerance.
## Tips
* **Set alerts before you size up.** A drawdown alert is most useful before a bad day, not after.
* **Remember alerts don't act for you.** When one fires, you still have to reduce or close the position yourself.
* **Leave the safety checks alone.** They only ever stop trades that fail validation, so they cost you nothing on normal orders.
# Thorp Strategy Engine
Source: https://docs-d0.donutbrowser.ai/features/thorp-strategy
Most trading tools wait for you to ask. Thorp doesn't.
It runs in the background 24/7, monitors the market, and pushes signals to you before you think to check. By the time you open your chart, Thorp has already been watching.
## Two Types of Signals
**Technical Signals**
These are based on price action and indicators. When something meaningful happens on the chart — a MACD golden cross, an RSI extreme, an EMA crossover — Thorp catches it, scores it, and sends it your way.
**Event-Driven Signals**
These fire when something happens in the market, not on the chart. A new token listing announced on Binance or OKX. A major KOL posting about a specific asset. Thorp picks these up and surfaces them before most people have seen them.
## How Thorp Decides What to Send You
Every signal goes through the same process before it reaches you.
D0 scans your configured assets and strategies continuously. When a trigger fires it gets scored based on:
* how confident the signal is,
* how well it fits the current market regime,
* and how accurate that signal type has been historically.
Your mute settings and risk profile then filter what actually gets pushed to your Telegram. Only the signals that pass your threshold come through as notifications.
Everything else sits in your Dashboard for you to review when you're ready.
## Acting on a Signal
When a signal comes in you have three options — **Accept**, **Reject**, or **Ignore**.
* **Accept** means you want to act on it.
* **Reject** tells D0 the setup doesn't fit your current view.
* **Ignore** means you've seen it but aren't making a call either way.
Your responses feed back into D0's understanding of how you trade.
If you want to go further, you can execute a trade directly from the signal card without leaving the Dashboard.
## Controlling What Reaches You
**By strategy** — Mute a specific signal type across all assets. If RSI divergence alerts aren't useful to you, turn them off without affecting anything else.
**By asset** — Mute all signals for a specific token. If you're not trading SOL right now, silence it until you are.
**Globally** — Pause all Telegram notifications at once. Signals still get scored and logged in your Dashboard. You're muting the ping, not the data.
Access mute settings from **Dashboard → Automations → Thorp Signals → gear icon**.
## Market Regime Matching
Every signal includes a market regime tag — **trending**, **ranging**, or **high volatility**.
This matters because the same signal means different things in different conditions. A MACD crossover in a trending market carries more weight than the same crossover in a choppy range.
Thorp shows you the context so you can judge accordingly.
# Trading
Source: https://docs-d0.donutbrowser.ai/features/trading
Swap tokens, set limit orders, and send funds from Telegram. Every trade goes through a two-step preview-then-confirm workflow.
## Before You Trade
| Item | Default |
| ----------------- | ------------------------------------------------------ |
| Confirmation flow | Preview first, then you confirm |
| Spot routing | Solana via Jupiter, EVM via KyberSwap |
| Spot limit orders | Solana only |
| Permission model | Controlled in [Risk Controls](/features/risk-controls) |
## What You Can Do
| You Say | What Happens |
| --------------------------------------------- | ------------------------------------------------------------- |
| "Swap 10 USDC to SOL" | Get a quote, then confirm to execute the swap |
| "Create a limit order to sell 1 SOL at \$150" | Set a limit order that fills when the target price is reached |
| "Transfer 5 SOL on Solana to 9xQe...T3A" | Send tokens to another wallet |
| "Show my orders" | List all your active and pending orders |
| "Check my balance" | See your wallet tokens and their values |
Try it: [Swap 10 USDC to SOL](https://t.me/donut_d0_agent_bot?text=Swap%2010%20USDC%20to%20SOL), [Create a limit order to sell 1 SOL at \$150](https://t.me/donut_d0_agent_bot?text=Create%20a%20limit%20order%20to%20sell%201%20SOL%20at%20%24150), or [Show my orders](https://t.me/donut_d0_agent_bot?text=Show%20my%20orders).
## How Trading Works
Every trade follows the same pattern: your bot shows you a preview first, then you confirm. Nothing executes until you say yes.
**Step 1 — Preview.** Your bot pulls a quote and shows you exactly what you'll get, the price impact, the route, and any fees.
**Step 2 — Confirm.** You review it and say yes. Only then does your bot submit the transaction to the blockchain.
This prevents accidental trades. You always see the numbers before committing funds.
Permission levels, auto-execute behavior, and non-optional safety checks are documented in [Risk Controls](/features/risk-controls).
## Swapping Tokens
When you ask to swap, your bot finds the best route across all Solana DEXs using Jupiter. You get one quote with the best available price.
> **You:** "Swap 100 USDC to SOL"
>
> **Bot:** "Quote: You'll receive \~0.70 SOL for 100 USDC.
> Price: \$142.35 per SOL
> Price impact: 0.01%
> Route: USDC → SOL via Jupiter
> Shall I execute?"
>
> **You:** "Yes"
>
> **Bot:** "Transaction submitted! TX: 5abc...xyz. You received 0.6998 SOL."
The quote shows you the exact amount you'll receive, the price you're paying per token, how much your trade affects the market (price impact), and which DEX route Jupiter is using. If the numbers look good, confirm. If not, you can cancel and try again later.
## Limit Orders
Instead of buying or selling at the current market price, you can set a limit order at your target price. Your bot monitors the market and fills the order automatically when your price hits.
> **You:** "Create a limit order to buy 1 SOL at \$130"
>
> **Bot:** "Limit order preview:
> Buy 1 SOL when price reaches \$130
> You'll spend \~130 USDC
> Execute?"
>
> **You:** "Yes"
>
> **Bot:** "Limit order created! Order ID: 12345. The order will fill automatically when SOL reaches \$130."
Your order sits there until the price hits your target. You don't have to watch the charts. When the price reaches \$130, your bot executes the trade for you.
Limit orders are currently Solana-only, routed through Jupiter. On EVM chains (Ethereum, BSC, Arbitrum, Polygon) spot trades are market swaps only.
## Managing Your Orders
You can check all your active orders at any time.
> **You:** "Show my orders"
>
> **Bot:** "Your active orders:"
| ID | Type | Pair | Amount | Target | Status |
| ----- | ---------- | -------- | ------- | ------ | ------ |
| 12345 | Limit Buy | SOL/USDC | 1 SOL | \$130 | Active |
| 12346 | Limit Sell | JUP/USDC | 500 JUP | \$1.50 | Active |
If you want to cancel an order, just tell your bot the order ID and it'll cancel it for you.
## Order Status
From the moment you confirm to the final fill, your order moves through a few states, and each one is visible to you:
```mermaid theme={null}
%%{init: {'theme':'base','themeVariables':{'fontFamily':'Open Sans, system-ui, sans-serif','primaryColor':'#ece9fe','primaryBorderColor':'#7255e7','primaryTextColor':'#2c2444','lineColor':'#7255e7','edgeLabelBackground':'#ece9fe'}}}%%
flowchart TD
A["Request"] --> B{"Validate: balance, size, precision"}
B -->|"fails"| R["Rejected: reason shown"]
B -->|"passes"| C["Awaiting confirmation"]
C -->|"you back out"| X["Canceled: funds untouched"]
C -->|"you approve"| D["Confirmed"]
D --> E["Submitted to venue"]
E -->|"error"| F["Failed: no silent retry"]
E --> G["Filled: recorded to history"]
```
* **Rejected:** if validation fails, your bot tells you why on the spot (insufficient balance, below the minimum size).
* **Canceled:** if you back out at the confirmation step, nothing touches your funds.
* **Failed:** if submission errors out, your bot reports the reason and never silently retries with a different coin or direction.
At the venue level an order ends up Filled, Canceled, or Expired. A limit order stays open until it fills or you cancel it. Filled trades are recorded to your history automatically.
## Slippage and Execution
Slippage is the gap between the price you expected and the price you actually got. Your bot keeps it in range and steps in before you take a bad fill.
| Setting | Default | Notes |
| --------------------------------------------- | ----------------------------------------------------------- | --------------------------------------------------- |
| EVM spot slippage tolerance | 0.5% (50 bps) | Adjustable |
| Solana spot slippage | Handled by Jupiter in real time | Pauses to confirm if price impact would exceed \~3% |
| Embedded stop slippage on Solana limit orders | 20% (2000 bps) | Adjustable, 0 to 100% |
| Limit-order lifetime (TTL) | Perps and HL default to GTC (open until filled or canceled) | Jupiter spot can be set to 1h, 7d, or 30d |
Perp market orders fill at the current price and have no separate slippage setting. Every exact fill price, route, and price impact shows in the order preview.
**How your bot protects you in bad conditions:**
| Situation | What your bot does |
| --------------------------------------------------------- | ---------------------------------------------------------------- |
| Thin pool, or price impact over \~3% | Pauses and asks you to confirm before continuing |
| High-risk token (honeypot, likely scam, thin new listing) | Blocks it or warns you clearly |
| Market data over 30 minutes old, or anomalous | Gives no trade conclusion; asks you to retry or confirm manually |
| Asset delisted or paused on the venue | Rejects the order and tells you why |
There's no separate max-gas cap on a normal order. The only fronted-gas cap is on cross-chain arrivals (see [Cross-Chain Swap](/features/cross-chain-swap)).
The pre-confirmation preview is the source of truth for price, route, impact, and slippage. If those numbers look off, don't confirm.
## Transferring Tokens
Need to send tokens to another wallet? Your bot handles that too.
> **You:** "Send 5 SOL on Solana to 9xQe...T3A"
>
> **Bot:** "Transfer preview:
> Sending: 5 SOL (\$711)
> To: 9xQe...T3A (Solana)
> Please confirm chain, token, and address.
> Execute?"
>
> **You:** "Confirm"
>
> **Bot:** "Transfer complete! TX: 8def...uvw. 5 SOL sent."
Same two-step workflow. Your bot shows you what you're sending and where it's going. You confirm, then it sends.
## Where Your Trades Go
You don't have to pick an exchange, chain, or DEX. Your bot routes each order to the right place.
| What you want | Venue | Key detail |
| ------------------------------------------- | ------------------------------------------------------------------------------------- | --------------------------------------- |
| Buy/sell on Solana (spot) | Jupiter (Solana's largest aggregator, auto best price) | Supports limit orders |
| Buy/sell on ETH, BSC, Arbitrum, etc. (spot) | KyberSwap (per-chain aggregator) | Market swaps only |
| Perps | Donut Perps first (own venue, lower fees); coins it doesn't list route to Hyperliquid | Donut Perps transfer-in minimum 10 USDT |
| Index perps (gold, oil, stocks, etc.) | trade.xyz on Hyperliquid | Isolated margin enforced |
| Event outcomes (prediction markets) | Polymarket | Minimum deposit \~$2 to $5 |
**Hyperliquid perps specs:** BTC up to \~40x, ETH 25x, SOL 20x, most small caps 3 to 10x; minimum order notional \$10; minimum deposit 5 USDC, minimum withdrawal 2 USDC.
**Can you pick the venue?** For perps, yes: say "do it on Hyperliquid" and it will. For spot, the chain and DEX aren't selectable; your bot picks Jupiter or KyberSwap based on which chain the token is on. When a perp isn't listed on Donut Perps, your bot routes it to Hyperliquid and shows you HL's taker fee. That's per-asset routing, not a failover.
The two spot aggregators:
* **Jupiter (Solana):** aggregates every major Solana DEX for the best price; any Solana token; limit orders can embed a take-profit or stop-loss.
* **KyberSwap (EVM):** covers Ethereum, BSC, Polygon, and Arbitrum; default slippage 0.5% (adjustable); any EVM token; market swaps only.
For the Donut Perps vs Hyperliquid trade-offs (margin asset, margin mode, leverage caps, fees), see [Perpetual Futures](/features/perpetual-futures). **Limit orders** are managed by D0's backend: when your target price hits, it executes just like a regular swap.
## Tips for Better Trades
* **Always check the preview.** The quote shows you the exact amount, price impact, and fees before anything happens. If the numbers don't look right, don't confirm.
* **Use limit orders for better entries.** Instead of market buying at whatever price is available right now, set a limit order at your ideal entry and let it fill when the market comes to you.
* **Watch price impact on large trades.** If you're swapping a big amount and the price impact is high (like 2% or more), consider splitting it into smaller trades so you don't move the market against yourself.
* **Check your balance first.** Make sure you have enough tokens for the trade plus a bit of SOL for transaction fees. Without SOL for gas, the transaction won't go through.
# Trading Speed — Fast Where It Counts
Source: https://docs-d0.donutbrowser.ai/features/trading-speed
D0 moves instantly on routine work and switches to its strongest models for anything that needs real thinking. You never pick the mode yourself.
D0 runs two modes depending on what you're doing. For things you do constantly (checking prices, depositing, confirming trades) it moves instantly. For things that require real thinking (research, portfolio analysis, strategy backtesting) it switches to its strongest models and takes the time to do it properly.
You never choose which mode. D0 figures it out based on what you asked for.
## The Fast Lane
These are the actions you do dozens of times a day. D0 handles them without any AI reasoning step so there is zero wait time.
### Quick Menu — 12 actions, one tap
Open the command menu in your D0 Telegram chat and you'll see 12 of the most common actions ready to go. No typing, no waiting.
`/deposit` · `/withdraw` · `/balance` · `/price` · `/buy` · `/sell` · `/positions` · `/orders` · `/pnl` · `/alerts` · `/watchlist` · `/help`
### Instant deposit address
Type [/deposit](https://t.me/donut_d0_agent_bot?text=/deposit) and your wallet address appears immediately. D0 doesn't need to think about this one — deposit addresses are pre-computed. It just returns it.
### Direct trade execution
When D0 shows you a trade quote and you hit **Confirm**, it goes straight to execution. No AI step in between. The quote is already generated, the route is already selected — Confirm is just the last human gate before it fires.
> **D0:** "Open Long Position on SOL"
>
> **\[Confirm]** → executes immediately
## Deep Mode
When you need real analysis D0 switches to its strongest models automatically. You don't ask for it — it just happens when the complexity of your request calls for it.
**What triggers Deep Mode:** research reports, multi-asset analysis, strategy backtesting, market regime breakdowns, cross-chain comparisons, anything that starts with "explain why."
The output is a full HTML report — K-line charts, volume profiles, on-chain metrics, technical indicators, funding rates, data tables, and a structured thesis with confidence scoring. It takes longer and it is supposed to.
[Give me deep research on Bitcoin](https://t.me/donut_d0_agent_bot?text=Give%20me%20deep%20research%20on%20Bitcoin)
> **D0:** *\[returns full HTML report — takes 15 to 30 seconds]*
Reports are saved to your Dashboard Activity Feed so you can come back to them without regenerating.
## Why This Matters
The same chat handles both — you don't switch interfaces, you don't pick a "fast model" or "smart model" yourself, and you don't wait when you don't need to. D0 routes each request based on what actually needs to happen.
Speed where it matters. Depth where it counts.
# Voice Command
Source: https://docs-d0.donutbrowser.ai/features/voice-command
Talk to your bot instead of typing. D0 supports voice messages for hands-free trading and analysis.
## How It Works
Open your chat with D0 on Telegram, tap the microphone button, and speak your command. Your bot transcribes what you said and executes it just like a typed message.
Works for everything — trading, analysis, alerts, portfolio checks, chart questions. **If you can type it, you can say it.**
## When Voice Commands Are Useful
**You're driving or walking.** Keep your eyes on the road or the sidewalk. Just ask your bot for a price check or portfolio update without looking at your screen.
**You're at the gym.** Hands are busy but you want to check if your limit order filled or set a quick alert. Just speak it.
**You're multitasking.** Cooking, working, doing something else with your hands. Voice is faster than stopping what you're doing to type.
**You want to ask something complex.** Sometimes it is easier to explain what you want out loud instead of typing a long message. Just talk through it.
## What You Can Do with Voice
Everything you can type, you can say:
* "What's the price of Solana right now?"
* "Swap 50 USDC to SOL"
* "Show me my open positions"
* "Alert me when Bitcoin hits 100,000"
* "Is this a good time to buy ETH?"
* "What's trending on crypto Twitter?"
Your bot processes voice commands exactly the same way it processes text. The only difference is you are speaking instead of typing.
## Tips for Better Voice Recognition
**Speak clearly.** You don't need to shout or slow down dramatically, just talk normally and clearly.
**Use full token names for clarity.** "Solana" instead of "SOL" helps avoid confusion, especially for tokens with similar-sounding tickers.
**Avoid background noise.** If you're in a loud place the transcription might not be accurate. Find a quieter spot or just type instead.
**Check the transcription.** Your bot shows what it heard before executing. If the transcription is wrong, just correct it in a follow-up message.
## Example Conversation
> **You:** *(voice message)* "Hey, what's the current price of Ethereum and is it a good time to buy?"
>
> **Bot:** "ETH is currently at \$3,245, up 2.1% in the last 24 hours. Looking at the 4H chart, it's in an uptrend with support at \$3,180 and resistance at \$3,400. RSI is at 58, so there's room for upside. If you're looking to enter, waiting for a pullback to \$3,180–\$3,200 could give you a better risk/reward."
Your bot understood the voice message and gave you both the price and the analysis you asked for.
# Create an Account
Source: https://docs-d0.donutbrowser.ai/getting-started/create-account
Getting started with D0 takes about 5 minutes. Here's what you'll do:
1. **Visit the D0 Dashboard**
2. **Sign in with Gmail** on the D0 Dashboard (first-time setup)
3. **Choose your preferred Subscription Plan**
4. **Connect Telegram** — one click, no manual bot setup
5. **Answer a quick risk questionnaire** (optional)
6. **Wait for provisioning** (about 1-2 minutes)
7. **Start using D0 in Telegram** — this is your daily interface
## Step 1: Visit the D0 Dashboard
Open [**d0.donutbrowser.ai**](https://d0.donutbrowser.ai/) and click **Claim Now** (or **Sign In** if you already have an account). After provisioning you'll land at [d0.donutbrowser.ai/dashboard](https://d0.donutbrowser.ai/dashboard).

## Step 2: Sign In with Gmail
Authenticate with your Gmail account. This web sign-in is only for first-time setup and provisioning.

## Step 3: Choose Your Subscription Plan
After signing in, you'll see the subscription page with the available plans. Pick the one that fits your needs:
* **D0** (\$69/mo) — the core agent: unlimited conversations, 200+ data tools, spot trading via Jupiter, Donut Perps up to 150×, Hyperliquid, unlimited price alerts, and the daily market brief.
* **D0 Pro** (\$199/mo) — everything in D0, plus DeFi yield management, prediction markets, advanced strategies, automation workflows, cross-chain transfers, and exportable reports.
Both include a 7-day trial: free if you pay by card, or 6.9 USDT (D0) / 12.9 USDT (D0 Pro) if you pay in crypto. Annual billing works out to two months free.
Select your plan and click **Continue**. You can upgrade or downgrade anytime from the Dashboard later. Full breakdown in [Subscription Plans](/reference/subscription).

## Step 4: Connect Telegram
Click **Connect Telegram** — this opens a Telegram authorization page. Tap **Authorize** to link your account. D0 automatically assigns a pre-configured bot to you. No BotFather, no API tokens to copy.

## Step 5: Risk Questionnaire (Optional)
Answer a few questions about your trading style and risk tolerance. This helps D0 tailor its responses to your preferences. You can skip any question or the entire questionnaire.
## Step 6: Wait for Provisioning
D0 will automatically boot your compute environment and connect your gateway. This takes 1-2 minutes. When it's done, you'll be redirected to the Dashboard.
## Step 7: Chat with Your D0 bot on Telegram
After setup is complete, Telegram becomes your primary way to use D0. Open your assigned bot and chat anytime to analyze markets, place trades, and manage positions.
**Connecting a Wallet**
You can connect a Solana wallet later from the Dashboard to enable trading, portfolio tracking, and DeFi features. It's not required during onboarding.
## What's Next?
Now that your bot is live, [deploy it and start using D0](/getting-started/deploy-bot).
# Deploy Your Bot
Source: https://docs-d0.donutbrowser.ai/getting-started/deploy-bot
What happens after you connect Telegram and finish the risk questionnaire, while D0 sets up your dedicated AI environment.
## Provisioning Process
Once you reach this step, you'll see a two-step progress indicator:
| Step | What's Happening | Time |
| ----------------------------- | ------------------------------------------------------- | ------------ |
| ① Booting compute environment | Allocating resources and launching your AI runtime | \~1 minute |
| ② Connecting to gateway | Linking your environment to Telegram via the D0 gateway | \~30 seconds |
**Total time: about 1-2 minutes.**
You can leave the page and come back — provisioning will continue in the background. When you return, you'll see the current progress.
## When Provisioning Finishes
Once your environment is ready, you'll see a confirmation screen and be automatically redirected to the Dashboard. From there you can:
* Click **Open Telegram** to start chatting with your bot
* Check your bot's status and settings
* Connect a wallet for trading features
## Start Chatting
Open Telegram and start a conversation with your bot. Try sending:
* `hi` or `/start` to begin
* "What's the price of BTC?"
* "Analyze SOL for me"
* "What's trending on crypto Twitter?"
Your bot is now live and ready to help.
## If Something Goes Wrong
Provisioning issues are rare, but if something doesn't work:
* **Stuck on a step for more than 3 minutes?** Click the **Retry** button. Most errors are temporary.
* **Error message?** The retry button will restart the process from the failed step.
* **Still not working?** See [Troubleshooting](/bot-management/troubleshooting) for more help.
## What's Next?
* [Explore what your bot can do](/introduction/core-features)
* [Learn about the Dashboard](/bot-management/dashboard)
* [Try real use cases](/use-cases/trading-assistant)
# Your Wallet
Source: https://docs-d0.donutbrowser.ai/getting-started/your-wallet
D0 wallets are non-custodial, powered by Turnkey. Your keys are yours, D0 never touches them, and withdrawals always take a manual confirmation.
When your bot goes live, a wallet is created for you automatically, covering Solana and the EVM chains (Ethereum, Polygon, Arbitrum, Optimism, Base, BSC, and Hyperliquid) at once. It is non-custodial and powered by Turnkey, which means the assets sit under your control, not D0's. You don't have to save a seed phrase.
## Your Keys Stay Yours
D0 never accesses, holds, or exports your private keys. The custody model is enforced by cryptography, so even in the worst case where the backend is compromised, your funds can't be moved out from under you.
## Signing In and Recovery
You log in with Google, an email code, X, or Telegram. Switching devices is simple: log in the same way and your wallet address and balances are exactly where you left them. Re-logging in is what re-authorizes signing, so access follows your login, not a device.
## Withdrawals
Sending funds to an external address is the most guarded action your bot takes. It asks you to re-check the chain, the token, the address, and the amount before anything leaves. This one always confirms, regardless of any other setting.
There is no seed phrase to export and no way to import an outside wallet. You can't bring in Phantom, MetaMask, or a hardware wallet, and you can't export a private key or mnemonic. Your control comes from being able to log back in to sign and to withdraw to any address at any time.
## Tips
* **Keep your login secure.** Access to your wallet follows your login method, so protect the Google, email, X, or Telegram account you signed in with.
* **Double-check withdrawal details.** On-chain transfers can't be reversed. Confirm the chain and address before you approve.
* **You can always exit.** Withdraw to an external address whenever you want. Nothing locks your funds in.
# Welcome to D0
Source: https://docs-d0.donutbrowser.ai/index
Start here to understand what D0 does, how setup works, and where to go next in the docs.
**D0 is your personal AI trading assistant that lives inside Telegram.**
Instead of switching between charts, dashboards, and exchanges, you chat with your D0 bot in one place: research, execution, risk checks, and portfolio updates in a single conversation.
## What Can D0 Do?
| Capability | What It Means for You |
| ---------------------------- | -------------------------------------------------------------------------------------------------------------- |
| **Market Analysis** | Ask about any token — get real-time price, volume, market cap, safety score, and technical analysis in seconds |
| **Chart Reading** | Send a chart screenshot and get AI-powered technical analysis with actionable insights |
| **Trading** | Swap tokens on Solana and EVM chains, create limit orders, and transfer funds — all through natural language |
| **Perpetual Futures** | Trade BTC, ETH, SOL perps with leverage — deposit, manage positions, set TP/SL, and track PnL |
| **DeFi** | Lend, borrow, and provide liquidity on Kamino, Meteora, Sanctum, Raydium, Pendle, and Drift |
| **Derivatives & Sentiment** | Track AHR999, funding, OI, long/short ratios, and social narratives in real time |
| **Price Alerts** | Set target prices and get notified on Telegram the moment they're hit |
| **Portfolio Tracking** | Monitor wallet balance, perps positions, and DeFi portfolio — just ask |
| **Prediction Markets** | Browse and trade on Polymarket, DFlow, and Kalshi — view odds, place bets, manage positions |
| **Automation & Backtesting** | Run scheduled checks and test strategies before risking capital |
For the full capability catalog, see [Feature Inventory](/reference/feature-inventory).
## How It Works
D0 is built on a simple idea: **your AI assistant should meet you where you already are** — and for most crypto traders, that's Telegram.
Here's the flow:
1. **Sign up** on the D0 dashboard with your Google account
2. **Connect Telegram** in one click — D0 assigns a pre-configured bot to you automatically
3. **Answer a quick risk questionnaire** to help D0 tailor its responses
4. **Your bot goes live** — a dedicated AI environment is provisioned automatically
5. **Start chatting** — ask anything about crypto, and your bot answers instantly
No installation. No browser extension. No complicated setup. Just open Telegram and start a conversation.
Your D0 bot runs as a dedicated container with its own workspace — it remembers your preferences, learns your trading style, and is available 24/7.
## What D0 Won't Do
* **No guaranteed returns** — outputs are analysis and execution assistance, not profit guarantees.
* **No undo on-chain** — confirmed transactions are irreversible after settlement.
* **No hidden auto-trading** — strategy automation must be explicitly enabled, with safety checks still enforced.
## Who Is D0 For?
* **Active crypto traders** who want to research, trade, and manage positions without opening multiple tools
* **Perps traders** who want a fast interface for leveraged futures trading with real-time position tracking
* **DeFi users** who want to lend, borrow, and provide liquidity through simple commands
* **Hyperliquid traders** who want cross-chain access to HL perps from Telegram
* **Prediction market enthusiasts** who want to analyze and trade events on Polymarket, DFlow, and Kalshi
* **Market analysts** who need derivatives data, social analytics, and on-chain metrics in one place
* **Anyone** who wants a personal AI assistant that understands crypto and is available 24/7 on Telegram
## Ready to Get Started?
Head over to **[d0.donutbrowser.ai](https://d0.donutbrowser.ai/)** to set up your D0 bot in under 5 minutes — or read the step-by-step [account setup guide](/getting-started/create-account) first.
Stay in the loop:
* Telegram channel: [t.me/DonutAIOfficial](https://t.me/DonutAIOfficial)
* X / Twitter: [@DonutAI](https://x.com/DonutAI)
# Core Features
Source: https://docs-d0.donutbrowser.ai/introduction/core-features
D0 packs a full crypto toolkit into a single Telegram chat. With over 200 tools across 14 domains, here's what your bot can do.
This page is a quick map. Use it to find the right feature guide, then go deep there.
For the full capability list, see [Feature Inventory](/reference/feature-inventory).
## Trading & Execution
* **[Trading](/features/trading)**: spot swaps, limit orders, and transfers with preview-then-confirm.
* **[Perpetual Futures](/features/perpetual-futures)**: leveraged long/short trading and position management.
* **[Automated Trading](/features/automated-trading)**: delegated execution within your explicit constraints.
* **[Risk Controls](/features/risk-controls)**: permission levels, confirmations, and risk alerts.
* **[Cross-Chain Swap](/features/cross-chain-swap)**: bridge routes and arrival handling across chains.
## Markets & Research
* **[Market Analysis](/features/market-analysis)**: token-level data, safety checks, and market context.
* **[Chart Reading](/features/chart-reading)**: screenshot-based technical analysis.
* **[DeFi](/features/defi)**: lending, borrowing, liquidity, and protocol actions.
* **[Prediction Markets](/features/prediction-markets)**: event markets and probability workflows.
* **[Thorp Strategy Engine](/features/thorp-strategy)**: signal-driven monitoring and proactive prompts.
## Tools & Workspace
* **[Price Alerts](/features/price-alerts)**: threshold alerts delivered in Telegram.
* **[Portfolio Tracking](/features/portfolio-tracking)**: unified wallet + perps + DeFi view.
* **[Custom Dashboards](/features/custom-dashboards)**: generated panels for your own watchlists.
* **[Voice Command](/features/voice-command)**: voice input for the same workflows.
* **[Trading Speed](/features/trading-speed)**: fast lane for routine actions, deeper mode for analysis.
## Next Steps
* If you're new: [Create an Account](/getting-started/create-account).
* If you want end-to-end examples: [Use Cases](/use-cases/trading-assistant).
# Behind a One-Sentence Order
Source: https://docs-d0.donutbrowser.ai/introduction/how-orders-work
When you say buy $100 of SOL, your bot runs a fixed six-step sequence. Every step is traceable, and nothing gets skipped.
This page breaks down the six-step execution pipeline behind a one-sentence order, including what gets validated before submission.
```mermaid theme={null}
%%{init: {'theme':'base','themeVariables':{'fontFamily':'Open Sans, system-ui, sans-serif','primaryColor':'#ece9fe','primaryBorderColor':'#7255e7','primaryTextColor':'#2c2444','lineColor':'#7255e7','edgeLabelBackground':'#ece9fe'}}}%%
flowchart TD
A["1. Understand what you mean"] --> B["2. Fetch live prices"]
B --> C["3. Work out price and size"]
C --> D["4. Show you the plan"]
D --> E["5. You confirm, then it trades"]
E --> F["6. Record to history"]
```
1. **Understand what you mean.** It translates your words into a concrete trade: what to buy, how much, and on which chain.
2. **Fetch live prices.** It pulls the current price and liquidity right now, never a remembered old price.
3. **Work out price and size.** It calculates the price you can actually fill at, how much it will cost, and the estimated fees.
4. **Show you the plan.** It lays out the action, amount, asset, direction, and estimated cost, then waits for you.
5. **Only trades once you confirm.** As soon as it fills, it tells you the result.
6. **Records it.** The trade goes into your history for later review and tax export.
If an order fails, your bot tells you why and gives you options. It never swaps in a different coin, flips the direction, or silently retries. Whether to change anything is your call.
## The One Step That's Always Right: the Preview
Step 4, the preview, is validated by the backend in real time: balance, quantity, minimum notional, price precision, address format, and more. It returns whether the order passes, the reason if it's rejected, and the estimated margin and fees.
That preview is the single source of truth for every number. The rates and thresholds in these docs are for reference; what you'll actually pay is whatever the preview shows.
# Why the Agent Decides What It Does
Source: https://docs-d0.donutbrowser.ai/introduction/how-the-agent-decides
D0 isn't a black box. For every trade it can tell you the basis for four key choices, how confident it is, and how to check it yourself.
This page explains the four decision checkpoints behind each trade and where to verify the evidence in your preview.
## 1. Why now?
* **Basis:** A direct instruction from you triggers immediately. When your bot reaches out on its own, it only pushes if at least two signals from different dimensions agree, liquidity is sufficient, and you're not in a cooldown. If any of those isn't met, it stays silent.
* **Confidence:** Two or more agreeing signals reads as high.
* **How you check:** A proactive push always includes the direction, entry, stop, target, and a confidence level.
## 2. Why this price?
* **Basis:** Only real-time quotes. Spot prices come from Jupiter or KyberSwap; perp prices come from the real fill price in the order preview. Never a remembered old price.
* **Confidence:** Straight from live quotes.
* **How you check:** The preview shows the fill price, the route, and the price impact, and all market data is timestamped.
## 3. Why this size?
* **Basis:** If you didn't specify an amount, it's computed from the venue's specs (minimum notional, minimum order size, size step). It never guesses size with small trial trades.
* **Confidence:** Rule-computed, no randomness.
* **How you check:** The preview shows the reason if an order is rejected (like below minimum notional) and the estimated margin.
## 4. Why this order type?
* **Basis:** Mapped straight from your intent. "Buy now" becomes a market order, "buy at a price" a limit order, "leverage long or short" a perp, "sell if it breaks" a stop.
* **Confidence:** A direct mapping from your intent.
* **How you check:** The order type is written into the plan you see before you confirm.
All of these show up in the pre-confirmation preview. That's what "D0 isn't a black box" really means: you don't have to trust it, you can check it.
# Why D0?
Source: https://docs-d0.donutbrowser.ai/introduction/why-d0
Crypto trading today is scattered across too many tools. On any given day, a typical trader might:
## The Problem
Most traders still stitch together separate tools for research, execution, and risk checks during a normal day:
* Check prices on CoinGecko or CoinMarketCap
* Open TradingView for chart analysis
* Switch to Birdeye or DexScreener for on-chain data
* Use Solscan to verify token safety
* Log into Jupiter to swap tokens
* Open a perps exchange to manage leveraged positions
* Navigate Kamino or Meteora for DeFi yields
* Check AHR999, funding rates, and OI on Coinglass
* Read X (Twitter) and Telegram groups for market sentiment
* Set alerts on yet another app
That's **10+ tools** just to manage a typical trading day. And most of these tools don't talk to each other.
## The D0 Approach
D0 brings all of this into a **single Telegram conversation**.
Instead of context-switching between tabs, you ask your bot directly:
* "What's the price of SOL right now?"
* "Swap 50 USDC to SOL."
* "Open a 10x long on BTC."
* "What are BTC funding rates and OI?"
* "Alert me when ETH drops below \$3,000."
Your D0 bot can fetch real-time data, execute trades, manage perps positions, interact with DeFi protocols, and track social and derivatives context through natural language.
## Key Advantages
### All-in-One Platform
Research, trade, manage DeFi, and track your portfolio — without switching apps. From market analysis to trade execution to yield farming, everything happens in one chat.
### Safe by Design
Every trade and DeFi operation uses a **two-step workflow**: your bot shows a preview first, and you confirm before anything executes. No accidental trades, no surprise transactions.
### Always Available
Your bot runs 24/7. Crypto markets don't sleep, and neither does your AI assistant. Whether it's 3 AM or during a sudden market crash, your bot is ready to help.
### Truly Personal
Each user gets their own dedicated bot. Your conversation history, preferences, alerts, and positions are private. No one else can access your bot or your data.
### No New App to Install
D0 works through Telegram — an app you probably already use. There's no new software to download, no browser extension to manage.
### Smart, Not Just Fast
D0 doesn't just fetch data — it interprets it. When you ask about a token, your bot combines data from multiple sources (price feeds, on-chain analytics, security audits, social sentiment, derivatives data) and gives you a clear, actionable summary.
For feature-by-feature details, see [Core Features](/introduction/core-features) and [Feature Inventory](/reference/feature-inventory).
## D0 vs. Traditional Tools
| | Traditional Tools | D0 |
| -------------------- | ---------------------------------------------------------- | --------------------------------------------- |
| **Access** | Open 10+ different websites/apps | One Telegram chat |
| **Trading** | Connect wallet → Navigate UI → Configure → Sign | "Swap 50 USDC to SOL" → "Yes" |
| **Perps** | Open exchange → Deposit → Configure leverage → Place order | "Open a 10x long on BTC" |
| **DeFi** | Navigate protocol → Connect wallet → Approve → Deposit | "Deposit 100 USDC to Kamino" → "Yes" |
| **Research** | CoinGecko + TradingView + Birdeye + Twitter | "Give me full research on SOL" |
| **Derivatives Data** | Coinglass + Deribit + Multiple dashboards | "Show me funding rates and OI" |
| **Alerts** | Set up per-tool, notifications scattered | "Alert me when SOL hits \$150" — same chat |
| **Portfolio** | Check wallet + exchange + DeFi separately | "What's my balance?" — everything in one view |
| **Learning Curve** | Different UI for each tool | Just type what you want |
## What's Next?
Ready to try it? [Create your account](/getting-started/create-account) and have your bot running in under 5 minutes.
# Agentic Trading Disclosures
Source: https://docs-d0.donutbrowser.ai/legal/agentic-trading-disclosures
Important disclosures about D0's agentic trading. Read these before you enable trading permissions or turn on automated trading.
Agentic trading is a beta product. When enabled, D0 can trade real capital from your connected wallet, including with leverage. Read these disclosures in full before you grant trading permissions or turn on [Automated Trading](/features/automated-trading).
## What Your Agent Trades
Once you grant permission, your agent can trade with the actual capital in your wallet. That includes spot markets (on Solana through Jupiter and on EVM chains through KyberSwap), perpetual futures (on Donut Perps and Hyperliquid, including HIP-3 and trade.xyz indices), and prediction markets on Polymarket.
These venues are operated by independent third parties. D0 does not control, vet, or endorse them, and their availability, rules, and fees can change without notice.
## Risk of Loss
Trading carries significant risk, including the rapid and total loss of your funds. Leveraged perpetual positions can be liquidated, and liquidation can happen quickly and with little warning. Automated strategies can perform poorly or behave unexpectedly under certain market conditions. This product is not appropriate for everyone. Only trade with capital you can afford to lose.
## Third-Party Markets and Venue Risk
The venues D0 routes to are run by independent operators who set their own market parameters, outside D0's control. Some markets are thinly traded and can have stale or manipulated prices. Your own orders may move the price, fill at a poor level, or fail to exit when you expect. Outages or changes at a venue can affect your ability to open, monitor, or close positions.
## The Agent Can Be Wrong
Your agent makes errors. It can misinterpret your instructions and act on incomplete, delayed, or outdated information. Anything it says or does is not investment advice. D0 does not accept responsibility for losses resulting from agent-driven decisions. You are responsible for the permissions you grant and the trades that result.
## On-Chain and Self-Custody
Your D0 wallet is non-custodial. D0 never holds or exports your private keys, which means you are responsible for the security of your login and the authorizations you grant. On-chain transactions are irreversible. Once a trade is executed and settled, no one, including D0, can reverse it or recover the funds. See [Your Wallet](/getting-started/your-wallet) for how custody works.
## Your Controls and Their Limits
You can pause or revoke trading authorization at any time. Revoking authorization stops new trades, but it does not close your open positions and it does not reverse trades that have already settled. If you want to be flat, close your positions yourself. See [Risk Controls](/features/risk-controls) for how permissions and confirmations work.
## Beta
Agentic trading is in beta. Features may change, degrade, or be withdrawn, and availability is not guaranteed.
# Accounts & Fund Isolation
Source: https://docs-d0.donutbrowser.ai/reference/accounts-and-funds
Your capital lives in separate accounts, one per venue. They're isolated from each other, so you move funds to whichever one you want to trade from.
Your funds aren't pooled in one balance. They sit in separate accounts, one for each place you can trade, and you move money between them as needed. The upside is that trouble in one venue doesn't spill into the others. The tradeoff is that you fund the account you want to trade from before you trade there.
## The Accounts
| Account | Holds | Used for |
| ----------------- | --------------------- | -------------------------------------------- |
| Main Wallet | Solana and EVM assets | Spot holdings and swaps |
| Donut Perps | USDT margin | Perps on Donut Perps |
| Hyperliquid | USDC on Arbitrum | Perps on Hyperliquid |
| HIP-3 (trade.xyz) | Its own margin | Indices, isolated from standard Hyperliquid |
| Polymarket | USDC | Prediction markets, separate deposit channel |
## How Isolation Works
Each account's balance is independent. A loss or liquidation in one does not touch the others, and margin in one venue can't be auto-borrowed by another. When you want to trade somewhere new, you transfer funds into that account first.
Before switching venues, move your margin over. If your Donut Perps account is funded but you ask to trade on Hyperliquid, you'll need USDC in the Hyperliquid account first.
## Tips
* **Fund the venue you're using.** Keep margin where you actually trade rather than spread thin across all five.
* **Isolation cuts both ways.** It contains losses to one account, but it also means idle balances elsewhere aren't doing anything for you.
* **Ask your bot to move funds.** Transfers between accounts go through the same preview-and-confirm flow as any other action.
# Claim Your Discord Community Gift
Source: https://docs-d0.donutbrowser.ai/reference/discord-gift-card
If you held a legacy role in the Donut Discord, you're entitled to free D0 Pro time. Connect Discord, scratch the card, and it activates on the spot.
Use this guide to check eligibility, connect the correct Discord account, and redeem your one-time Pro gift without losing the claim.
The gift is tied to the Discord account you connect, and each gift redeems once. There's no card and no payment involved.
## Step 1: Sign In to D0
Open [**d0.donutbrowser.ai**](https://d0.donutbrowser.ai/) and click **Continue with Google** to sign in or create your account. If you don't have an account yet, follow [Create an Account](/getting-started/create-account) first.
## Step 2: Connect Discord
After signing in you'll land on the **Welcome to D0** screen. Find the **Discord community gift** card at the bottom and click **Connect**.
Connecting is what makes the check possible: D0 reads your legacy role in the Donut server to work out how much free Pro time you get.
## Step 3: Authorize on Discord
Discord asks you to authorize **D0 Sub Bot 2.0**. Confirm you're signed in as the right account (use **Not you?** to switch), then click **Authorize**.
The app only reads your username, avatar, and banner. It cannot read your messages or send messages as you.
## Step 4: Reveal Your Gift
Back in D0 you'll see *"Thanks for being with us since day one."* Click **Scratch your gift**.
## Step 5: Scratch the Card
Your gift card shows the free duration you qualified for. Scratch the panel to reveal your one-time redemption code, then confirm to claim.
The duration on the card depends on your Discord role level, so what you see may differ from the example above.
## Step 6: Pro Activated
You'll get a confirmation that your D0 time is now active. Click **Enter D0** to go straight to your dashboard.
## After Claiming
The Discord community gift card on the welcome screen updates to **"This Discord gift has already been claimed."** Your dashboard is unlocked and your Pro time is running.
## Troubleshooting
The card only appears for accounts eligible for the community gift. If your Discord account doesn't hold a qualifying legacy role in the Donut server, there's nothing to claim.
On the Discord authorization screen, click **Not you?** to sign in with the account that holds your legacy role, then authorize again.
Each gift redeems once. If your Pro time isn't showing on the Dashboard after claiming, reach out in the [Donut Telegram](https://t.me/DonutAIOfficial).
## What's Next?
Your Pro time works the same as a paid plan. See [Subscription Plans](/reference/subscription) for what's included, and [Deploy Your Bot](/getting-started/deploy-bot) to start using D0 on Telegram.
# Frequently Asked Questions
Source: https://docs-d0.donutbrowser.ai/reference/faq
Common questions about D0: what it is, what it costs, how your funds and keys are handled, and what to do when something goes wrong.
## General
### What is D0?
D0 is a personal AI trading assistant that works through Telegram. You get your own dedicated bot that can analyze tokens, read charts, execute trades, manage perpetual futures, interact with DeFi protocols, and more, all through natural language conversation.
### Is D0 free to use?
No. There are two paid plans, D0 at \$69/mo and D0 Pro at \$199/mo, and both start with a 7-day trial. The trial is free if you pay by card, or 6.9 USDT (D0) / 12.9 USDT (D0 Pro) if you pay in crypto. See [Subscription Plans](/reference/subscription) for what each plan includes.
### Do I need to install anything?
No. D0 works through Telegram, which you probably already have. There's nothing to download or install beyond Telegram itself.
### What chains does D0 support?
D0 supports **Solana** as its primary chain for trading and DeFi operations, plus **Ethereum**, **BSC**, **Arbitrum**, **Base**, **Avalanche**, **Optimism**, **Polygon**, **zkSync** for market data and research. **Hyperliquid** is also supported for cross-chain USDC operations and native HL trading.
## Getting Started
### How long does it take to set up?
About 5 minutes from start to finish:
1. Sign in with Google (\~30 seconds)
2. Choose a plan (\~1 minute)
3. Connect Telegram with one click (\~30 seconds)
4. Answer optional risk questionnaire (\~1 minute)
5. Wait for provisioning (\~1-2 minutes)
### Do I need a Google account?
Yes, D0 uses Google login for authentication. You'll sign in with your Google account to access the Dashboard.
### How does the Telegram bot work?
D0 maintains a pool of pre-configured Telegram bots. When you click **Connect Telegram** during onboarding, D0 automatically assigns one to you and links it to your Telegram account. No BotFather, no API tokens. Just tap Authorize on Telegram.
### Can I use my own Telegram bot?
Yes, if you're on a Dedicated plan. Go to Dashboard → Settings → Bot and paste your bot's API token from BotFather. Your custom bot will run on your dedicated VM instead of the shared pool.
### Can multiple people use the same bot?
No. Each bot is linked to one user. Your bot only responds to messages from your linked Telegram account. This keeps your conversations and data private.
## Product Behavior
### How accurate is the chart analysis?
D0 uses advanced AI models to interpret chart patterns and technical indicators. While the analysis is generally reliable, it should be used as one input in your trading decisions, not as the sole basis for trades. Always do your own research.
### How fast is the price alert?
Price alerts are typically delivered within seconds of the target being hit. Since alerts come as regular Telegram messages, you'll get a push notification on your phone.
### Can the bot read any chart?
The bot works best with standard candlestick charts. It can read charts from any platform (TradingView, Binance, Bybit, etc.) as long as the screenshot is clear and shows the candles, timeframe, and any visible indicators.
### Where does the data come from?
D0 aggregates data from multiple trusted sources including Birdeye, CoinGecko, CoinMarketCap, Rugcheck, and others. The specific data sources are shown alongside each analysis so you can verify the information.
### Can D0 place trades without asking me?
By default, no. Trading actions follow preview-then-confirm unless you explicitly enable delegated behavior. See [Risk Controls](/features/risk-controls) and [Automated Trading](/features/automated-trading).
## Bot Management
### What happens when I hibernate my bot?
Your bot goes to sleep. It won't respond to messages on Telegram, but all your settings and data are safely saved. When you wake it up, everything is restored including any paused price alerts.
### How long does it take to wake up my bot?
Typically 1-2 minutes. You'll see a progress indicator on the Dashboard. You can also simply send a message to your bot on Telegram and it auto-resumes.
### Will my alerts work if the bot is hibernated?
No. Price alerts are paused when your bot is hibernated. They automatically resume when you wake the bot up. If a target price was hit while your bot was sleeping, you won't receive a retroactive alert.
### Can I change my bot's Telegram username later?
The bot's Telegram username is set by D0 and cannot be changed. However, you can update **your** linked Telegram username in the Dashboard settings if you change your Telegram handle.
## Privacy & Security
### Who can see my conversations?
Only you. Your conversations with your bot are private. D0 doesn't share your chat data with other users.
### Can D0 access my wallet funds?
D0 can only execute transactions you explicitly confirm. The two-step workflow ensures you always see a preview and approve before any transaction is submitted.
### Is my bot secure?
Yes. Your bot is linked to your D0 account and your Telegram username. Even if someone knows your bot's username, they can't interact with it. The bot only responds to your linked Telegram account.
## Troubleshooting
### Quick diagnosis
| Symptom | Most likely cause | What to do |
| ------------------------------ | ------------------------------------------------------ | --------------------------------------------------- |
| Bot does not reply in Telegram | Bot is hibernated or restarting | Send a message once, then check dashboard status |
| Bot is online but still silent | Session/runtime issue | Click **Restart** in Dashboard |
| Swap or order rejected | Balance, min size, or venue constraint | Recheck preview details and available balance |
| Alert didn't fire | Bot was hibernated at trigger time | Wake bot and recreate critical alerts |
| Limit order not filled | Market never touched target, or order expired/canceled | Check order status and TTL, then recreate if needed |
| Funds not received yet | Chain/bridge settlement delay | Wait for ETA window, then verify TX hash |
### My bot isn't responding. What should I do?
1. Check the Dashboard: is your bot online?
2. If it's hibernated, send it a message on Telegram and it will auto-resume
3. If it shows an error, click Restart
4. If it shows online but still not responding, click Restart
See [Troubleshooting](/bot-management/troubleshooting) for full recovery steps.
### I forgot which Google account I used to sign up
Try signing in with each of your Google accounts. D0 will only show a Dashboard if the account has a bot associated with it.
### Can I delete my bot and start over?
Contact support through the D0 Dashboard for account and bot deletion requests.
# Feature Inventory
Source: https://docs-d0.donutbrowser.ai/reference/feature-inventory
A reference of every capability D0 ships with. Use this page as a checklist when you're not sure what your bot can do.
## Overview
D0 is a Telegram-based crypto trading assistant. This page is the canonical feature list and the fastest way to check scope.
## Feature map
\| # | Feature | What it does | Guide |
\| --- | --- | --- |
\| 1 | Market Analysis | Token price, market profile, and safety context. | [Market Analysis](/features/market-analysis) |
\| 2 | Chart Reading | AI technical read from chart screenshots. | [Chart Reading](/features/chart-reading) |
\| 3 | Voice Commands | Voice input for research and execution workflows. | [Voice Command](/features/voice-command) |
\| 4 | Trading | Spot swaps, limit orders, and transfers with confirmation. | [Trading](/features/trading) |
\| 5 | Perpetual Futures | Leveraged long/short trading and position management. | [Perpetual Futures](/features/perpetual-futures) |
\| 6 | DeFi | Lending, borrowing, liquidity, and yield actions from chat. | [DeFi](/features/defi) |
\| 7 | Price Alerts | Telegram alerts when threshold prices are hit. | [Price Alerts](/features/price-alerts) |
\| 8 | Portfolio Tracking | Unified wallet + perps + DeFi portfolio view. | [Portfolio Tracking](/features/portfolio-tracking) |
\| 9 | Social Analytics | Trending tokens, narrative tracking, and sentiment context. | [Market Analysis](/features/market-analysis) |
\| 10 | Derivatives Data | Funding, OI, and macro indicators such as AHR999. | [Market Analysis](/features/market-analysis) |
\| 11 | Prediction Markets | Event-market browsing, analysis, and execution. | [Prediction Markets](/features/prediction-markets) |
\| 12 | AI Predictions | AI model forecasts for supported assets and windows. | [Prediction Markets](/features/prediction-markets) |
\| 13 | Web Search | Web retrieval and summary for market research. | [Market Analysis](/features/market-analysis) |
\| 14 | Sports Betting | Sports event odds and market exploration. | [Prediction Markets](/features/prediction-markets) |
\| 15 | Backtesting | Historical strategy tests and signal validation. | [Market Analysis](/features/market-analysis) |
\| 16 | Automated Trading | Delegated execution within predefined constraints. | [Automated Trading](/features/automated-trading) |
\| 17 | Risk Controls | Permission levels, safety checks, and alert thresholds. | [Risk Controls](/features/risk-controls) |
\| 18 | Cross-Chain Swap | Route-aware token movement across chains. | [Cross-Chain Swap](/features/cross-chain-swap) |
\| 19 | Custom Dashboards | Build live custom panels from natural-language requests. | [Custom Dashboards](/features/custom-dashboards) |
\| 20 | Trading Speed | Fast workflows for routine actions. | [Trading Speed](/features/trading-speed) |
\| 21 | Thorp Strategy Engine | Proactive signal generation and monitoring. | [Thorp Strategy Engine](/features/thorp-strategy) |
## Source & status
* **Source**: Notion workspace page `Features`, under `D0 User Guide`.
* **Scope**: 200+ tools across 14+ domains.
* **Last synced**: 2026-05-20
# Fees
Source: https://docs-d0.donutbrowser.ai/reference/fees
What you pay when your bot trades: spot, perps, prediction markets, and cross-chain swaps, plus gas and a few worked examples.
Every trade your bot runs shows an **Estimated fee** line in the preview before you confirm. This page breaks down what goes into that number.
These are per-trade and network fees. Your monthly **subscription** (D0 at \$69/mo or D0 Pro at \$199/mo) is billed separately and covered in [Subscription Plans](/reference/subscription).
## Fees at a Glance
| Venue | Taker | Maker | Notes |
| ------------------------------------------ | ------------------ | ------------------------- | ----------------------------------------------------------------- |
| Spot (Jupiter on Solana, KyberSwap on EVM) | No D0 platform fee | — | You pay the DEX routing fee (already in the quote) plus chain gas |
| Perps (Donut Perps) | 0.05% | Dynamic, shown in preview | Isolated margin; per-asset leverage up to 150x |
| Perps (Hyperliquid) | 0.045% | Lower, scales with volume | Real rate follows Hyperliquid's volume tiers |
| Indices (Trade.xyz) | \~0.045% | Same as Hyperliquid | Same tier as HL perps |
| Prediction markets (Polymarket) | 0% | — | No trading fee |
On Hyperliquid-type contracts, D0 may add a service fee of up to about 0.01% (1 bp) on top. Whether it applies, and how much, always shows in the order preview.
Whatever the individual line items are called, the **Estimated fee** in your order preview is the number that matters. That's what actually leaves your wallet on this trade.
Rates on this page were verified in July 2026 and can change. The app and your order preview always show the current numbers.
## Gas
Gas is a network cost, separate from any D0 fee, paid in each chain's native token: SOL on Solana, ETH on Ethereum and Arbitrum, BNB on BSC, POL on Polygon.
* **Solana**: a basic transaction runs around **0.000005 SOL**. The first time you hold a new token, there's a one-time rent of roughly **0.002 SOL** to open the token account. If you're low on SOL, your bot can swap out a little to cover gas, so a trade still goes through even from a zero SOL balance.
* **EVM and Polygon**: gas tracks network congestion, so the amount is quoted live in the preview.
* **Polymarket**: gas is covered by the platform, so you don't need to hold any.
On cross-chain swaps, D0 fronts the gas on the destination chain and deducts it from the amount you send, so you don't need to pre-fund the chain you're bridging into.
## Worked Examples
### Spot buy: \$100 of SOL
| Line item | Cost |
| ----------- | --------------------------------------------------------------------------------------------- |
| D0 fee | **\$0** (no fee on spot) |
| DEX routing | Already priced into the quote |
| Gas | \~0.000005 SOL, plus a one-time \~0.002 SOL rent if this is your first time holding the token |
| **You pay** | The quote, plus a small amount of SOL for gas |
### Perp: ETH 2x on \$500 margin (Hyperliquid)
| Line item | Cost |
| --------------------------- | ------------------------------------------------------- |
| Notional | \$500 × 2 = **\$1,000** |
| Taker fee to open | \$1,000 × 0.045% = **\$0.45** |
| D0 service fee (if enabled) | \~\$0.10, flagged in the preview when it applies |
| On-chain gas | None. Hyperliquid doesn't charge per-trade on-chain gas |
| Funding | Paid hourly while the position is open |
| **Cost to open** | \~**\$0.45 to \$0.55** |
### Cross-chain: USDC from Arbitrum to Solana
| Line item | Cost |
| ------------------------ | ------------------------------------------------------------ |
| Bridge fee (USDC route) | \~0.14%, and the rate improves on larger transfers |
| Destination gas (Solana) | Fronted by D0, deducted from the amount you send |
| Time | A few minutes. The preview shows an ETA |
| **You pay** | \~0.14% of the amount, plus a small amount of gas on arrival |
Funding on a perp is charged for as long as you hold the position, not just when you open it. Hold across enough hourly windows and it can outweigh the fee you paid to open.
## Tips for Keeping Costs Low
* **Check the preview every time.** The Estimated fee is the real number. If it looks off, don't confirm.
* **Bridge larger amounts at once.** The bridge fee is a percentage while gas is roughly fixed, so bigger transfers cost less per dollar.
* **Mind funding on perps.** The fee to open is tiny. On positions you hold for a while, funding is what adds up.
* **Keep some SOL on hand.** Solana fees are minimal, but a swap won't land without a little SOL for gas and rent.
# Security & Compliance
Source: https://docs-d0.donutbrowser.ai/reference/security-and-compliance
How D0 handles identity and records, and the risks you take on when you trade. No KYC to start, exportable records, and the honest limits of on-chain trading.
D0 is built to be low-friction to start and honest about what it can and can't protect you from. This page covers how identity and records work, and the risks that come with trading through any tool like this.
## Identity and Records
**No KYC to get started.** First-time setup uses Gmail sign-in on the D0 Dashboard, then you use your assigned Telegram bot as the primary interface. There is no mandatory identity verification to begin trading.
**Records are exportable.** You can export your trading records, including execution time, asset, direction, P\&L, and fees, for your own filing or your accountant. D0 does not provide tax advice, only the data.
**Regions and terms.** Rules for crypto trading differ by country and region. Check D0's Terms of Use and Privacy Policy on the official site for where the product is available before you use it.
## Risks to Understand
Trading through D0 carries the same risks as trading crypto anywhere, plus the limits of any AI-driven tool. Read these before you size up.
On-chain transactions can't be undone. Once a trade executes and settles on-chain, no one, including D0, can reverse it or recover the funds.
* **The AI can be wrong.** It works from data that can be incomplete or delayed, and it will sometimes make mistakes.
* **Crypto is volatile.** Prices and liquidity can move sharply against you.
* **Leverage cuts deep.** Leveraged positions can lose value fast, and liquidation can happen with little warning.
* **Third-party contract risk.** Trades route through external venues like DEXs, bridges, and exchanges. Bugs or exploits in their contracts are a real counterparty risk.
* **Infrastructure can fail.** Third-party services D0 depends on can have outages that affect trading.
* **Turning off the agent doesn't flatten you.** Disabling Automated Trading stops new trades but does not close positions it already opened. Close them yourself if you want out. See [Automated Trading](/features/automated-trading).
## Tips
* **Size for the bad case.** Assume a position can move against you fast and only risk what you can afford to lose.
* **Keep your own records.** Export your history periodically rather than only at tax time.
* **Confirm before you send.** The preview is your last checkpoint before an irreversible on-chain action.
# Subscription Plans
Source: https://docs-d0.donutbrowser.ai/reference/subscription
Two plans, D0 and D0 Pro, both with a 7-day trial. What each one includes, what it costs, and how card and crypto billing differ.
There are two plans. You pick one when you create your account (see [Create an Account](/getting-started/create-account)), and you can move between them from the Dashboard afterwards.
## Plans
| | **D0** | **D0 Pro** |
| ------- | ------------- | ------------- |
| Monthly | \$69/mo | \$199/mo |
| Annual | 2 months free | 2 months free |
| Trial | 7 days | 7 days |
**D0** covers the core agent:
* Unlimited D0 conversations
* 200+ data tools and indicators
* Spot trading via Jupiter
* Donut Perps up to 150×
* Hyperliquid integration
* Unlimited price alerts
* Daily 9 AM market brief
* Strategy backtesting
**D0 Pro** adds everything above, plus:
* DeFi yield management (Kamino, Meteora, Sanctum, Pendle)
* Prediction markets — Polymarket, DFlow, Allora
* Advanced strategies — grid, funding-rate arbitrage, rebalancing
* Automation workflows and custom scheduled tasks
* Cross-chain transfers (Solana + 7 EVMs)
* Interactive HTML / Excel / PDF reports
## Trials
Both plans run a 7-day trial, but what you pay upfront depends on how you pay:
| Payment method | Trial |
| -------------- | ---------------------------------------------- |
| Card | Free for 7 days |
| Crypto | 7 days for 6.9 USDT (D0) or 12.9 USDT (D0 Pro) |
Converting from a paid trial to a full subscription early credits back the unused portion — the confirmation dialog shows what you pay today and what gets credited.
## Discounts
* **Annual billing** works out to two months free.
* **Referrals and KOL partnerships.** There's a referral rebate and a KOL cooperation program. Exact amounts are shown in the app.
Prices here were verified against [getdonut.ai](https://getdonut.ai) in July 2026 and can change. The app always shows the current numbers.
Your subscription is separate from what you pay per trade. Trading and network costs are covered in [Fees](/reference/fees), where spot has no D0 platform fee and Polymarket has no trading fee.
# Building a Custom Panel
Source: https://docs-d0.donutbrowser.ai/use-cases/custom-panels
Describe the view you want in one sentence and your bot builds it — live data bound, saved to your Dashboard, no template to pick from.
## The Scenario
Every trading interface makes layout decisions for you. Some of them are wrong for how you trade, and the fix is usually a settings page with three preset options, none of which is what you wanted.
Your bot builds the panel instead. You describe the layout and what goes in it; the agent works out the spec, binds the data sources, and renders it into your Dashboard. It isn't picking from a template library — the panel is generated for the sentence you wrote.
## Try It
* [Turn my positions into a heatmap shaded by PnL, split by Wallet / DeFi / HL / Polymarket](https://t.me/donut_d0_agent_bot?text=Turn%20my%20positions%20into%20a%20heatmap%20shaded%20by%20PnL%2C%20split%20by%20Wallet%20/%20DeFi%20/%20HL%20/%20Polymarket)
* [Build a live monitor panel: BTC/ETH/SOL prices up top, my positions bottom-left, funding rates bottom-right](https://t.me/donut_d0_agent_bot?text=Build%20a%20live%20monitor%20panel%3A%20BTC/ETH/SOL%20prices%20up%20top%2C%20my%20positions%20bottom-left%2C%20funding%20rates%20bottom-right)
## What You Get Back
### A heatmap of your book
> **You:** Turn my current positions into a heatmap, shade by P\&L ratio — bigger gains greener, bigger losses redder — and split Wallet / DeFi / HL / Polymarket.
> **Bot:** Generating position heatmap...
> 🛠️ Parsed: heatmap / colored by PnL% / categories: Wallet Spot, DeFi, HL Perps, Polymarket
> 📊 Data: 12 active positions → live PnL fetch
> ✨ Render complete
> \[Open heatmap] — generated in your Dashboard, savable and shareable. Losing positions shaded red, winners green. Each tile is clickable to drill down into the full decision chain.
The bot echoes back how it parsed your sentence before it builds. If it read "shade by PnL%" as something else, you'll see that in the parse line rather than in the finished panel.
### A monitor panel with a layout you specified
> **You:** Build me a live monitor panel: top row shows BTC/ETH/SOL live price and 24h change, two columns below — left my positions, right funding rates. Put it on my Dashboard when done.
> **Bot:** Building custom monitor panel...
> 🛠️ Layout: top (ticker bar) / bottom-left (positions) / bottom-right (funding)
> 📊 Data bindings:
>
> * Prices: multi-exchange live (Binance/Bybit/OKX)
> * Positions: your cross-chain portfolio
> * Funding: HL + Binance perp funding rates
>
> ✨ Panel generated → Dashboard "My Panels" tab. Auto-refreshes every 30s, panel persisted.
Panels persist. Once it's in **My Panels**, it keeps refreshing on its own — you don't rebuild it tomorrow.
## When to Use
* **A view no product ships.** Cross-venue positions in one grid, funding next to your own exposure, whatever your setup actually needs.
* **During a volatile session.** Build a focused panel for the thing you're watching today, drop it after.
* **Reviewing allocation.** A heatmap makes concentration obvious in a way a position list doesn't.
* **Sharing a setup.** Panels are shareable — useful for showing someone your read rather than describing it.
## Tips
* **Describe layout in spatial terms.** "Top row", "bottom-left", "two columns" parse cleanly. "Nicely arranged" doesn't.
* **Name the data, not just the widget.** "Funding rates for HL and Binance" beats "funding" if you care which venues.
* **Iterate in place.** Follow up with `"add 24h volume to the ticker row"` instead of describing the whole panel again.
* **Check the parse line.** It's the cheapest place to catch a misread.
* **Drill into tiles.** In a heatmap, each tile opens the decision chain behind that position — how it was opened and why.
## Related
* [Custom Dashboards](/features/custom-dashboards) — what the panel builder supports
* [Dashboard](/bot-management/dashboard) — where panels live
* [Portfolio Tracking](/features/portfolio-tracking) — the position data panels bind to
* [Portfolio Monitor](/use-cases/portfolio-monitor) — the same information as a conversation instead of a panel
# DeFi Yield & Lending
Source: https://docs-d0.donutbrowser.ai/use-cases/defi-yield
Lend, borrow, provide liquidity, and track yields across Solana protocols, all through simple messages to your bot.
## The Scenario
You have idle USDC sitting in your wallet earning nothing. Or you want to borrow against your crypto holdings without selling them. Or you've been eyeing a liquidity pool but the DeFi interfaces look too complicated.
With D0, you can interact with Kamino, Meteora, Sanctum, Raydium, Pendle, and Drift through your Telegram chat. No browser tabs, no connecting wallets to sites, no confusing pool UIs.
Get started: [Deposit 500 USDC to Kamino](https://t.me/donut_d0_agent_bot?text=Deposit%20500%20USDC%20to%20Kamino), [Find Meteora pools for SOL](https://t.me/donut_d0_agent_bot?text=Find%20Meteora%20pools%20for%20SOL), or [What are the Sanctum LST rates?](https://t.me/donut_d0_agent_bot?text=What%20are%20the%20Sanctum%20LST%20rates%3F).
## Kamino: Lending & Borrowing
Kamino is the easiest entry point for DeFi. Deposit idle tokens to earn interest, or borrow against your deposits without selling.
### Deposit to Earn Yield
> **You:** "Deposit 500 USDC to Kamino"
> **Bot:** "Deposit preview:
> Amount: 500 USDC
> Protocol: Kamino Lending
> Current APY: 8.2%
> Estimated daily earnings: \~\$0.11
> Shall I proceed?"
> **You:** "Yes"
> **Bot:** "Deposit complete! TX: 3def...uvw. Your Kamino deposit: 500 USDC earning 8.2% APY."
Your USDC is now earning interest. You can withdraw anytime.
### Borrow Against Your Deposits
Once you have deposits on Kamino, you can borrow against them without selling your original position.
> **You:** "Borrow 100 USDC from Kamino"
> **Bot:** "Borrow preview:
> Amount: 100 USDC
> Protocol: Kamino Lending
> Borrow APR: 12.5%
> Health factor after borrow: 2.1 (Safe)
> Shall I proceed?"
> **You:** "Go ahead"
> **Bot:** "Borrow complete! TX: 7ghi...rst. You received 100 USDC. Health factor: 2.1."
Your **health factor** shows how safe your position is. Keep it above 2.0 to stay well away from liquidation. If your collateral value drops or your borrowed amount grows, your health factor goes down.
### Repay Your Loan
> **You:** "Repay 50 USDC to Kamino"
> **Bot:** "Repay preview:
> Amount: 50 USDC
> Remaining loan after repay: \~50 USDC
> Health factor after repay: 3.5 (Very Safe)
> Shall I proceed?"
> **You:** "Yes"
> **Bot:** "Repayment complete! TX: 9jkl...xyz. Remaining loan: 50 USDC. Health factor improved to 3.5."
Paying down your loan improves your health factor and reduces your interest costs.
### Check Your Kamino Portfolio
> **You:** "Show my Kamino portfolio"
> **Bot:** "Your Kamino positions:"
**Deposits:**
| Token | Amount | APY | Value |
| ----- | ------ | ---- | ----- |
| USDC | 500 | 8.2% | \$500 |
| SOL | 5.0 | 6.5% | \$711 |
**Borrows:**
| Token | Amount | APR | Owed |
| ----- | ------ | ----- | ------- |
| USDC | 50 | 12.5% | \$50.02 |
> Health Factor: 3.5 (Very Safe)
> Net APY: \~6.8%
You're earning 8.2% on your USDC deposit and paying 12.5% on your borrow. Your net APY factors in both sides of the position.
## Meteora: Liquidity Pools
Provide liquidity to trading pools and earn fees when people swap tokens.
### Find Pools
> **You:** "Find Meteora pools for SOL"
> **Bot:** "Top Meteora pools for SOL:"
**DLMM Pools:**
| Pool | TVL | 24h Fees | APR |
| -------- | ------- | -------- | --- |
| SOL/USDC | \$12.5M | \$45K | 32% |
| SOL/USDT | \$8.2M | \$28K | 28% |
**Dynamic AMM Pools:**
| Pool | TVL | 24h Fees | APR |
| -------- | ------ | -------- | --- |
| SOL/USDC | \$5.8M | \$12K | 18% |
DLMM pools have higher APR but require active management. Dynamic AMM pools are simpler and set-and-forget.
### Add Liquidity
> **You:** "Add liquidity to the SOL/USDC Meteora pool"
> **Bot:** "Add liquidity preview:
> Pool: SOL/USDC (Dynamic AMM)
> Your deposit: 1 SOL + 142 USDC
> Pool share: \~0.02%
> Estimated APR: 18%
> Slippage: 1%
> Shall I proceed?"
> **You:** "Yes"
> **Bot:** "Liquidity added! TX: 2mno...abc. You're now earning fees from the SOL/USDC pool."
You're now earning a share of all trading fees from people swapping between SOL and USDC.
### Check Your Positions
> **You:** "Show my Meteora positions"
> **Bot:** "Your Meteora positions:"
| Pool | Type | Deposited | Current Value | Fees Earned |
| -------- | ---- | --------- | ------------- | ----------- |
| SOL/USDC | DAMM | \$284 | \$290 | \$6.20 |
> Total LP Value: \$290
Your position grew from \$284 to \$290. Some of that is price movement, some is fees earned.
### Remove Liquidity
> **You:** "Remove 50% of my SOL/USDC Meteora position"
> **Bot:** "Remove liquidity preview:
> Pool: SOL/USDC (Dynamic AMM)
> Removing: 50% of position
> You'll receive: \~0.5 SOL + \~71 USDC
> Slippage: 1%
> Shall I proceed?"
> **You:** "Yes"
> **Bot:** "Liquidity removed! TX: 5pqr...def. You received 0.498 SOL and 70.85 USDC."
You pulled half your position out and got back both tokens plus your share of accumulated fees.
## Sanctum: Liquid Staking
Check rates for Solana liquid staking tokens. When you stake SOL natively, it's locked. Liquid staking gives you a token representing your staked SOL that you can still use in DeFi.
### Check LST Rates
> **You:** "What are the Sanctum LST rates?"
> **Bot:** "Sanctum LST Overview:"
| LST | Price (SOL) | APY |
| ------- | ----------- | ---- |
| mSOL | 1.082 | 7.2% |
| bSOL | 1.065 | 6.8% |
| jitoSOL | 1.074 | 7.5% |
| INF | 1.058 | 6.5% |
> Best yield: jitoSOL at 7.5% APY
If you're holding SOL long-term, converting it to jitoSOL lets you earn 7.5% staking rewards while keeping your tokens liquid for DeFi.
## Exploring Other Protocols
### Raydium Pools
> **You:** "Search Raydium pools for SOL"
> **Bot:** "Raydium Pools for SOL:"
| Pool | Type | TVL | APR |
| -------- | ---- | ----- | --- |
| SOL/USDC | CLMM | \$45M | 24% |
| SOL/USDT | CPMM | \$12M | 18% |
> Use pool IDs for detailed info.
Raydium is another major Solana DEX. Your bot can pull pool data and help you compare rates across protocols.
### Pendle Yield Markets
> **You:** "Show Pendle yield markets on Ethereum"
> **Bot:** "Pendle Markets (Ethereum):"
| Market | Underlying | Maturity | Fixed APY | Implied APY |
| ------------ | ---------- | -------- | --------- | ----------- |
| stETH Mar'26 | Lido stETH | Mar 2026 | 4.2% | 3.8% |
| sDAI Jun'26 | Maker sDAI | Jun 2026 | 5.1% | 4.9% |
> Pendle lets you lock in fixed yields or speculate on future rates.
Pendle tokenizes yield, letting you trade future yield separately from the underlying asset. It's advanced DeFi but your bot can show you what's available.
### Drift Protocol
> **You:** "Show Drift perpetual markets"
> **Bot:** "Drift Perp Markets:"
| Market | Price | Funding (1h) | OI |
| -------- | -------- | ------------ | ----- |
| SOL-PERP | \$142.35 | +0.0008% | \$25M |
| BTC-PERP | \$98,450 | +0.0012% | \$45M |
| ETH-PERP | \$3,850 | -0.0003% | \$18M |
Drift is a perpetual DEX with its own vaults. Your bot can pull market data and vault performance.
## Real-World DeFi Strategies
### Strategy 1: Idle USDC Yield
You have USDC sitting in your wallet doing nothing. Put it to work.
1. "Show my wallet balance" — See how much USDC is idle
2. "What's the Kamino USDC deposit APY?" — Check current rates
3. "Deposit 1000 USDC to Kamino" — Start earning yield
4. "Show my Kamino portfolio" — Verify the deposit is working
Now your USDC is earning yield instead of sitting idle.
### Strategy 2: Leveraged Yield
Deposit SOL as collateral, borrow USDC against it, and deploy the borrowed USDC to earn even more yield.
1. "Deposit 10 SOL to Kamino" — Use SOL as collateral
2. "Borrow 500 USDC from Kamino" — Borrow against your SOL (keep health factor above 2)
3. "Add liquidity to SOL/USDC on Meteora" — Earn LP fees with borrowed USDC
4. "Show my DeFi portfolio" — Monitor all positions together
You're now earning yield on your original SOL deposit, plus LP fees from the borrowed USDC. Just watch your health factor — if SOL price drops, you could get liquidated.
### Strategy 3: LP Farming
Provide liquidity to high-APR pools to earn trading fees.
1. "Find Meteora pools for SOL" — Compare DLMM vs Dynamic AMM pools
2. "Add liquidity to the SOL/USDC DLMM pool" — Higher APR, more active management
3. "Show my Meteora positions" — Track fees earned
4. "Remove liquidity when done" — Exit when you want
## Tips for DeFi
* **Start with Kamino lending.** It's the simplest way to earn yield with low risk. Deposit stablecoins, earn interest, withdraw anytime. No impermanent loss, no complicated pool mechanics.
* **Monitor health factors.** If you're borrowing on Kamino, check your health factor regularly. Keep it above 2.0 to stay safe from liquidation.
* **Compare APYs across protocols.** Rates change constantly based on supply and demand. Before you commit a large amount, check a few protocols to see where you're getting the best rate.
* **DLMM vs Dynamic AMM.** DLMM pools (concentrated liquidity) have higher APR because your liquidity is focused in a specific price range. But you need to watch them — if the price moves out of your range, you stop earning fees. Dynamic AMM pools are simpler and more hands-off.
* **Check Sanctum LSTs.** If you're holding SOL long-term, converting to a liquid staking token like jitoSOL lets you earn staking rewards while keeping your tokens liquid for DeFi.
* **Use the two-step workflow.** All DeFi operations show a preview first. You see exactly what you're depositing, borrowing, or providing as liquidity before anything executes. If the numbers don't look right, don't confirm.
* **Track your net APY.** If you're borrowing and lending at the same time, make sure your earnings exceed your borrowing costs. Earning 8% on deposits while paying 12% on borrows means you're losing 4% net unless you're doing something else with the borrowed funds that earns more than 12%.
# Distilling Videos and Threads
Source: https://docs-d0.donutbrowser.ai/use-cases/distill-research
Drop in a two-hour keynote or a KOL's latest call. Your bot pulls out the parts that affect a trade, then checks whether the market already moved on them.
## The Scenario
Most trade-relevant information arrives in formats that are hostile to traders: a 98-minute keynote, a 40-tweet thread, a podcast. Watching all of it is expensive. Skipping it means missing the one paragraph that matters.
And a summary alone isn't enough. Knowing what someone said doesn't tell you whether it's tradeable — that depends on whether the market has already priced it in. Your bot does both halves: extract the signal, then cross-check it against flows, order books, and equities.
## Try It
* [Pull the trade-relevant parts out of this keynote and check whether the market has already priced it in:](https://t.me/donut_d0_agent_bot?text=Pull%20the%20trade-relevant%20parts%20out%20of%20this%20keynote%20and%20check%20whether%20the%20market%20has%20already%20priced%20it%20in%3A) *(paste a link after it)*
* [What is this KOL calling, and how accurate have his past calls been?](https://t.me/donut_d0_agent_bot?text=What%20is%20this%20KOL%20calling%2C%20and%20how%20accurate%20have%20his%20past%20calls%20been%3F)
## What You Get Back
### A long video, reduced to what's tradeable
> **You:** 6/1 Jensen Huang COMPUTEX 2026 keynote livestream runs over an hour — pull out the trade-relevant parts (how this AI narrative hits crypto sectors), and check whether the market has already priced it in.
> **Bot:** 📹 "Jensen Huang COMPUTEX 2026 Keynote" — NVIDIA Keynote (98min)
> **Key announcements**
>
> * Unveiled next-gen AI acceleration architecture, big jump in inference compute
> * AI data-center capex + sovereign-AI demand keep expanding
> * Heavy focus on Physical AI / robotics and AI-agent deployment
>
> **Trade-relevant extraction**
>
> * AI narrative bullish → crypto AI sector (RENDER / TAO / FET etc.)
> * Also watch NVDA and AI-compute-chain equities
>
> **Market cross-check**
>
> * ✅ Crypto AI sector net inflows warming up over the last 7d, narrative not fully played out
> * ⚠️ NVDA firm after hours — part of the equities side may be priced in
> * ⚠️ On-chain AI tokens highly concentrated; chasing highs is risky
>
> **Conclusion:** AI narrative leans bullish medium-term; equities have partly reacted while the crypto AI sector lags — a catch-up candidate. Light position, avoid chasing.
The cross-check is the part that makes this useful. A summary would have stopped at "bullish AI narrative." The reply tells you where that's already in the price and where it isn't.
### A KOL call, with their track record attached
> **You:** This KOL is calling a trade again. Show me what he said this time, and whether his past calls were accurate.
> **Bot:** 🐦 @CryptoHayes (Arthur Hayes · \~731K followers)
> **This signal**
>
> * Asset: \$HYPE
> * Direction: Long
> * Catalyst: "Hyperliquid fee-buyback flywheel + HIP-3 perp expansion; \$HYPE's value capture is underpriced"
> * Timeframe: short-to-mid (1–3 weeks)
>
> **Hit-rate backtest (last 90 days)**
>
> * Similar calls: 11
> * Direction correct: 7/11 (63.6%)
> * Average return: +8.2%
> * Max loss: −22% (two high-beta alt calls drew down hard)
>
> **Assessment:** Above-average hit rate overall, but high-beta names (like \$HYPE) are volatile. Small position with a 10% stop.
> \[Set as monitor] \[Copy trade]
Note what the max-loss line does. A 63.6% hit rate sounds good until you see that the misses ran −22%. Both numbers get reported, because only one of them tells you how to size.
Hit rates, average returns, and backtest windows in these examples are sample output from a specific moment, shown to illustrate the format — not a performance claim, and not a prediction. A KOL's past accuracy says nothing certain about their next call.
## When to Use
* **A keynote or earnings call you can't sit through.** Get the tradeable minutes without the other 90.
* **A KOL you're unsure about.** Before you act on a call, see how the last ten went.
* **A thread that's already moving price.** Ask whether the move has run its course.
* **Cross-asset narratives.** When something in equities or macro spills into crypto sectors, this is the fastest way to find which tokens it touches.
## Tips
* **Paste the link and the question together.** `" — is this priced in?"` gets you further than the link alone.
* **Name the sector you care about.** "How does this hit AI tokens" gives a sharper answer than "summarize this."
* **Ask for the counter-argument.** Follow up with `"what would make this wrong?"` before you size a position on it.
* **Turn a call into a monitor.** If a signal looks worth watching but not worth taking, ask the bot to watch it — see [Scheduled Automations](/use-cases/scheduled-automation).
## Related
* [Market Analysis](/features/market-analysis) — the data the cross-check runs against
* [Market Research](/use-cases/market-research) — token-level research workflows
* [Thorp Strategy](/features/thorp-strategy) — how extracted sentiment feeds the signal engine
* [Acting on Thorp Signals](/use-cases/thorp-signals) — what happens when a signal clears the bar
# Market Research
Source: https://docs-d0.donutbrowser.ai/use-cases/market-research
Your bot gives you access to token research, derivatives data, social intelligence, on-chain activity, and AI predictions. All of it queryable from Telegram.
## The Scenario
You heard about a new token and want to do your due diligence before buying. Or you want to monitor market-wide indicators to time your trades better. Or you're curious what the crypto community is buzzing about right now.
D0 pulls research from multiple sources and presents it in one conversation so you can build a complete picture without opening five browser tabs.
Start digging: [What can you tell me about WIF?](https://t.me/donut_d0_agent_bot?text=What%20can%20you%20tell%20me%20about%20WIF%3F), [Show me the AHR999 index and rainbow chart](https://t.me/donut_d0_agent_bot?text=Show%20me%20the%20AHR999%20index%20and%20rainbow%20chart), or [What tokens are trending and what are the top narratives?](https://t.me/donut_d0_agent_bot?text=What%20tokens%20are%20trending%20and%20what%20are%20the%20top%20narratives%3F).
## Researching a New Token
Here's what a complete token research session looks like.
### Step 1: Get the Overview
> **You:** "What can you tell me about WIF?"
> **Bot:** "Here's what I found about dogwifhat (WIF):
> Price: \$2.84 (+12.5% in 24h)
> Market Cap: \$2.8B (#35)
> 24h Volume: \$1.1B
> Chain: Solana
> WIF is a meme token on Solana that has gained significant traction. It's one of the top meme coins by market cap."
You get the basics. Price, market cap, volume, what chain it's on, and what it is.
### Step 2: Check Safety
> **You:** "Is it safe?"
> **Bot:** "Security check for WIF:
> Safety Score: 88/100 (Low Risk)
> ✅ No mint authority — supply can't be inflated
> ✅ No freeze authority — tokens can't be frozen
> ✅ Liquidity locked
> ⚠️ Top 10 holders own 22% of supply (moderate concentration)
> Source: Rugcheck.xyz"
The contract looks clean. No mint authority means they can't print more tokens. No freeze authority means they can't freeze your tokens. Liquidity is locked so it can't be pulled. The only concern is holder concentration, but 22% isn't extreme.
### Step 3: Check Social Buzz
> **You:** "What's the social sentiment for WIF?"
> **Bot:** "Social analytics for WIF:
> Twitter mentions: 8,200 (up 250% in 24h)
> Telegram trending: #2 this week
> Top narrative: 'Solana Meme Season'
> General tone: Very bullish, but high social hype can precede corrections. Be cautious."
People are talking about it. A lot. 250% increase in mentions in one day means something is driving attention. But your bot also warns you that extreme hype can precede corrections. Good to know.
### Step 4: Analyze the Chart
> **You:** *(sends WIF/USDT chart)* "What does the chart say?"
> **Bot:** "WIF 4H chart analysis:
> Strong uptrend with 3 consecutive green candles on high volume
> RSI at 78 — entering overbought territory
> Price just hit the upper Bollinger Band
> Support levels: \$2.50 / \$2.20
> Summary: Strong momentum but possibly overextended in the short term. A pullback to \$2.50 could offer a better entry."
The chart confirms the momentum is real, but it's getting overbought. Buying now means chasing. Waiting for a pullback to \$2.50 might be smarter.
### Step 5: Get AI Prediction
> **You:** "What does AI predict for WIF?"
> **Bot:** "Allora AI Prediction (8h): WIF is predicted to reach \$2.92 (+2.8% from current). Confidence: Medium.
> Note: AI predictions are probabilistic estimates, not guarantees. Use alongside other analysis."
The AI models think it's going up slightly. Medium confidence means it's not a slam dunk, but there's some signal there.
### Step 6: Set Up Monitoring
> **You:** "Alert me if WIF drops to \$2.50"
> **Bot:** "Price alert set! I'll notify you when WIF goes below \$2.50."
Now you're monitoring it. If it pulls back to your target entry, you'll get pinged and can decide whether to enter.
That whole research process took about 5 minutes. You went from hearing about a token to having a complete picture of its fundamentals, technicals, social sentiment, and AI forecast.
## Derivatives & Market Intelligence
Your bot can pull market-wide data to help you understand broader conditions.
### Bitcoin Valuation Indicators
> **You:** "Show me the AHR999 index and rainbow chart"
> **Bot:** "AHR999 Index: 1.35
> Status: Accumulation zone. Current price is below the 200-day cost average.
> Rainbow Chart: BTC is currently in the 'Accumulate' band (\$90K–\$105K).
> Both indicators suggest this is historically a good area for DCA buying."
These are long-term valuation indicators. When both say "accumulate," it means BTC is historically cheap relative to its own history.
### Funding Rates & Open Interest
> **You:** "What are the BTC funding rates and open interest?"
> **Bot:** "BTC Funding Rate: 0.012% (slightly positive — longs paying shorts)
> Open Interest by Exchange:"
| Exchange | OI | 24h Change |
| -------- | ------ | ---------- |
| Binance | \$8.2B | +3.1% |
| OKX | \$4.5B | +1.8% |
| Bybit | \$3.8B | +2.5% |
> Rising OI with positive funding suggests bullish positioning, but watch for overleveraged long squeezes.
Funding is slightly positive, which means longs are paying shorts. Not extreme, but it shows more people are betting on the upside. Open interest is rising, which confirms people are adding leverage. This is bullish, but if it gets too extended, a squeeze could happen.
### Fear & Greed Index
> **You:** "What's the fear and greed index?"
> **Bot:** "Fear & Greed Index: 72 (Greed)
> Historical context:
> Yesterday: 68 (Greed)
> Last week: 55 (Neutral)
> Last month: 45 (Fear)
> The market is shifting into greed territory. Historically, extreme greed (>80) can precede corrections."
The market is getting greedy. Not extreme yet, but the trend is moving from fear to greed. This is useful context for timing entries and exits.
### Options & ETF Flow
> **You:** "Show me BTC options data and ETH ETF flow"
> **Bot:** "BTC Options (Deribit):
> Put/Call ratio: 0.65 (more calls = bullish sentiment)
> Max pain: \$96,000
> Largest open interest strike: \$100K calls
> ETH ETF Flow (this week):
> Total inflow: \$320M
> Largest single-day: \$180M (Tuesday)
> Trend: Institutional demand increasing"
Options traders are betting on upside (more calls than puts). The biggest bet is on BTC hitting \$100K. ETH ETF is seeing serious inflows, which means institutions are buying. All bullish signals.
## Social & On-Chain Intelligence
### Trending Tokens & Narratives
> **You:** "What tokens are trending and what are the top narratives?"
> **Bot:** "Trending Tokens (Twitter, 24h):
> SOL — 12,500 mentions (+180%)
> WIF — 8,200 mentions (+250%)
> JUP — 5,100 mentions (+120%)
> PYTH — 3,800 mentions (+95%)
> Top Narratives:
> 'Solana DeFi Renaissance' — +340% mentions
> 'AI x Crypto' — +180% mentions
> 'Meme Season' — +220% mentions"
Solana tokens are dominating the conversation. The narrative is Solana DeFi and memes. When narratives trend hard like this, the tokens associated with them often pump.
### On-Chain Activity
> **You:** "What's happening on-chain? Show me memecoin and DEX data"
> **Bot:** "Solana Memecoin Data:
> New tokens launched (24h): 2,450
> Top gainer: POPCAT (+32%)
> PumpFun volume: \$45M (24h)
> DEX Trading Data:
> Solana DEX volume (24h): \$4.2B
> Top DEX: Jupiter (\$2.8B)
> Most traded pair: SOL/USDC (\$890M)"
People are launching thousands of new memecoins every day on Solana. PumpFun is doing \$45M in volume. Jupiter is crushing it with \$2.8B in DEX volume. This confirms the on-chain activity backs up the social buzz.
### Binance Alpha
> **You:** "Show me Binance Alpha tokens"
> **Bot:** "Binance Alpha Token List:"
| Token | Price | 24h Change | Volume |
| ---------- | -------- | ---------- | ------- |
| ALPHA\_175 | \$0.0234 | +15.2% | \$12.5M |
| ALPHA\_180 | \$0.0156 | +8.7% | \$8.2M |
> Binance Alpha tokens are early-stage projects being monitored by Binance.
Binance Alpha is where Binance watches early projects before potential listing. If you're hunting for early opportunities, this is one place to look.
### Prediction Markets
> **You:** "What are the top prediction markets for crypto?"
> **Bot:** "Polymarket — Top Crypto Events:
> 'Will BTC hit \$100K by March?' — YES: 72%, Volume: \$15M
> 'ETH ETF approval by Q2?' — YES: 85%, Volume: \$8M
> 'Solana flip Ethereum in TVL?' — YES: 12%, Volume: \$3M
> DFlow — Active Markets:
> 'BTC above \$100K on Feb 28' — 68%
> 'SOL above \$200 by March 31' — 24%"
Prediction markets aggregate crowd wisdom. 72% think BTC hits \$100K by March. 85% think ETH ETF gets approved. These aren't guarantees, but they show what the market collectively believes.
## Research Checklist
When evaluating a new token, ask your bot these questions in order:
1. **"Tell me about \[TOKEN]"** — Get the basics (price, market cap, what it does)
2. **"Is \[TOKEN] safe?"** — Run a security check
3. **"What's the social sentiment for \[TOKEN]?"** — Check social buzz and trending status
4. **Send a chart** — Get technical analysis
5. **"What does AI predict for \[TOKEN]?"** — Get an Allora prediction
6. **"What's the latest news about \[TOKEN]?"** — Find recent developments
7. **Set an alert** — Monitor a good entry price
This gives you a comprehensive view of any token in about 5 minutes.
## Pro Tips for Research
* **Layer your analysis.** Combine fundamentals, technicals, social, and on-chain data for the full picture. One data point isn't enough. When they all align, the signal is stronger.
* **Use derivatives data for timing.** Funding rates and open interest help you understand market positioning. If funding is extremely positive and OI is at all-time highs, longs might be overextended and due for a squeeze.
* **Track narratives, not just tokens.** Trending narratives often drive the next wave of token performance. If "AI x Crypto" is trending, look for tokens in that category even if they're not trending themselves yet.
* **Monitor AHR999 regularly.** It's one of the best long-term Bitcoin valuation indicators. When it says accumulate, historically that's been a good time to DCA.
* **Cross-reference social with on-chain.** High social hype plus rising on-chain activity equals a stronger signal. Social hype alone can be noise. On-chain activity confirms real money is moving.
* **Check prediction markets.** They aggregate crowd wisdom and can highlight market expectations. If Polymarket shows 85% probability of an event, that's worth knowing even if you disagree.
# Morning Briefing
Source: https://docs-d0.donutbrowser.ai/use-cases/morning-briefing
Wake up, send one message, get a full picture of the market and your portfolio in 30 seconds. No tabs to open, no charts to load.
## The Scenario
You're an active trader who used to start every morning with:
* Open CoinGecko / Coinmarketcap → check BTC, ETH, top coins
* Open Twitter → scroll through 20 minutes of noise to figure out the narrative
* Open Phantom / wallet → tally up what you hold
* Open exchange app → check perps PnL
* Try to remember which positions need attention today
D0 collapses all of that into a single prompt. Your bot already knows your wallet, your perps account, your watchlist, and your risk profile.
## Try It
The fastest version is just [morning briefing pls](https://t.me/donut_d0_agent_bot?text=morning%20briefing%20pls). Or be more specific: [Quick briefing — market state, my positions, anything to flag?](https://t.me/donut_d0_agent_bot?text=Quick%20briefing%20%E2%80%94%20market%20state%2C%20my%20positions%2C%20anything%20to%20flag%3F) when you want a fuller picture, or [What changed since I last checked? Any positions in trouble?](https://t.me/donut_d0_agent_bot?text=What%20changed%20since%20I%20last%20checked%3F%20Any%20positions%20in%20trouble%3F) after stepping away.
## What You Get Back
A typical briefing reply in your Telegram chat:
> **Bot:** Good morning. Here's your snapshot.
> **Market:** Fear & Greed 30 (fear). BTC.D 56%. Late-bear regime continuing.
> **Your portfolio (\$103):**
>
> * SOL 0.42 (\$60) — flat
> * TRUMP — *unrealized -52% 🔻*
> * USDC 14 — stable reserve
>
> **Perps:** No open positions.
> **Suggested action:** Clean up TRUMP — it's been declining 3 days in a row with no recovery signal. Reallocate into stables until BTC.D rolls over.
> \[Show full plan] \[Skip]
The bot pulls together:
* **Fear & Greed Index** + **BTC dominance** for regime context
* **Your wallet balance** (Solana + EVM) and unrealized PnL on each position
* **Your perps account** equity and any open positions
* **Today's notable events** that affect your positions (token unlocks, macro releases, on-chain whale moves)
* **A concrete next action** — not just data, but a recommendation tied to your actual holdings
## When to Use
* **Every morning.** Make this your first message of the day.
* **Before a trading session.** Re-orient before placing trades.
* **After being away.** Coming back from a weekend / vacation? One prompt and you're caught up.
* **On a market shock.** F\&G dropped 20 points overnight? Ask for a briefing first to see if you need to act.
## Tips
* **Customize the prompt.** Add `(skip the news)` to drop event scanning, or `(focus on perps)` to weight the briefing toward leveraged positions.
* **Chain follow-ups.** After the briefing, ask `"detail the TRUMP exit plan"` and your bot will return a step-by-step rebalance.
* **Set a recurring reminder.** Ask the bot to `"remind me to run morning briefing at 8am every day"` and it will ping you.
## Related
* [Portfolio Tracking](/features/portfolio-tracking) — how the bot knows what you hold
* [Market Analysis](/features/market-analysis) — deeper token-level analysis after the briefing
* [Price Alerts](/features/price-alerts) — set the watchlist that briefings reference
# Perpetual Futures Trading
Source: https://docs-d0.donutbrowser.ai/use-cases/perps-trading
Open longs and shorts, manage margin, and set limit orders. The entire perps workflow happens in chat, without opening an exchange interface.
## The Scenario
You want to trade crypto with leverage. Maybe you're bullish on BTC and want to go 10x long, or you see a bearish setup forming on ETH and want to short it with 5x. Normally that means logging into an exchange, navigating complex margin settings, switching between position tabs and order entry screens, watching your margin balance to avoid liquidation.
With D0, the whole thing happens through simple messages. Fund your account, place orders, check positions, close trades — all in one conversation.
Jump in: [Show me the BTCUSDT perps contract info](https://t.me/donut_d0_agent_bot?text=Show%20me%20the%20BTCUSDT%20perps%20contract%20info), [What's my perps balance?](https://t.me/donut_d0_agent_bot?text=What%27s%20my%20perps%20balance%3F), or [Open a 10x long on BTC with 0.01 BTC](https://t.me/donut_d0_agent_bot?text=Open%20a%2010x%20long%20on%20BTC%20with%200.01%20BTC).
## Complete Perps Workflow
Here's what it looks like from start to finish.
### Step 1: Check the Contract Specs
Before you trade, check the minimum size and max leverage for the pair you want.
> **You:** "Show me the BTCUSDT perps contract info"
> **Bot:** "BTCUSDT Contract Info:
> Min quantity: 0.001 BTC
> Max leverage: 50x
> Tick size: 0.1 USDT
> Maker fee: 0.02%
> Taker fee: 0.06%"
Now you know you can trade as small as 0.001 BTC and use up to 50x leverage if you want (though you probably shouldn't max that out).
### Step 2: Check Your Perps Balance
> **You:** "What's my perps balance?"
> **Bot:** "Perps Account:
> Equity: \$5,200
> Available balance: \$3,800
> Margin used: \$1,400
> Unrealized PnL: +\$121.00"
You've got \$3,800 available to use. The rest is locked up as margin on your current positions.
### Step 3: Fund Your Account (if needed)
If your perps account is empty or you want to add more capital, you need to deposit from your wallet and transfer it into your trading sub-account.
> **You:** "Deposit 1000 USDT to my perps account"
> **Bot:** "Deposit complete! 1,000 USDT deposited to your main perps account."
> **You:** "Transfer 1000 to my trading sub-account"
> **Bot:** "Transfer complete! 1,000 USDT moved from main account to trading sub-account. Your sub-account balance is now \$1,000."
The fund flow goes: Wallet → Main Account → Sub-Account → Trading. Your sub-account gets created automatically the first time you place an order, so you don't need to set it up manually.
### Step 4: Place a Trade
#### Market Order (instant execution)
Market orders execute immediately at the current price.
> **You:** "Open a 10x long on BTC with 0.01 BTC"
> **Bot:** "Order placed!
> Symbol: BTCUSDT
> Side: BUY (Long)
> Type: MARKET
> Quantity: 0.01 BTC
> Leverage: 10x
> Entry price: \$98,450
> Position value: \$984.50
> Margin required: \$98.45"
You're now long 0.01 BTC with 10x leverage. Your position is worth \$984.50, but you only put up \$98.45 as margin. The rest is borrowed.
#### Limit Order (execute at target price)
Limit orders wait for your target price to hit before executing.
> **You:** "Place a limit buy for 0.01 BTC at \$96,000 with 10x leverage"
> **Bot:** "Limit order placed!
> Symbol: BTCUSDT
> Side: BUY
> Type: LIMIT
> Price: \$96,000
> Quantity: 0.01 BTC
> Leverage: 10x
> Order will fill when BTC reaches \$96,000."
Your order sits there until BTC drops to \$96,000. When it hits, your bot executes the trade for you.
### Step 5: Monitor Your Positions
> **You:** "Show my positions"
> **Bot:** "Your open positions:"
| Symbol | Side | Size | Entry | Mark | PnL | Lev |
| ------- | ---- | ---- | -------- | -------- | -------- | --- |
| BTCUSDT | LONG | 0.01 | \$98,450 | \$99,100 | +\$6.50 | 10x |
| SOLUSDT | LONG | 10 | \$138.50 | \$142.35 | +\$38.50 | 5x |
> Total Unrealized PnL: +\$45.00
You're up on both positions. BTC moved from \$98,450 to \$99,100, netting you \$6.50 with 10x leverage. SOL moved from \$138.50 to \$142.35, giving you \$38.50 with 5x leverage.
### Step 6: Check Your Open Orders
> **You:** "Show my open orders"
> **Bot:** "Your open orders:"
| Symbol | Side | Type | Price | Qty | Status |
| ------- | ---- | ----- | -------- | ---- | ------ |
| BTCUSDT | BUY | LIMIT | \$96,000 | 0.01 | Open |
> You have 1 open order.
Your limit buy at \$96,000 is still waiting. It hasn't filled yet because BTC hasn't dropped to that level.
### Step 7: Close a Position
When you're ready to exit, tell your bot to close the position. It uses a reduce-only order so you don't accidentally flip to the opposite side.
> **You:** "Close my BTC long position"
> **Bot:** "Closing position: SELL MARKET 0.01 BTCUSDT (reduce-only)
> Exit price: \$99,100
> Realized PnL: +\$6.50
> Position closed!"
You locked in the profit. Your realized PnL is now +\$6.50.
### Step 8: Withdraw Your Profits
To get funds back to your wallet, transfer from sub-account to main account, then withdraw.
> **You:** "Transfer out 500 from sub-account and withdraw"
> **Bot:** "Transfer complete: 500 USDT moved from sub-account to main account."
> **You:** "Withdraw 500 from perps"
> **Bot:** "Withdrawal complete: 500 USDT returned to your wallet."
The \$500 is back in your wallet now.
## Common Trading Scenarios
### Scenario 1: Bullish Momentum Trade
You see BTC breaking out and want to ride the move.
1. "Show me BTC funding rates and open interest" — Check if the market is already overleveraged
2. "What's the BTC technical analysis?" — Confirm the breakout is supported by indicators
3. "Open a 5x long on BTC with 0.005 BTC" — Enter with moderate leverage
4. "Alert me when BTC hits \$100,000" — Set take-profit alert
5. "Show my positions" — Monitor throughout the day
### Scenario 2: Hedging a Spot Position
You hold SOL in your wallet and you're worried about downside. You don't want to sell your spot, but you want protection.
1. "What's my wallet balance?" — See how much SOL you hold
2. "Open a 2x short on SOL with 10 SOL" — Hedge your spot exposure
3. "Show my perps positions" — Verify the hedge is active
4. "Close my SOL short" — Remove hedge when you're confident again
### Scenario 3: Range Trading
BTC is bouncing between support and resistance in a clear range. You can trade both sides.
1. Send a chart screenshot — Identify the range (\$96K–\$99K)
2. "Place a limit buy for 0.01 BTC at \$96,200 with 5x leverage" — Buy at support
3. "Place a limit sell for 0.01 BTC at \$98,800 with 5x leverage" — Sell at resistance
4. "Show my open orders" — Monitor both orders
## Key Concepts
### Fund Flow
```
Wallet → deposit → Main Account → transfer in → Sub-Account → Trade
```
To withdraw, reverse it:
```
Sub-Account → transfer out → Main Account → withdraw → Wallet
```
### Symbol Format
Always use `BTCUSDT`, `ETHUSDT`, `SOLUSDT` (base token + USDT). If you just say "BTC", your bot will ask you to clarify.
### Two-Step Funding
**Deposit** moves funds from your wallet to the main account. **Transfer** moves funds from main account to your trading sub-account. You need both steps to actually trade.
### Reduce-Only Orders
When you close a position, your bot uses reduce-only orders so you don't accidentally flip to the opposite side. If you're long and you close, it won't open a short by mistake.
## Tips for Trading Perps
* **Always check contract specs first.** Know the minimum quantity and max leverage before placing orders.
* **Start with lower leverage.** 5x or less while you're learning. High leverage magnifies both gains and losses.
* **Monitor your margin usage.** If your available balance gets too low, you risk liquidation.
* **Use limit orders for better entries.** Market orders fill instantly but you get whatever price is available. Limit orders let you wait for your ideal entry.
* **Check funding rates.** Positive funding means longs pay shorts every 8 hours. Factor this into your hold time.
* **Set alerts at key levels.** Combine price alerts with your perps strategy for better timing.
# Trading Polymarket Events
Source: https://docs-d0.donutbrowser.ai/use-cases/polymarket-events
Scan prediction markets for mispricing against other sources, build multi-leg baskets around an event, and see the tail risk before you commit.
## The Scenario
Prediction market prices are probabilities. That makes them comparable to other probability sources — CME FedWatch for rate decisions, options-implied odds, polling aggregates. When two sources disagree, that gap is the trade.
Finding the gap by hand means checking a lot of markets that turn out to be efficiently priced. Your bot scans, compares, and reports the ones worth your attention — including, often, the answer that there's nothing here.
## Try It
* [Any mispricing opportunities on Polymarket? I mostly care about macro events](https://t.me/donut_d0_agent_bot?text=Any%20mispricing%20opportunities%20on%20Polymarket%3F%20I%20mostly%20care%20about%20macro%20events)
* [Build me a balance-of-power basket for the 2026 midterms on Polymarket](https://t.me/donut_d0_agent_bot?text=Build%20me%20a%20balance-of-power%20basket%20for%20the%202026%20midterms%20on%20Polymarket)
## What You Get Back
### A scan that tells you to skip
> **You:** Any mispricing opportunities on Polymarket? I mostly care about macro-related ones.
> **Bot:** 🔍 Scanning Polymarket macro events for mispricing...
> 🎯 This round's focus: **Fed Decision in June 2026**
>
> * Polymarket "No change in June": 99.5¢ (implied 99.5%)
> * "Cut 25bp" 0.25¢ · "Cut 50bp+" 0.15¢
> * CME FedWatch: also \~99% hold
> * **Gap: \< 1 percentage point**
>
> 24h volume: \$4.4M, ample liquidity
> **Conclusion:** fully priced, tightly aligned with CME — no arbitrage room. Skip, keep scanning other events.
> \[Keep scanning] \[View other gaps]
This is the most common honest outcome, and the bot reports it rather than manufacturing an edge. A scanner that always finds something isn't a scanner.
### A basket, with the uncovered tail spelled out
> **You:** The 2026 midterms are coming up. I want to build a balance-of-power basket on Polymarket — help me allocate.
> **Bot:** 🗳️ **Balance of Power: 2026 Midterms**
> Live pricing (Polymarket)
>
> * Dems Senate+House (sweep): 43.5¢
> * GOP Senate / Dem House (split): 34.5¢
> * GOP Senate+House (sweep): 17.5¢
> * Dem Senate / GOP House: 1.95¢
>
> **Suggested basket** — covers the two most likely scenarios (\~78%)
>
> * Buy "Dem sweep" \$300 @ 43.5¢ → redeems \~\$690 if hit
> * Buy "Split: GOP Senate + Dem House" \$300 @ 34.5¢ → redeems \~\$870 if hit
> * Total in \$600; the two scenarios are mutually exclusive — hit either and you profit
> * ⚠️ Tail (GOP sweep 17.5% / other \~2%) uncovered → that scenario loses the full \$600
>
> Captures \~78% of probability mass, but not risk-free — \~20% tail still means a full loss.
> \[View market] \[Adjust allocation]
The tail line is the important one. "Covers 78% of outcomes" reads like a high-probability trade; "the other 20% loses everything you put in" is the same fact stated so you can actually price it.
Prices, implied probabilities, and payout figures in these examples are a snapshot from one moment and move constantly. Covering most of the probability mass is not the same as a low-risk position — an uncovered tail is a total loss on the amount staked.
## When to Use
* **Before a scheduled macro event.** Fed decisions, CPI prints, elections — anywhere a second probability source exists to compare against.
* **Hedging a directional book.** An event basket can offset exposure that crypto positions can't.
* **When you have a view but no clean instrument.** Prediction markets price things perps don't.
* **Checking your own conviction.** If you think an outcome is 70% and the market says 43%, one of you is wrong. Worth knowing which.
## Tips
* **Name your comparison source.** "Compare against CME FedWatch" or "against the polling average" makes the gap check explicit.
* **Ask for liquidity.** A wide gap in a market doing \$20K a day isn't tradeable. The bot reports 24h volume — read it.
* **Always ask what's uncovered.** If a basket suggestion doesn't state the tail, ask `"what scenario loses everything?"`
* **Watch fees.** Polymarket trades carry no D0 platform fee — see [Fees](/reference/fees).
* **Redeem after resolution.** Winning positions need redeeming; ask the bot to check for resolved markets you haven't claimed.
## Related
* [Prediction Markets](/features/prediction-markets) — supported markets, order types, and redemption
* [Fees](/reference/fees) — what a Polymarket trade actually costs
* [Market Research](/use-cases/market-research) — background research before taking an event view
* [Portfolio Monitor](/use-cases/portfolio-monitor) — event positions alongside the rest of your book
# Portfolio Monitor
Source: https://docs-d0.donutbrowser.ai/use-cases/portfolio-monitor
Your bot tracks everything you hold across wallet, perps, and DeFi. One question in Telegram gives you the complete picture.
## The Scenario
You hold tokens in your Solana wallet, have open positions on Donut Perps, and deposited assets in DeFi protocols. Normally that means checking three different apps to see where you stand. With D0, ask once and get everything in one response.
Quick checks: [What's my balance?](https://t.me/donut_d0_agent_bot?text=What%27s%20my%20balance%3F), [Show my perps positions](https://t.me/donut_d0_agent_bot?text=Show%20my%20perps%20positions), or [Show my DeFi positions](https://t.me/donut_d0_agent_bot?text=Show%20my%20DeFi%20positions).
## Complete Balance Overview
> **You:** "What's my balance?"
> **Bot:** "Here's your complete overview:
> **Wallet:** \$14,280"
| Token | Amount | Value | 24h Change |
| ----- | ------- | ------- | ---------- |
| SOL | 42.5 | \$6,035 | +4.8% |
| USDC | 3,500 | \$3,500 | — |
| JUP | 2,100 | \$2,604 | +6.2% |
| BONK | 150,000 | \$1,245 | -1.3% |
| RAY | 180 | \$896 | +2.1% |
> **Perps Account:**
> Equity: \$5,200
> Available Balance: \$3,800
> Margin Used: \$1,400
> **Total:** \$19,480
One command shows your wallet breakdown with 24-hour price changes, plus your perps account balance and margin usage. You see everything you need to know in one message.
## Check Perps Positions
> **You:** "Show my perps positions"
> **Bot:** "Your open positions:"
| Symbol | Side | Size | Entry | Mark Price | PnL | Leverage |
| ------- | ---- | ---- | -------- | ---------- | -------- | -------- |
| BTCUSDT | LONG | 0.05 | \$96,800 | \$98,450 | +\$82.50 | 10x |
| SOLUSDT | LONG | 10 | \$138.50 | \$142.35 | +\$38.50 | 5x |
> Total Unrealized PnL: +\$121.00
You're up on both positions. BTC moved from your \$96,800 entry to \$98,450, netting you \$82.50 with 10x leverage. SOL is up from \$138.50 to \$142.35, giving you \$38.50 with 5x.
## DeFi Portfolio
> **You:** "Show my DeFi positions"
> **Bot:** "Your DeFi portfolio:
> **Kamino Lending:**
> Deposited: 1,000 USDC (earning 8.2% APY)
> Borrowed: 200 USDC (paying 12.5% APR)
> Health Factor: 2.8 (Safe)
> **Meteora LP:**
> SOL/USDC Pool: \$2,400 total value
> Fees earned: \$45.20 (24h)
> **Total DeFi Value:** \$3,245"
Your Kamino position is healthy with a 2.8 health factor. Your Meteora LP is earning fees. Everything in one view.
## Deep Dive on a Holding
Want more detail on a specific token? Ask your bot about it.
> **You:** "Tell me more about my JUP position"
> **Bot:** "Your JUP position:
> Holding: 2,100 JUP
> Current value: \$2,604 (18.2% of wallet)
> Current price: \$1.24 (+6.2% today, +15% this week)
> JUP market overview:
> Market cap: \$1.67B (#42)
> 24h volume: \$285M
> Safety score: 92/100
> Jupiter recently announced a governance proposal for fee sharing."
Your bot shows you what you hold, what it's worth, how much of your portfolio it represents, and what's happening in the market for that token.
## Track Changes Over Time
> **You:** "How has my portfolio done this week?"
> **Bot:** "This week's performance:
> Wallet: \$14,280 (up from \~\$13,200 on Monday, +8.2%)
> Perps: +\$121 unrealized PnL
> Best performer: JUP (+15%)
> Worst performer: BONK (-4.2%)
> SOL: +12% (your largest position drove most of the gains)"
You can see what's working and what's not. Your largest position (SOL) is up 12%, which drove most of your portfolio gains this week.
## Real-World Workflows
### Morning check-in
Every morning, ask **"What's my balance?"** to get a complete snapshot of wallet, perps, and DeFi in one response. You know where you stand before the trading day starts.
### Before making a trade
Before buying or selling, check your allocation with **"Show my portfolio"** to decide if you need to rebalance. If you're already 40% in SOL and considering buying more, maybe that's too concentrated.
### After a market move
When you see crypto news break, ask **"Check my balance"** to see how all your positions were affected. Did that Fed announcement help or hurt your portfolio? You'll know immediately.
### Monitor perps risk
If the market is volatile, ask **"Show my perps positions"** to check your leverage, margin usage, and unrealized PnL. You want to make sure you're not getting close to liquidation.
### Track DeFi health
Periodically check **"Show my DeFi positions"** to monitor lending health factors and LP performance. If your Kamino health factor is dropping, you need to know before it becomes a problem.
### End-of-day review
Before bed, a quick **"Portfolio update"** gives you peace of mind or an early warning if something needs attention. You're not lying there wondering if your positions are okay.
## Tips for Portfolio Monitoring
* **Use the combined balance command.** One question gives you wallet, perps, and DeFi all at once. You see the full picture instead of checking each account separately.
* **Monitor your perps margin.** Keep an eye on equity and available balance to avoid liquidation. If your available balance is getting low relative to margin used, you're at risk.
* **Check DeFi health factors.** Make sure your Kamino lending positions stay healthy. Keep your health factor above 2.0 to stay away from liquidation risk.
* **Combine with alerts.** After checking your portfolio, set price alerts for tokens you're watching. If SOL is a big part of your portfolio and support is at \$130, set an alert there.
* **Ask about specific tokens.** "How is my SOL doing?" gives you more detail than a general portfolio check. You get your position size, current value, portfolio percentage, and market context.
* **Stay informed.** After seeing a token's price change, ask your bot to analyze why it moved. Understanding the reason helps you decide whether to hold, add more, or exit.
# Setting Up Price Alerts
Source: https://docs-d0.donutbrowser.ai/use-cases/price-alert-setup
This guide walks through practical examples of how to use D0's price alert feature to stay on top of the market.
## The Scenario
You want to be notified when certain price conditions are met — without staring at charts all day. Maybe you're waiting for a dip to buy, or you want to know when a token hits your take-profit level.
Set one now: [Let me know when SOL drops below \$130](https://t.me/donut_d0_agent_bot?text=Let%20me%20know%20when%20SOL%20drops%20below%20%24130), [Alert me when BTC breaks \$100,200](https://t.me/donut_d0_agent_bot?text=Alert%20me%20when%20BTC%20breaks%20%24100%2C200), or [What alerts do I have?](https://t.me/donut_d0_agent_bot?text=What%20alerts%20do%20I%20have%3F).
## Example 1: Buying the Dip
You've done your research on SOL and decided you want to buy, but only if it drops to your target entry price.
> **You:** "Let me know when SOL drops below \$130"
> **Bot:** "Price alert set! I'll notify you when SOL goes below \$130. Current price: \$142.35."
> *(The next day)*
> **Bot:** "🔔 Price Alert: SOL just dropped below \$130.00. Current price: \$128.90."
> **You:** "Quick — what does the chart look like?"
> **Bot:** *(analyzes current chart)* "SOL hit the \$128 support level. RSI at 35 — getting oversold. This matches your target entry zone."
## Example 2: Taking Profit
You're in a profitable JUP trade and want to know when it hits your target.
> **You:** "Alert me when JUP goes above \$1.50"
> **Bot:** "Price alert set! I'll notify you when JUP goes above \$1.50. Current price: \$1.24."
## Example 3: Monitoring a Breakout Level
After doing chart analysis, you identified a key resistance level. You want to know if it breaks through.
> **You:** *(sends BTC chart)* "What's the key resistance?"
> **Bot:** "Key resistance for BTC is at \$100,200. A breakout with volume above this level could target \$105,000."
> **You:** "Alert me when BTC breaks \$100,200"
> **Bot:** "Price alert set! I'll notify you when BTC goes above \$100,200. Current price: \$98,450."
## Example 4: Protecting Against Downside
You're holding a token and want to be warned if it drops below a critical support level.
> **You:** "Notify me if ETH falls below \$3,500. That's my stop level."
> **Bot:** "Price alert set! I'll notify you when ETH goes below \$3,500. Current price: \$3,850."
## Example 5: Multiple Alerts on the Same Token
You can set both upside and downside alerts to cover different scenarios.
> **You:** "Set two alerts for SOL: above \$160 and below \$120"
> **Bot:** "Two alerts set:
>
> 1. SOL above \$160 — Current: \$142.35
> 2. SOL below \$120 — Current: \$142.35
>
> I'll notify you when either condition is met."
## Combining Alerts with Trading
When an alert triggers, you can act immediately — research, trade, and manage positions all in the same chat:
> **Bot:** "Price Alert: SOL just dropped below \$130.00. Current price: \$128.90."
> **You:** "Quick — give me SOL technical analysis"
> **Bot:** *(provides analysis showing support at \$128)*
> **You:** "Swap 100 USDC to SOL"
> **Bot:** "Quote: You'll receive \~0.775 SOL for 100 USDC. Execute?"
> **You:** "Yes"
> **Bot:** "Transaction submitted! You received 0.7748 SOL."
## Alert Strategy Tips
### For Day Traders
* Set alerts at **intraday support/resistance levels** identified through chart analysis
* Use tight price ranges for active trading sessions
* Combine with chart reading for confirmation before acting
* **Execute trades immediately** when alerts trigger — no app switching needed
### For Swing Traders
* Set alerts at **weekly support/resistance levels**
* Use alerts as a heads-up, then do a full analysis before acting
* Set both entry (dip) and exit (target) alerts for planned trades
* **Combine with limit orders** — Set an alert at \$130, and also create a limit buy at \$128 as a safety net
### For Perps Traders
* Set alerts at **key liquidation levels** to monitor risk
* Use alerts alongside your **perpetual futures positions** for better timing
* Set alerts at funding rate reversal levels
### For Long-Term Holders
* Set alerts at **major price milestones** (e.g., all-time highs, round numbers)
* Use downside alerts as a warning system for portfolio protection
* **Monitor AHR999 index** alongside price alerts for DCA timing
* Fewer, wider alerts to avoid notification fatigue
## Managing Your Alerts
| What You Want | What to Say |
| ------------------------------- | ------------------------ |
| See all active alerts | "What alerts do I have?" |
| Remove a specific alert | "Cancel the SOL alert" |
| Remove all alerts | "Cancel all my alerts" |
| Check if an alert was triggered | "Did any alerts go off?" |
## Important Notes
* **One-time trigger**: Each alert fires once and is then removed. If you want to be alerted again at the same level, set a new alert.
* **Bot must be running**: Alerts are active while your bot is online. If you [hibernate](/bot-management/hibernation) your bot, alerts pause and resume when you wake it up.
* **Instant delivery**: Alerts come as Telegram messages, so you'll get push notifications on your phone immediately.
# Scheduled Automations
Source: https://docs-d0.donutbrowser.ai/use-cases/scheduled-automation
Tell your bot what to check and when, in one sentence. It runs on a schedule and only speaks up when there's something worth saying.
## The Scenario
Two things eat a trader's day: the reports you write yourself, and the charts you stare at waiting for a level to break.
Both are schedules, not decisions. A daily recap is "aggregate my trades at 9pm." A price alert is "poll these three numbers and ping me when all of them line up." Your bot runs both without you sitting there, and it costs one sentence to set up — no forms, no rule builder.
## Try It
* [Set up a daily post-market recap for me at 9pm — my trades, PnL, and what I could do better](https://t.me/donut_d0_agent_bot?text=Set%20up%20a%20daily%20post-market%20recap%20for%20me%20at%209pm%20%E2%80%94%20my%20trades%2C%20PnL%2C%20and%20what%20I%20could%20do%20better)
* [Watch BTC. Only ping me if it breaks below 60000 AND 24h OI drops more than 5% AND Fear & Greed is under 30](https://t.me/donut_d0_agent_bot?text=Watch%20BTC.%20Only%20ping%20me%20if%20it%20breaks%20below%2060000%20AND%2024h%20OI%20drops%20more%20than%205%25%20AND%20Fear%20%26%20Greed%20is%20under%2030)
* [Change my daily recap to 8:30am](https://t.me/donut_d0_agent_bot?text=Change%20my%20daily%20recap%20to%208%3A30am)
## What You Get Back
### A recurring recap
> **You:** Set me up a daily post-market recap. I mainly trade BTC spot and Hyperliquid perps — I want to know how much I made or lost each day, and what I could do better.
> **Bot:** Daily post-market recap scheduled (08:30 UTC+8, daily).
> Will include:
>
> * All trades of the day + PnL breakdown
> * BTC spot + Hyperliquid perp P\&L, split by category
> * Win rate / max drawdown / Sharpe ratio
> * AI review insights (your patterns + improvement tips)
>
> Adjust the time or turn it off anytime in the Dashboard Automations panel.
> *⏰ Scheduled task #42 created*
Rescheduling is another sentence:
> **You:** Change it to 9 PM every day.
> **Bot:** Updated: post-market recap → daily 21:00 (UTC+8)
Under the hood: the cron engine fires, your trades for the period get aggregated, the model writes the review, and it lands in Telegram. Everything is toggleable and reschedulable from the Automations panel in the Dashboard.
### A multi-condition alert
Single-threshold alerts fire constantly and train you to ignore them. Chaining conditions with AND is what makes an alert worth reading.
> **You:** Watch BTC for me. Notify me only when it breaks below 60,000 AND 24h open interest drops more than 5% AND the Fear & Greed index is under 30 — all three at once. Otherwise don't bug me.
> **Bot:** Multi-condition alert set:
>
> * 🔴 BTC \< \$60,000
> * 🔴 24h OI down > 5%
> * 🔴 Fear & Greed \< 30
>
> Pushes only when all three hold. If any fails → silent. Edit conditions or disable anytime in the Dashboard.
> *⏰ Conditional order #58 — polling*
Then, at 2:17 AM, without you awake for it:
> **Bot:** 🚨 BTC combo alert triggered
> BTC \$59,380 (−4.6%)
> 24h OI: −7.3%
> Fear & Greed: 26 (Fear)
> Three-factor resonance — left-side dip-buy window open. Similar historical signals: 68% win rate (90-day backtest).
> \[View details] \[Start analysis]
Hit rates and backtest figures in these examples are sample output from a specific moment, shown to illustrate what the bot reports — not a performance claim, and not a prediction about the next signal. Past hit rate does not carry forward. Size accordingly.
## When to Use
* **End-of-day review.** A recap you'll actually read, because you didn't have to write it.
* **Levels you'd otherwise babysit.** Set the condition, close the chart.
* **Conditions too fiddly for an exchange alert.** Exchange alerts do one price. Yours can combine price, open interest, funding, and sentiment.
* **Overnight and while traveling.** The schedule doesn't care what timezone you're in.
## Tips
* **Stack conditions to cut noise.** Every AND you add makes the alert rarer and more meaningful. If you're getting pinged too often, add a condition rather than widening the threshold.
* **Say the timezone.** "9pm" is interpreted in your configured timezone — state it explicitly (`9pm UTC`) if you want no ambiguity.
* **Ask for the reasoning.** After an alert fires, reply `"why does this matter?"` and the bot walks through the factors it weighed.
* **Audit your automations.** The Dashboard Automations panel lists everything running. Anything you no longer read is worth turning off.
## Related
* [Automated Trading](/features/automated-trading) — letting the agent act on a schedule, not just report
* [Price Alerts](/features/price-alerts) — the alert types available
* [Setting Up Price Alerts](/use-cases/price-alert-setup) — simpler single-condition examples
* [Morning Briefing](/use-cases/morning-briefing) — the on-demand version of a scheduled recap
# Tracking Smart Money on Hyperliquid
Source: https://docs-d0.donutbrowser.ai/use-cases/smart-money-tracking
Watch what consistently profitable Hyperliquid wallets are doing, get pinged when several of them move the same way at once, and decide whether to ride along.
## The Scenario
Hyperliquid settles every fill on-chain, so wallet behaviour is public. That's a real edge — you can see what profitable traders are actually doing rather than what anyone claims.
The problem is volume. Thousands of wallets, constant fills, and any single wallet's trade means very little. What means something is *resonance*: several independently profitable wallets taking the same side of the same market inside a short window. Your bot watches for that and stays quiet otherwise.
## Try It
* [Watch how smart money on Hyperliquid is positioning on SP500. Tell me if they resonate long](https://t.me/donut_d0_agent_bot?text=Watch%20how%20smart%20money%20on%20Hyperliquid%20is%20positioning%20on%20SP500.%20Tell%20me%20if%20they%20resonate%20long)
* [HYPE has been moving. Check the on-chain smart money signals — is it worth adding?](https://t.me/donut_d0_agent_bot?text=HYPE%20has%20been%20moving.%20Check%20the%20on-chain%20smart%20money%20signals%20%E2%80%94%20is%20it%20worth%20adding%3F)
## What You Get Back
### A monitor that waits, then fires
> **You:** Watch how smart money on Hyperliquid is positioning on the SP500 contract. If smart money resonates long, tell me.
> **Bot:** Smart-money consensus monitor set on HL — target: SP500
> Monitoring: smart-money clusters (tiered by style)
> Trigger: multiple smart-money buying in resonance within 1h
> ⏳ Waiting for signal...
Two days later:
> **Bot:** 🍩 **SP500-USDC · 🟢 LONG** — smart-money consensus
> 3 diversified-pro smart-money wallets went long the S\&P 500 contract within 1 hour, \$130.3K at \$7,291.60. Single-style cohort (Tier 3), 31 add events.
>
> * 3 smart-money wallets bought in resonance within 1h, \$130.3K, trigger \$7,291.60
> * 90d hit rate 69%, avg +3.65%
> * Current price \$7,241.20, \~0.7% below smart-money entry
> * Available balance \$210.43
>
> The signal doesn't carry its own SL/TP — it's a ride-along-smart-money idea.
> Give me a size and leverage and I'll execute (up to 50x):
> \[Test small] \[Go in] \[Ignore]
Note the last line. A consensus signal tells you what other people did; it does not come with a stop or a target, because those depend on your risk, not theirs. The bot won't invent them for you — you set size and leverage, and it executes.
### A watch-phase signal, with the wallets shown
Not every signal is an entry. When the bot is reporting rather than recommending, it says so:
> **Bot:** 🍩 **\$HYPE · Long**
> Third trigger tonight: 2 style cohorts, 3 addresses went long in resonance within 1h, 26 events totaling \$143K.
>
> * Broad-coverage — 30d +\$39K (ROI +91%) · 1 coin held — `0x1e12…fa10`
> * Broad-coverage — 30d +\$38K (ROI +65%) · 2 coins held — `0x9f3e…f4f9`
> * Big-money — 30d −\$51K (ROI −12%) · account \$161K — `0x5cca…0c45`
>
> Smart-money avg cost \$62.09
> Consensus window: 57min left
> **Strategy watch-phase · not entry advice**
> Source: HL userFills (Donut-computed)
> ⚠️ This is data-driven analysis, not financial advice. Crypto is volatile — size responsibly.
Every wallet in the cluster is listed with its recent record, including the one that's down 12% on the month. You can open any of them on-chain and check the work yourself. A signal you can't audit isn't worth much.
Hit rates, ROI figures, and wallet performance in these examples are sample output from a specific moment, shown to illustrate the format. They are not performance claims and not predictions. Wallets that were profitable over the last 30 days can lose over the next 30.
## When to Use
* **Markets you don't watch closely.** A monitor covers the contract while you're elsewhere.
* **Confirming your own thesis.** You already like the setup — check whether anyone with a record agrees.
* **Index and HIP-3 markets.** Equity-index perps on Hyperliquid are thinner and less watched than BTC or ETH, so consensus there is more informative.
* **After a sharp move.** Ask whether smart money added into it or sold it.
## Tips
* **Ask for direction, not just activity.** "Tell me if they resonate long" is a cleaner trigger than "watch this wallet."
* **Check the entry gap.** The reply tells you where price sits relative to smart money's average cost. Well above it means you'd be paying up for the same idea.
* **Mind the consensus window.** Resonance signals have a shelf life — the countdown is telling you how much of it is left.
* **Set your own stop.** Consensus signals arrive without one by design. Decide the invalidation level before you size.
* **Start small.** "Test small" exists for a reason.
## Related
* [Perpetual Futures](/features/perpetual-futures) — order types, leverage, and margin on perps
* [Perpetual Futures Trading](/use-cases/perps-trading) — the full manual perps workflow
* [Risk Controls](/features/risk-controls) — caps and guardrails before you ride along with anyone
* [Market Analysis](/features/market-analysis) — the on-chain and derivatives data behind these signals
# Acting on Thorp Signals
Source: https://docs-d0.donutbrowser.ai/use-cases/thorp-signals
The signal engine watches your list and pushes setups that clear its filter — with the trigger, the hit rate, the payoff, and the evidence chain attached.
## The Scenario
Most signal services send you a ticker and a direction. That's not enough to act on: you can't tell whether it's a high-probability setup or a lottery ticket, and you can't check the reasoning.
Thorp signals arrive with the trigger that fired them, the historical hit rate, the risk-to-reward, and — for event-driven signals — the chain of confirmations that had to pass before it was sent. You can disagree with a signal, but you can always see what it was built on.
## Try It
* [Add BNB to my Thorp watchlist and push me technical signals](https://t.me/donut_d0_agent_bot?text=Add%20BNB%20to%20my%20Thorp%20watchlist%20and%20push%20me%20technical%20signals)
* [Why did you push that signal? Show me the evidence chain](https://t.me/donut_d0_agent_bot?text=Why%20did%20you%20push%20that%20signal%3F%20Show%20me%20the%20evidence%20chain)
## What You Get Back
### A technical signal, honestly labelled
Your watchlist triggers on its own — you don't ask for this one:
> **Bot:** BNB on your watchlist just printed a 4H MACD death-cross short signal 👀
> 🍩 **BNB · Short · 4H**
> **Technical trigger**
>
> * 4H MACD death cross: DIF −3.524 crosses below DEA −3.3681
> * Histogram −0.1559, turning down — short-term bearish
>
> 🎯 Entry \$586.75 → Target \$546.07 (≈ −6.9%)
> 🛑 Stop \$607.09 · R/R ≈ 1:2
> 📊 30d hit 22.7% · avg −1.3% · 22 trades
> → A low-win-rate, high-payoff "odds-type" setup
> \[View details] \[Short in one tap] \[Ignore]
Read the numbers together. A 22.7% hit rate would be damning on its own — but at 1:2 R/R, losing three out of four and winning the fourth still works out. The engine pushes these deliberately and labels them as odds-type rather than dressing them up. A signal that only ever showed you high win rates would be hiding the trades that pay.
### An event-driven signal, with its confirmations
> **Bot:** 🗞️ **Thorp signal: ZEC news-driven short**
> **Tier 1 — news capture**
>
> * Bearish ZEC news detected: security research disclosed a potential protocol vulnerability; social concern building
> * News sentiment: 81% negative, spreading fast
>
> **Tier 2 — on-chain / order-book validation**
>
> * ✅ ZEC perp OI rising + funding turned negative — shorts entering
> * ✅ Exchange net inflows rising (potential sell pressure)
>
> **Tier 3 — execution & result**
>
> * Shorted at \$432 → now \$415.15 (−3.9%)
> * 3x leverage · short unrealized ≈ +11.7%
> * TP −8% / SL +5%
>
> 🎯 News + on-chain double confirmation passed
> ⚠️ Bearish news must be cross-verified; size carefully, not financial advice
> \[View details] \[View evidence chain]
Nothing gets pushed on the news alone. The story has to be corroborated by positioning and flow data before it becomes a signal — which is why the tiers are numbered in the message.
Hit rates, average returns, sample sizes, and PnL figures in these examples are sample output from a specific moment, shown to illustrate the format. They are not performance claims or predictions, and a signal clearing the engine's filter is not a recommendation to take it.
## When to Use
* **Coins you hold but can't watch.** Put them on the watchlist and let the technical scan run.
* **When you want the setup, not the story.** Entry, target, stop, and R/R in one message.
* **Event-driven trading.** News breaks constantly; only some of it shows up in positioning. The double-confirmation filter is the difference.
* **Auditing your own read.** Ask for the evidence chain and compare it against your reasoning.
## Tips
* **Judge hit rate and R/R together.** Neither number means anything alone. A 70% hit rate at 1:0.3 is a losing system.
* **Ask before you act.** `"Why did you push that signal?"` returns the full chain, including what nearly disqualified it.
* **Prune the watchlist.** Signal quality drops when the list is long — the engine has more chances to find something marginal.
* **Set your own size.** One-tap execution still takes your size and leverage. See [Risk Controls](/features/risk-controls) for caps.
* **Skip freely.** Ignoring signals is the normal case, not a failure of the system.
## Related
* [Thorp Strategy](/features/thorp-strategy) — how signals are generated and scored
* [How the Agent Decides](/introduction/how-the-agent-decides) — the reasoning D0 exposes for any action
* [Risk Controls](/features/risk-controls) — leverage caps and position limits
* [Distilling Videos and Threads](/use-cases/distill-research) — sentiment that feeds the engine
# Shorting a Token Unlock
Source: https://docs-d0.donutbrowser.ai/use-cases/token-unlock-short
Track upcoming unlocks, check whether the recipients are already moving tokens to exchanges, and build a short thesis around the supply hitting the market.
## The Scenario
Large unlocks put supply into a market on a known date. That's one of the few genuinely scheduled events in crypto — but it's also public, which means "unlock is coming, therefore short" is not an edge on its own.
The edge, if there is one, is in the detail: how big the unlock is relative to float, who receives it, whether those addresses are already moving tokens toward exchanges, and whether price structure is weakening ahead of the date. Your bot pulls those together into a thesis you can accept or reject.
## Try It
* [Watch tokens with big upcoming unlocks and analyze short setups](https://t.me/donut_d0_agent_bot?text=Watch%20tokens%20with%20big%20upcoming%20unlocks%20and%20analyze%20short%20setups)
* [Analyze the HOME unlock — how much is coming and is it priced in?](https://t.me/donut_d0_agent_bot?text=Analyze%20the%20HOME%20unlock%20%E2%80%94%20how%20much%20is%20coming%20and%20is%20it%20priced%20in%3F)
## What You Get Back
> **You:** Watch tokens with big upcoming unlocks and analyze short setups. I see DeFi.app's \$HOME unlocks soon.
> **Bot:** 🔓 **\$HOME unlock-short analysis**
> **Asset:** DeFi.app · \$HOME — currently \$0.0303 · mcap \$115.9M
> **This month's large unlock**
>
> * \~750M HOME unlocking (≈ \$36.9M)
> * ≈ 19.8% of circulating supply — significant sell pressure
> * Nature: early allocation / incentive release
>
> **Whales & on-chain moves**
>
> * Watch whether unlock-beneficiary addresses pre-transfer to CEX (sell prep)
> * Holder concentration: top-N share and changes
> * Whether price / volume structure weakens pre-unlock
>
> **Short thesis**
>
> * Position into strength pre-unlock (test short on perps if available, else borrow / spot trim)
> * Stop above the unlock-day key resistance
> * ⚠️ The unlock is a known event and may be partly priced in — sell pressure isn't guaranteed to hit immediately. Size carefully, not financial advice.
>
> \[View unlock calendar] \[View evidence chain]
Two things in that reply do the real work.
**The float ratio.** 750M tokens sounds like a lot; \~19.8% of circulating supply is what actually matters. A large unlock into a large float is often a non-event.
**The priced-in warning.** Unlock dates are on public calendars, so the market has had weeks to position. The bot flags this rather than letting the setup read as free money — plenty of unlocks are sold before the date and rally on it.
Unlock sizes, prices, and market caps in this example are a snapshot from one moment. A scheduled unlock is public information and may already be reflected in price. Sell pressure is not guaranteed to arrive on the unlock date, or at all — shorting into a known event can go badly in both directions.
## When to Use
* **Ahead of a scheduled unlock** for a token you already follow.
* **Screening for candidates.** Ask for upcoming unlocks by float ratio rather than by absolute size.
* **Checking a position you already hold.** If you're long, an incoming unlock is worth knowing about before it lands.
* **Post-unlock.** Ask whether the supply actually moved — sometimes recipients hold, and that's information too.
## Tips
* **Ask for the ratio, not the token count.** "How much of circulating supply" is the number that decides whether this matters.
* **Follow the beneficiary addresses.** Tokens moving to a CEX before the date is the strongest tell available.
* **Check whether it's shortable.** Not every small-cap has a perp market. The bot will suggest borrow or spot alternatives.
* **Set the stop before you enter.** Unlock trades that go wrong go wrong fast — the level above unlock-day resistance is the natural invalidation.
* **Combine with a monitor.** Ask the bot to watch the beneficiary addresses and ping you if they move — see [Scheduled Automations](/use-cases/scheduled-automation).
## Related
* [Market Analysis](/features/market-analysis) — the on-chain and holder data behind the thesis
* [Perpetual Futures](/features/perpetual-futures) — opening the short once you've decided
* [Risk Controls](/features/risk-controls) — sizing and leverage caps for event trades
* [Acting on Thorp Signals](/use-cases/thorp-signals) — event-driven signals that arrive unprompted
# AI Trading Assistant
Source: https://docs-d0.donutbrowser.ai/use-cases/trading-assistant
This is the most common way people use D0 — as a real-time AI companion for everyday trading decisions and execution.
## The Scenario
You're a crypto trader who follows multiple tokens. Every day, you need to:
* Check prices and trends
* Analyze charts before making entries
* Monitor market sentiment and social buzz
* Execute trades when the moment is right
* Stay informed about news and on-chain activity
Normally, this involves opening 5-6 different apps and websites. With D0, it's all one conversation — from research to execution.
Common starts: [What's the market looking like today?](https://t.me/donut_d0_agent_bot?text=What%27s%20the%20market%20looking%20like%20today%3F), [What's trending on crypto Twitter?](https://t.me/donut_d0_agent_bot?text=What%27s%20trending%20on%20crypto%20Twitter%3F), or [How does my portfolio look?](https://t.me/donut_d0_agent_bot?text=How%20does%20my%20portfolio%20look%3F).
## A Typical Morning Routine
Here's what a trading session might look like with your D0 bot:
### 1. Market Overview (30 seconds)
> **You:** "Good morning. What's the market looking like today?"
> **Bot:** "Market Sentiment: 68 (Greed).
> **BTC:** \$98,450 (+1.2% in 24h)
> **ETH:** \$3,850 (-0.3%)
> **SOL:** \$142 (+4.8%)
> Notable: SOL is outperforming after a major ecosystem announcement. Fear & Greed shifted from Neutral to Greed overnight."
### 2. Check Social Trends (30 seconds)
> **You:** "What's trending on crypto Twitter?"
> **Bot:** "Top trending tokens (24h):
>
> 1. SOL — 12,500 mentions (+180%)
> 2. WIF — 8,200 mentions (+250%)
> 3. JUP — 5,100 mentions (+120%)
>
> Top narrative: 'Solana DeFi Renaissance' — mentions up 340% this week.
> Jupiter announced a \$200M ecosystem fund. This is driving the SOL momentum."
### 3. Deep Dive on a Token (1 minute)
> **You:** "Give me a full research on SOL"
> **Bot:** "SOL analysis:
>
> * Price: \$142.35 (+4.8% in 24h, +12% in 7d)
> * Volume: \$3.2B (up 85% from yesterday)
> * Market cap: \$65.8B
> * Safety: 95/100
>
> Technical Analysis (4H):
>
> * Trend: Bullish, higher highs and higher lows
> * RSI: 64 — strong but not overbought
> * MACD: Bullish crossover 12 hours ago
> * Support: \$138 | Resistance: \$148, \$155
>
> Recent news: Jupiter announced a \$200M ecosystem fund. Top DEX volume on Solana hit ATH."
### 4. Chart Analysis (1 minute)
> **You:** *(sends a SOL/USDT 4H chart)*
> "Is this a good entry?"
> **Bot:** "Looking at the 4H chart:
>
> * Bullish breakout above the \$138 resistance with strong volume
> * RSI at 64 — momentum is strong but not overbought yet
> * Next resistance at \$148, then \$155
> * Support at \$138 (previous resistance)
>
> This looks like a healthy breakout. A pullback to \$138-\$140 could be a lower-risk entry."
### 5. Execute a Trade (15 seconds)
> **You:** "Swap 50 USDC to SOL"
> **Bot:** "Quote: You'll receive \~0.35 SOL for 50 USDC.
> Price impact: 0.01%. Route: USDC → SOL via Jupiter.
> Shall I execute?"
> **You:** "Yes"
> **Bot:** "Transaction submitted! TX: 5abc...xyz. You received 0.3498 SOL."
### 6. Set a Limit Order (10 seconds)
> **You:** "Create a limit order to buy 1 SOL at \$138"
> **Bot:** "Limit order preview: Buy 1 SOL when price drops to \$138 USDC.
> Execute?"
> **You:** "Yes"
> **Bot:** "Limit order created! Order ID: 12345. I'll fill the order when SOL reaches \$138."
### 7. Set an Alert (10 seconds)
> **You:** "Alert me if SOL drops back to \$138"
> **Bot:** "Done! I'll notify you when SOL goes below \$138. Current price: \$142.35."
### 8. Check Your Portfolio (15 seconds)
> **You:** "How does my portfolio look?"
> **Bot:** "**Wallet:** \$14,630 (+3.5% today)
>
> * SOL: 42.85 (\$6,085) — 41.6%
> * USDC: 3,450 (\$3,450) — 23.6%
> * JUP: 2,100 (\$2,604) — 17.8%
> * ...
>
> **Perps Account:** Equity \$5,200, Available \$3,800
> **Total:** \$19,830"
**Total time: about 5 minutes.** That's a complete trading session — market overview, social trends, token research, chart analysis, trade execution, limit order, alert setup, and portfolio review — all in one place.
## Why This Flow Works
* It keeps discovery, analysis, and execution in one thread, so context is not lost between steps.
* It enforces preview-then-confirm at the execution point.
* It shortens reaction time during fast market moves without skipping risk checks.
For platform-level comparisons, see [Why D0?](/introduction/why-d0).
## Pro Tips for Trading with D0
1. **Start your day with trends** — Ask for both market overview and social trends to get the full picture
2. **Use the two-step workflow** — Every trade shows a preview first, so you can verify before committing funds
3. **Research before trading** — Ask for technical analysis + fundamentals + social sentiment before making a decision
4. **Set alerts at key levels** — After chart analysis, immediately set alerts at the support/resistance levels your bot identified
5. **Use limit orders for precision** — Don't want to buy at market price? Set a limit order at your target entry
6. **Combine data points** — Ask for fundamentals, then send a chart, then check sentiment. Your bot keeps context from the whole conversation
7. **Quick checks throughout the day** — Price checks and portfolio updates take seconds
8. **Check your orders** — Ask "show my orders" to track limit orders and their status