# T-Invest API: Проверить робота в песочнице

Сценарий из mcp-everything. Актуально на 2026-10-24.

Тестировать стратегию на реальных рыночных данных, не трогая настоящий счёт.

1. Выпусти отдельный Sandbox token — обычный токен в песочнице не работает, и наоборот. Адрес песочницы — https://sandbox-invest-public-api.tbank.ru/rest.
2. Открой счёт: POST /tinkoff.public.invest.api.contract.v1.SandboxService/OpenSandboxAccount.
3. Пополни его: POST /tinkoff.public.invest.api.contract.v1.SandboxService/SandboxPayIn с accountId и amount.
4. Дальше вызывай те же методы, что и в бою, — заявки, портфель, котировки — на адресе песочницы. Стоп-заявки и часть отчётов в песочнице недоступны.

```bash
SB=https://sandbox-invest-public-api.tbank.ru/rest/tinkoff.public.invest.api.contract.v1
ACC=$(curl -s -X POST "$SB.SandboxService/OpenSandboxAccount" -H "Authorization: Bearer $SANDBOX_TOKEN" \
  -H 'Content-Type: application/json' -d '{"name": "robot-test"}' | jq -r .accountId)

curl -X POST "$SB.SandboxService/SandboxPayIn" -H "Authorization: Bearer $SANDBOX_TOKEN" \
  -H 'Content-Type: application/json' -d "{\"accountId\": \"$ACC\", \"amount\": {\"units\": \"100000\", \"nano\": 0, \"currency\": \"rub\"}}"
```

## Базовые URL

- Боевой (REST): `https://invest-public-api.tbank.ru/rest`
- Тестовый (REST, песочница): `https://sandbox-invest-public-api.tbank.ru/rest`
- Боевой (gRPC): `invest-public-api.tinkoff.ru:443`
- Тестовый (gRPC, песочница): `sandbox-invest-public-api.tinkoff.ru:443`

## Авторизация

Тип: Bearer-токен

Токен выпускается в настройках профиля Т-Инвестиций (https://www.tbank.ru/invest/settings/). Функция «Подтверждение сделок кодом» должна быть отключена. Токен показывается один раз, выпускать можно неограниченное количество. Виды токенов: Readonly (только чтение), Full-access (все методы), токен с доступом к конкретному счёту и Sandbox token (только для песочницы; для обычных методов вернёт ошибку). Токен передаётся в заголовке `Authorization` в формате `Bearer t.QtEo8ahkNFX4RTpbqp0u4z4GDZq27HzUp6AotJASBx7_DVqmqZMHfM2Cy7JmUjS80boI9eVg`, в gRPC — в metadata каждого запроса и стрима.

Срок жизни токена — три месяца с даты последнего использования. Неактуальный токен даёт ошибку:

```
"code": "40003"
"message": "authentication token is missing or invalid"
```

## Методы сценария

### POST /tinkoff.public.invest.api.contract.v1.SandboxService/OpenSandboxAccount — Открыть счёт в песочнице

| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
| `name` | body | string | нет | Название счёта |

### POST /tinkoff.public.invest.api.contract.v1.SandboxService/SandboxPayIn — Пополнить счёт в песочнице

| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
| `accountId` | body | string | да | Номер счёта в песочнице |
| `amount` | body | v1MoneyValue | да | Сумма пополнения |

## Нюансы

- Для `PostOrder` и `PostStopOrder` обязателен `orderId` — ключ идемпотентности в формате UID до 36 символов; у `ReplaceOrder` новый ключ передаётся в `idempotencyKey`.
- Суммы и цены передаются не числом, а объектом Quotation/MoneyValue: целая часть в `units` (строка) и дробная в `nano`.
- Песочница работает почти со всеми теми же методами, но в ней недоступны `GetBrokerReport`, `GetDividendsForeignIssuer` и сервис стоп-заявок; для неё нужен отдельный Sandbox token.
- Сделки на сумму больше 30 000 000 рублей требуют подтверждения и через API недоступны.
- Лимиты считаются суммарно по всем счетам пользователя; с одного адреса рекомендуется не больше 50 запросов в секунду по всем счетам и токенам.
- Разработчикам публичного ПО нужно зарегистрировать название приложения через invest-public-api@tbank.ru.

## Другие сценарии

- [Посмотреть счета и портфель](https://mcp-everything.ru/integrations/t-invest/scenarios/posmotret-scheta-i-portfel.md)
- [Найти инструмент и узнать его цену](https://mcp-everything.ru/integrations/t-invest/scenarios/nayti-instrument-i-uznat-ego-tsenu.md)
- [Выставить заявку и проверить исполнение](https://mcp-everything.ru/integrations/t-invest/scenarios/vystavit-zayavku-i-proverit-ispolnenie.md)
- [Выгрузить операции по счёту](https://mcp-everything.ru/integrations/t-invest/scenarios/vygruzit-operatsii-po-schetu.md)

---

Если этого недостаточно — официальная документация: https://developer.tbank.ru/invest/intro/intro/
Вся интеграция одним документом: https://mcp-everything.ru/integrations/t-invest.md
