---
title: "Overview"
url: https://docs.truemarkets.co/cli/overview
description: "Buy, sell, transfer and check balances from your terminal with the tm CLI, with JSON output and a dry run before anything spends."
---

Docs index: https://docs.truemarkets.co/llms.txt

# True Markets CLI

`tm` lets you buy, sell, transfer and check balances from your terminal. It's built for developers, strategy builders and AI agents.

Your wallet's private key stays in Turnkey's secure enclave, and the key the CLI signs with never leaves your device.

-   **The fee is in the quote.** A dry run shows it before you confirm.
-   **The CLI trades the assets in the catalog** and resolves the chain from the token symbol. See [What you can trade](https://docs.truemarkets.co/trading-api/what-you-can-trade).
-   **Every command prints JSON** with `-o json`, so it composes with `jq` and scripts.
-   **Dry run first.** Simulate any trade or transfer before it spends anything.

> **Same venue, different credentials**
> 
> The CLI trades the same DeFi assets as the [Trading API](https://docs.truemarkets.co/trading-api). The credentials differ: the CLI logs you in with an emailed code and keeps your keys on your device, while the Trading API uses an API key file. The [institutional CeFi venue](https://docs.truemarkets.co/institutional/overview) has its own credentials and account model, so a login there does not carry over.

## Set up the CLI

1.  **[Install](https://docs.truemarkets.co/cli/installation)**: one-liner, Homebrew, or a pre-built binary.
2.  **[Authenticate](https://docs.truemarkets.co/cli/authentication)**: `tm signup` or `tm login`, verified by emailed code.
3.  **[Run a command](https://docs.truemarkets.co/cli/commands)**: `tm assets`, `tm balances`, `tm buy`.
4.  **[Wire it to an agent](https://docs.truemarkets.co/cli/ai-agents)**: skills for local agents, MCP for hosted clients.

## Make your first trade

`--dry-run` prices the trade and shows the fee without executing.

Dry run: the quote and fee, nothing spent

```console
$ tm buy SOL 100 --dry-run
  Chain:    Solana
  Asset:    SOL
  Amount:   $100.00
  Price:    $142.38
  Qty:      0.7024 SOL
  Fee:      $0.20
```

When the quote looks right, run it again with `--force` to skip the confirmation prompt.

Buy for real, without the prompt

```console
$ tm buy SOL 100 --force
  ✓ Order filled: 0.7024 SOL @ $142.38
```

Add `-o json` to get output you can pipe.

Balances as JSON for jq and scripts

```console
$ tm balances -o json
  [{"asset":"SOL","balance":"0.7024","chain":"solana"}, ...]
```

## Next steps

-   **[Install the CLI](https://docs.truemarkets.co/cli/installation)**: one-liner, Homebrew, or a pre-built binary.
-   **[MCP](https://docs.truemarkets.co/mcp)**: per-client setup for the hosted MCP server.
-   **[SDKs](https://docs.truemarkets.co/sdks/overview)**: typed TypeScript and Python clients for the Trading API.