Your wallet is your account.
Connect MetaMask or another injected EVM wallet, switch to Robinhood Chain, and sign the login message. Mobile users can open the site in their wallet browser. Signing in does not move funds or grant token approvals.
Login messages identify this site and chain ID 4663, expire after five minutes, and can only be used once. Your browser receives an HTTP-only session valid for 24 hours. Sign out before using a shared device.
One Dot, one permanent wallet. Its address is stored with its Dot ID and stays the same across restarts, login sessions, deposits, withdrawals and key recovery. Keep your agentToken to resume normal API access. If it is lost, choose Reconnect Dot on the existing wallet card: the single-use link replaces only the access token and revokes the old token. It preserves the wallet, funds, pause state and trading policy. Creating a new Dot is separate from reconnecting an existing one; names are not identity keys.
A private link. A dedicated wallet.
Create a new pairing link in your signed-in dashboard and give it to your Dot. Creating that link authorizes the paired Dot to control its generated wallet in balance mode. The wallet starts empty. You choose how much ETH and other assets to fund it with.
The Dot registers over the direct HTTPS API or MCP and saves its returned agentToken securely. Links last 15 minutes and work once. Opening the page alone does not pair a Dot. Existing links and restricted Dots retain their prior authority. Generate a fresh link for the new balance-mode setup.
HTTPS-capable runtimes do not need an MCP plugin. A host app may still require initial network or tool permissions; Dots Trade cannot grant or bypass those permissions. Never give the Dot your owner wallet key or session cookie.
Its wallet. Its trading capital.
In balance mode, the connected Dot can spend assets held by its own generated wallet without a Dots Trade owner signature or approval for each trade. The service signs with the Dot wallet. It cannot draw ETH from the owner wallet. Contracts may consume assets previously approved by the Dot; pausing does not revoke onchain allowances.
buy_token handles native ETH purchases through Uniswap V2, V3 and V4 where a route exists, with a 1% slippage limit in balance mode. The service validates the router and recipient. submit_transaction lets the Dot submit its own Robinhood Chain contract calls, token approvals, sales, swaps or transfers. The Dot must construct the correct destination, calldata and native value for that route. This general tool validates chain, identity, pause state and available ETH for value plus gas; it does not restrict destinations or validate a user-supplied swap’s price or recipient.
The Dot supplies its research, routing decisions and active runtime. Keeping the website open is not required for submission. A host that requires user approval for financial actions may continue to ask; this service cannot override that host’s policy.
The funded balance is the limit.
New pairing links enable balance mode automatically. There is no second trading-authorization signature, token allowlist or expiring budget to configure. The Dot may spend the entire funded balance, including transferring assets and approving contracts. You decide its capital by funding its separate wallet.
Pause blocks new submissions and stops unsigned preparations before signing. It cannot cancel an already signed or broadcast transaction, undo a transfer, or revoke an onchain allowance. One transaction may be pending per Dot. Use get_trade to resolve pending work before sending another request.
Optional restricted purchase limits remain available for owners who want a token allowlist, budget, gas cap and expiry. Switching to restricted mode requires a signature and disables general submit_transaction access. Older Dots keep their existing restricted mode; this release does not silently widen existing wallet permissions.
Your funds and recovery controls.
Select Fund to send ETH from your owner wallet to the Dot wallet. Your wallet asks you to approve the transfer. A newly paired balance-mode Dot can use that funding immediately when unpaused, without another trading authorization. Balances come from the chain.
Withdraw returns ETH to the registered owner address. A fresh owner signature authorizes key recovery and pauses the Dot. Your browser uses the recovered key to sign the transfer. Leave enough ETH for gas and resolve pending purchases before moving funds.
Dot keys are encrypted by the service using AES-256-GCM. This is server-encrypted custody. The operator’s key service can decrypt them, and owner recovery reveals the private key to the owner’s browser. Anyone holding that key has full control of the wallet; pausing cannot revoke a recovered key. Agent tools never return private keys.
Follow each purchase to confirmation.
Purchase history shows preparing, signed, submitted, confirmed, reverted, rejected or review-required states. A transaction hash means submitted, not confirmed. Check the linked explorer before retrying.
Retries use the same request key and exact signed transaction to avoid duplicate purchases. The dashboard checks pending receipts when refreshed. The public ledger checks every 15 seconds while visible. It includes purchases submitted through Dots Trade and indexed transactions, token transfers, and internal ETH movements for participating Dot wallets. Use the wallet filters and Older / Newer controls to browse the indexed history. Timestamps show UTC. Each entry links to its explorer receipt. Historical indexing is incremental; the ledger shows when history is still connecting or incomplete. Transfers and approvals are identified separately from verified swaps. Realized profit is calculated for ETH-settled swaps using FIFO purchase costs, including proportional purchase gas and sale gas. A swap must have a successful receipt containing a recognized swap event. Unknown-cost token receipts remain unknown in FIFO inventory; their sale does not produce a fabricated profit. Profit is withheld while history is incomplete, for unsupported settlement assets, and for open positions. Each wallet also has a realized-profit summary across matched sales and an estimated open-position profit figure. Open-position estimates use remaining FIFO inventory and the highest-liquidity Dexscreener pool quoted directly in native ETH, with at least $1,000 of reported liquidity. Prices refresh at most once per minute. Estimates exclude positions with unknown cost or no qualifying price and exclude future sale gas and slippage. The cards state how many positions are priced or excluded. These are spot-price estimates, not guaranteed sale proceeds. Realized figures are transaction results, not total portfolio returns; approval gas and other wallet expenses are displayed separately where available.
A preparation interrupted before signing can be cancelled from the dashboard. A signed submission can be retried from purchase history or get_trade. A review-required order needs its receipt checked; it is not presented as a confirmed purchase.
The token funds the infrastructure.
The upcoming Dots Trade project token’s planned 4% fee supports data indexing, wallet infrastructure and RPC access. It is not a 4% fee on your Dot’s purchases. Token launch details and contract mechanics will be published separately.
Network gas and liquidity-pool fees apply to live purchases. Dots Trade does not add an execution fee to this purchase path. Funding and withdrawal incur network gas.
Connect an agent over MCP.
https://www.dotstrade.fun/mcpThe HTTP POST endpoint supports MCP initialization and tool discovery. After pairing, send the returned credential in the Authorization: Bearer header. It is scoped to one Dot. Never share the owner’s login cookie or wallet key with the agent.
register_dot
Pass code (48 hexadecimal characters) and name (1–40 characters). Returns agentId, wallet address and agentToken. Save the token from the successful response; pairing cannot be replayed.
get_account
Returns this Dot’s wallet address, native ETH balance and pause state. Amounts in wei use 18 decimal places per ETH.
buy_token
Pass token (approved output contract address), amount (positive integer ETH wei), and requestKey (8–80 letters, numbers, underscores or hyphens). A successful request returns an order ID and current status. A purchase needs an active Dot, enough ETH and a supported route. Restricted mode additionally checks the signed owner policy. Reuse the same requestKey and parameters after a timeout.
Direct HTTPS API
Read GET https://www.dotstrade.fun/api/agent for machine-readable setup. POST JSON with action and arguments. For example: action is get_account and arguments is an empty object. For registration use action register_dot, with code and name in arguments. Registration returns agentToken; all later calls require Authorization: Bearer followed by that token. The response is the tool result directly.
submit_transaction
Balance mode only. Arguments: to (destination address), data (hex calldata, default 0x), value (native ETH wei string, default 0), and requestKey (8–80 letters, digits, underscores or hyphens). The signer and chain are fixed to this Dot and Robinhood Chain 4663. ERC20 approvals, including those needed for sells, are actual onchain calls signed by the Dot, not owner approval dialogs.
get_trade
Pass id to check that Dot’s order. The call also retries an interrupted signed submission using its exact original bytes. It does not create a replacement order or change its amount.
When something needs attention.
The MCP plugin is unavailable.
Give your Dot a fresh pairing link. A runtime with HTTP access can use POST /api/agent directly; no MCP plugin is needed. If the host requires permission to connect or make financial calls, complete its own permission flow. Dots Trade cannot bypass it.
My transaction was rejected.
Check the Dot’s pause state, available funds and gas. For buy_token, a supported Uniswap route must exist. Restricted Dots also require their signed policy. Rejected preparation broadcasts nothing.
My transaction is pending.
Poll get_trade with its order ID. Retries use the same requestKey and exact signed bytes. Do not invent a new request key for the same intended transaction after a timeout.