Не чат и не уведомление — машиночитаемое сообщение с подписью, в ту же секунду, что и в автоследование.
Это для тех, кто торгует сам. Мы не касаемся твоего счёта и ничего на нём не ставим — только сообщаем о сделке Портфеля №1: что, когда и по какой цене. Размер, инструмент и способ исполнения выбираешь ты: хоть акции, хоть опционы, хоть своя стратегия поверх сигнала.
Отменить можно в любой момент — оплаченный период доработает до конца, возврата за него нет. Каждый платёж приходит уведомлением в Telegram.
Сигналы будут приходить POST-запросом на этот адрес. Только https. Имя и телефон нужны по условиям: сигналы выдаются лично тебе.
| Когда | Событие | Ответ | Время |
|---|
POST на твой адрес, тело JSON, заголовки: X-FTT-Event (номер события), X-FTT-Timestamp (unix-секунды), X-FTT-Signature (v1=<hex>). Ответь любым кодом 200–299 в течение 6 секунд. Если ответа нет или код 5xx — повторим ещё два раза (через 1,5 и 4 секунды); на 4xx не повторяем. Один и тот же номер события может прийти повторно — сохраняй обработанные id.
{
"id": "pf1:3f9c…:entry:SPY", // номер события
"type": "signal", // "signal" или "test"
"portfolio": "pf1",
"kind": "entry", // "entry" — вход, "exit" — выход, "bestop" — стоп в безубыток
"ticker": "SPY",
"price": 645.2, // цена сделки, USD
"share_pct": 5.0, // доля капитала на вход (только entry)
"result_pct": 3.1, // результат выхода, если известен (только exit)
"trigger": 645.85, // только bestop: триггер стопа Портфеля №1; price здесь — ЕГО цена входа, свой стоп ставь по СВОЕМУ входу
"ts": "2026-09-08T14:31:02.120Z",
"ref": "a1b2c3d4e5f6" // метка твоего потока
}
Подпись — HMAC-SHA256 твоим ключом от строки <timestamp>.<тело запроса как есть>. Сравнивай с X-FTT-Signature без префикса v1=. Отклоняй запросы старше 5 минут.
// Node.js
const crypto = require('crypto');
function verify(secret, tsHeader, rawBody, sigHeader){
const mac = crypto.createHmac('sha256', secret).update(tsHeader + '.' + rawBody).digest('hex');
return crypto.timingSafeEqual(Buffer.from(mac), Buffer.from(sigHeader.replace('v1=','')));
}
# Python
import hmac, hashlib
def verify(secret, ts, raw_body, sig):
mac = hmac.new(secret.encode(), f"{ts}.{raw_body}".encode(), hashlib.sha256).hexdigest()
return hmac.compare_digest(mac, sig.replace("v1=", ""))
Сигнал приходит в момент исполнения сделки Портфеля №1, одновременно с автоследованием. Цена в сигнале — цена нашей сделки, у тебя она будет отличаться. Сигнал — техническая информация о сделке, не рекомендация; решения и риск на твоей стороне.
| Кто | Адрес | Доступ | Доставки |
|---|
Оплаты через Whop, по которым участник не опознан. Укажи Telegram ID и привяжи.
| Когда | Событие | Разослано |
|---|
«Сигналы по API» — техническая услуга доставки сообщений о сделках Портфеля №1 для личного использования. Условия.