---
title: "Get the user's trading setup"
url: https://docs.truemarkets.co/api/account/get-trading-setup
description: "Returns how the user is set up to trade and to settle, independent of their KYC status."
---

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

# Get the user's trading setup

```
GET https://api.truemarkets.co/v1/account/me/trading
```

Returns how the user is set up to trade and to settle, independent of their KYC status.

- `wallets` lists the wallets the user holds: `main`, their own wallet, and `strategies`,
  the wallet strategies trade from. A wallet the user does not hold is omitted. Each
  `main` address reports `settlement_authority`: whether the user has authorized
  settlement of CeFi trades on that chain.
- `trading.cefi` is enabled once the user has a CeFi trading account; `accounts` lists
  them, each naming the wallet it settles against and its `client_id`.
- `trading.defi` is enabled once the user holds a `main` wallet.
- `settlement.defi` is enabled when CeFi trading is enabled and every `main` address has
  settlement authority. `settlement.paxos` is enabled once the user has a Paxos account.

A CeFi listing can be traded when `trading.cefi.enabled` and the `settlement` rail the
listing settles on are both enabled.

An organization token reads one of its users' setup with `TM-On-Behalf-Of`.

## Authentication

Bearer token in `Authorization`

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `TM-On-Behalf-Of` | header | string (uuid) | no | Act as one of your organization's users. The value is the `user_id` returned when the user was created; the request then reads that user's account. Requires an organization token and a user your organization created: `400` for a personal token, a repeated header or a non-UUID, `403` for a user outside your organization. |

## Responses

Every error status returns the same body, described in [Errors](https://docs.truemarkets.co/developer-resources/errors.md).

### 200

The user's trading setup

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `id` | string (uuid) | yes | The user's id |
| `wallets` | array of object | yes | The wallets the user holds, `main` first; empty when they hold none |
| `wallets[].name` | string, one of `main`, `strategies` | yes | `main` is the user's own wallet; `strategies` is the wallet strategies trade from. |
| `wallets[].provider` | string, one of `turnkey` | yes | Who holds the wallet's keys |
| `wallets[].addresses` | array of object | yes |  |
| `wallets[].addresses[].chain` | string, one of `solana`, `evm` | yes |  |
| `wallets[].addresses[].address` | string | yes |  |
| `wallets[].addresses[].settlement_authority` | boolean | no | Whether the user has authorized settlement of CeFi trades on this chain. Present only on `main` wallet addresses. |
| `trading` | object | yes | The venues the user can trade on |
| `trading.cefi` | object | yes | Whether the user can trade on CeFi, and their CeFi trading accounts |
| `trading.cefi.enabled` | boolean | yes | True once the user has a CeFi trading account |
| `trading.cefi.accounts` | array of object | yes | The user's CeFi trading accounts; empty when they have none |
| `trading.cefi.accounts[].wallet` | string, one of `main` | yes | The wallet the account settles against |
| `trading.cefi.accounts[].client_id` | string | yes | The account's CeFi trading client id |
| `trading.defi` | object | yes |  |
| `trading.defi.enabled` | boolean | yes |  |
| `settlement` | object | yes | The custody rails the user's CeFi trades can settle on |
| `settlement.defi` | object | yes |  |
| `settlement.defi.enabled` | boolean | yes |  |
| `settlement.paxos` | object | yes |  |
| `settlement.paxos.enabled` | boolean | yes |  |

### 400

Validation error

### 401

Unauthorized

### 403

Forbidden

### 500

Internal server error

### 503

Service unavailable
