Garant Exchange

Публичный API

Курсы, объявления и резервы гаранта в JSON — для агрегаторов курсов, мониторингов и сайтов партнёров. Без ключа и регистрации, только чтение.

🔌 Как подключиться

Обычные GET-запросы к адресу ниже, ответ — JSON в UTF-8. Ключ и регистрация не нужны.

https://garantp2p.com/public/v1/

⏱ Лимиты

Ответы кешируются на 30 с, поэтому чаще запрашивать нет смысла. С одного IP — до 60 запросов в минуту, сверх этого ответ 429. Запросы из браузера разрешены с любого сайта (CORS).

🔢 Формат данных

Цены и лимиты — строки в валюте рынка за одну целую монету, например "12700" или "85.5". Время — Unix-время в секундах. Пустое значение — null.

GET /public/v1/markets

Открытые рынки: валюта, монеты, способы оплаты, лимиты одной сделки и пауза, если гарант временно остановил новые сделки.

Запрос

GET https://garantp2p.com/public/v1/markets

Пример ответа

{
  "coins": [
    {
      "key": "usdt_trc20",
      "symbol": "USDT",
      "network": "TRC20"
    },
    {
      "key": "usdt_bep20",
      "symbol": "USDT",
      "network": "BEP20"
    }
  ],
  "markets": [
    {
      "country": "uz",
      "currency": "UZS",
      "coins": [
        "usdt_trc20",
        "usdt_bep20"
      ],
      "methods": [
        {
          "key": "uzcard",
          "name": "Uzcard"
        },
        {
          "key": "humo",
          "name": "Humo"
        }
      ],
      "min_deal": "50000",
      "max_deal": "50000000",
      "paused": false,
      "paused_coins": []
    }
  ]
}

GET /public/v1/prices

Сводка по каждой монете рынка: лучшая цена покупки (buy — самый дешёвый продавец) и продажи (sell — покупатель, который платит больше всех), медианы, число объявлений и официальный курс.

Параметры

  • country — код рынка: uz, kz, kg, tj, tm, az, am, by, md, ru. По умолчанию uz.

Запрос

GET https://garantp2p.com/public/v1/prices?country=uz

Пример ответа

{
  "country": "uz",
  "currency": "UZS",
  "updated": 1790000000,
  "coins": {
    "usdt_trc20": {
      "buy": "12700",
      "sell": "12550",
      "buy_median": "12750",
      "sell_median": "12500",
      "sellers": 14,
      "buyers": 6,
      "official": "12620"
    }
  }
}

GET /public/v1/offers

До 50 объявлений, которые можно взять прямо сейчас, лучшие цены первыми: цена, лимиты, способы оплаты, банк, репутация трейдера и ссылка, открывающая объявление в боте.

Параметры

  • country — код рынка: uz, kz, kg, tj, tm, az, am, by, md, ru. По умолчанию uz.
  • side — sell — продавцы (у них покупают), buy — покупатели (им продают). По умолчанию sell.
  • coin — монета, например usdt_trc20; без параметра — все монеты рынка. Коды монет — в /markets.

Запрос

GET https://garantp2p.com/public/v1/offers?country=uz&side=sell&coin=usdt_trc20

Пример ответа

{
  "country": "uz",
  "side": "sell",
  "coin": "usdt_trc20",
  "updated": 1790000000,
  "offers": [
    {
      "id": 128,
      "side": "sell",
      "coin": "usdt_trc20",
      "country": "uz",
      "currency": "UZS",
      "price": "12700",
      "min": "200000",
      "max": "5000000",
      "methods": [
        {
          "key": "uzcard",
          "name": "Uzcard"
        }
      ],
      "bank": null,
      "trader": {
        "name": "Aziz",
        "level": "pro",
        "deals": 57,
        "rating": 4.9,
        "completion": 98,
        "verified": true,
        "kyc": true,
        "collateral_usd": 500
      },
      "url": "https://t.me/garant_p2p_exchange_bot?start=offer_128"
    }
  ]
}

GET /public/v1/transparency

Кошельки гаранта с балансами, последние завершённые сделки, итоги споров и залоги трейдеров — то же, что на странице «Прозрачность».

Запрос

GET https://garantp2p.com/public/v1/transparency

Пример ответа

{
  "wallets": [
    "…"
  ],
  "feed": [
    "…"
  ],
  "disputes": {
    "…": "…"
  },
  "collateral": {
    "traders": 12,
    "total": "6000",
    "paid_count": 0,
    "paid": "0"
  },
  "fund": null
}

GET /public/v1/rates.xml

Лучшие объявления по каждой монете, платёжной системе и направлению в формате выгрузки для мониторингов обменников (BestChange XML): from — что клиент отдаёт, to — что получает, amount — резерв, minamount и maxamount — лимиты сделки в валюте from. Комиссия гаранта уже включена в курс, комиссия сети указана в tofee. Файл собирается заново при каждом запросе, лимит — 600 запросов в минуту с одного IP.

Коды валют — из списка BestChange: монеты USDTTRC20, USDTBEP20, USDTTON, BTC, USDCSOL; карты UZCUZS (Uzcard), HUMOUZS (Humo), KSPBKZT (Kaspi), CARDUZS (Visa/Mastercard). Способы оплаты, которых нет в этом списке, в файл не попадают.

Запрос

GET https://garantp2p.com/public/v1/rates.xml

Пример ответа

<?xml version="1.0" encoding="UTF-8"?>
<rates>
<item><from>HUMOUZS</from><to>USDTTRC20</to><in>12828.282829</in><out>1</out><amount>8450.5</amount><minamount>200000</minamount><maxamount>5000000</maxamount><tofee>2.5</tofee><param>manual, reg</param></item>
<item><from>USDTTRC20</from><to>HUMOUZS</to><in>1</in><out>12550</out><amount>36000000</amount><minamount>15.936255</minamount><maxamount>398.406374</maxamount><param>manual, reg</param></item>
</rates>

🧩 Виджет курсов для сайта

Готовый блок с лучшими курсами и кнопкой обмена для вашего сайта, блога или канала. Вставьте код в HTML страницы — курсы обновляются сами, ключ не нужен.

Параметры

  • country — код рынка: uz, kz, kg, tj, tm, az, am, by, md, ru. По умолчанию uz.
  • lang — язык виджета: ru, en, uz и другие языки сайта. По умолчанию — язык браузера посетителя.
  • coin — монета, например usdt_trc20; без параметра — все монеты рынка. Коды монет — в /markets.
  • ref — ваш Telegram ID из партнёрской программы: кнопка откроет бота по вашей ссылке, и вы будете получать долю комиссии с приглашённых. Готовый код с вашим ID — в Mini App: Профиль → Партнёрская программа.
  • theme — light — светлая тема. По умолчанию тёмная.
<iframe src="https://garantp2p.com/widget?country=uz&lang=ru" width="360" height="260" loading="lazy" title="Garant Exchange" style="border:0;max-width:100%"></iframe>

⚠️ Ошибки

400 bad_country — такого рынка нет или он закрыт; 400 bad_request — неверный side или coin; 429 slow_down — превышен лимит запросов.

📄 Условия использования

Данные справочные и меняются каждую минуту; сделка заключается только в боте по цене из объявления. Показывая данные у себя, укажите источник со ссылкой на garantp2p.com. Номеров карт, кошельков и контактов трейдеров в API нет и не будет.

Начните обмен за минуту

Откройте бота, выберите язык и страну и сразу переходите к объявлениям.

✈️ Открыть в Telegram