API & Агенты

API, мыслящий
как кошелёк.

REST v1 для людей. Нативный MCP для Claude, ChatGPT, Cursor и любого AI-агента. Регистрируйтесь, пополняйте, выпускайте карты, тратьте, отслеживайте транзакции, подавайте споры — полностью автономно, без участия человека.

REST v1 · 50+ эндпоинтов MCP v0.4 · 40+ инструментов OAuth 2.1 + DCR HMAC вебхуки
Две поверхности

Одна программа. Два способа интеграции.

REST для интеграций, которые вы контролируете от начала до конца. MCP для агентов, которые ведут интеграцию самостоятельно.

REST API v1 Для ваших серверов, скриптов и SDK
  • 50+ эндпоинтов, каждое действие с аккаунтом охвачено
  • Типизировано JSON Schema · спецификация OpenAPI 3.1
  • Идемпотентны, с пагинацией, на основе курсора
  • Ключи генерируются в панели → Настройки API
  • Вебхуки с подписью HMAC и защитой от повторного воспроизведения
  • Лимит запросов по ключу · burst 60 запр./с, sustained 1000 запр./мин
  • Обратно совместимы, версионированы (v1 LTS навсегда)
Каталог эндпоинтов
MCP Server Для Claude, ChatGPT, Cursor, Continue, любого агента
  • Нативный сервер Model Context Protocol, размещённый нами
  • 40+ инструментов, сопоставленных 1:1 с REST эндпоинтами, понятные агентам имена
  • Транспорт Streamable HTTP · без состояния или с сессией
  • OAuth 2.1 + DCR — агенты регистрируются самостоятельно во время выполнения
  • Drop-in для Claude Desktop, Cursor, Continue, mcp-cli
  • Права доступа на уровне инструментов — ограничьте агента режимом «только чтение» или одной картой
  • Тот же SLA, те же лимиты запросов, тот же журнал аудита
MCP integration
Быстрый старт

От нуля до живой карты за три вызова.

Зарегистрируйтесь, пополните счёт, выпустите карту. Весь поток умещается в одном сеансе оболочки — и для людей, и для агентов.

API-ключи генерируются в панели по адресу /api-settings. Bearer-токен ниже — это краткосрочный сессионный bearer из ответа на регистрацию: подходит для тестирования, но для продакшена замените его долгосрочным ключом ccm_live_….

1 · регистрация & получение API-ключа
# Create an account — no KYC, no documents
curl https://api.cryptocardium.com/v1/accounts \
  -H "Content-Type: application/json" \
  -d '{
    "email": "[email protected]",
    "password": "long-random-string"
  }'

# → 201 Created · session bearer in the response
{
  "id": "acc_8f3a91b7c4d2",
  "email": "[email protected]",
  "bearer": "sess_94d72b6c..."
}
2 · пополнение казначейства
# Create a USDT-TRC20 deposit address
curl https://api.cryptocardium.com/v1/topups \
  -H "Authorization: Bearer $CCM_KEY" \
  -H "Idempotency-Key: top_b6c31c2a314cab99" \
  -d '{
    "amount_usd": 500,
    "asset": "USDT",
    "chain": "tron"
  }'

{
  "id": "top_4e21a99c7b",
  "status": "pending",
  "amount_usd": 500,
  "deposit_address": "T9zFR...kQp",
  "qr_data_uri": "data:image/png;base64,...",
  "expires_at": "2026-05-19T08:00:00Z"
}
3 · выпуск карты & оплата
# Once your top-up confirms, issue a Visa Platinum
# loaded with $300, Apple/Google Pay-ready.
curl https://api.cryptocardium.com/v1/cards \
  -H "Authorization: Bearer $CCM_KEY" \
  -d '{
    "type": "virtual",
    "bin": "489517",
    "load_usd": 300,
    "wallet_provision": ["apple_pay", "google_pay"]
  }'

{
  "id": "card_8f3a91b7c4d2",
  "bin": "489517",
  "last4": "4218",
  "status": "active",
  "balance_usd": 300,
  "wallet": {"apple_pay": "ready", "google_pay": "ready"}
}
Каталог эндпоинтов

Каждое действие — программируемо.

Аккаунт, пополнения, карты, транзакции, журналы, вывод средств, споры, вебхуки — весь функционал панели, доступный через REST endpoints и MCP tools.

Аккаунт & профиль

7 эндпоинтов
  • POST /v1/accounts Создать новый аккаунт (без KYC, без документов). create_account
  • POST /v1/sessions Войти по email + паролю (возвращает bearer). sign_in
  • DELETE /v1/sessions Завершить текущую сессию. sign_out
  • GET /v1/accounts/me Вернуть данные текущего аккаунта, баланс, состояние 2FA. get_account
  • PATCH /v1/accounts/me Обновить email, пароль, уведомления аккаунта. update_account
  • POST /v1/accounts/me/totp Подключить аутентификатор (возвращает секрет + URI). enable_2fa
  • DELETE /v1/accounts/me/totp Отключить 2FA (требует пароль + действующий код). disable_2fa

API keys

3 эндпоинтов
  • GET /v1/api_keys Список ваших API keys (только префикс, не секрет). list_api_keys
  • POST /v1/api_keys Создать новый ключ. Открытый текст возвращается ОДИН РАЗ. create_api_key
  • DELETE /v1/api_keys/:id Немедленно отозвать ключ. revoke_api_key

Баланс & казначейство

2 эндпоинтов
  • GET /v1/balance Текущий баланс в USDT. get_balance
  • GET /v1/balance/history Временной ряд изменений баланса. get_balance_history

Пополнения

4 эндпоинтов
  • POST /v1/topups Создать пополнение: возвращает адрес депозита + QR. create_topup
  • GET /v1/topups Список ваших пополнений (фильтр по статусу, дате). list_topups
  • GET /v1/topups/:id Получить пополнение (статус, подтверждения, txid). get_topup
  • POST /v1/topups/:id/cancel Отменить ожидающее пополнение. cancel_topup

Карты · выпуск

5 эндпоинтов
  • GET /v1/cards Список ваших карт (фильтр по статусу, типу, BIN). list_cards
  • POST /v1/cards Выпустить новую карту (виртуальную или физическую). issue_card
  • GET /v1/cards/:id Метаданные карты (статус, BIN, последние 4 цифры, баланс). get_card
  • GET /v1/cards/:id/pan Полный PAN + CVV (конфиденциально, одноразово, с аудитом). reveal_pan
  • POST /v1/cards/:id/replace Заменить карту (новый PAN, перевыпуск виртуальной). replace_card

Карты · операции

8 эндпоинтов
  • POST /v1/cards/:id/load Загрузить USDT с баланса на карту. load_card
  • POST /v1/cards/:id/unload Вернуть неиспользованный баланс в казначейство. unload_card
  • POST /v1/cards/:id/freeze Заморозить карту (авторизации отклоняются). freeze_card
  • POST /v1/cards/:id/unfreeze Разморозить заблокированную карту. unfreeze_card
  • POST /v1/cards/:id/cancel Безвозвратно закрыть карту. cancel_card
  • PATCH /v1/cards/:id/limits Установить лимиты карты: на транзакцию / в день / в месяц. set_card_limits
  • PATCH /v1/cards/:id/mcc Разрешить или запретить категории MCC (списки). set_mcc_rules
  • PATCH /v1/cards/:id/geo Привязать карту к определённым странам. set_card_geo

Транзакции

4 эндпоинтов
  • GET /v1/transactions Список всех транзакций по картам (с пагинацией). list_transactions
  • GET /v1/transactions/:id Отдельное событие авторизации/захвата/возврата. get_transaction
  • GET /v1/cards/:id/transactions История транзакций по конкретной карте. list_card_transactions
  • GET /v1/transactions/:id/auth Сырое сообщение авторизации (поля ISO 8583). get_auth_details

Активность & журналы аудита

3 эндпоинтов
  • GET /v1/activity Единый поток событий (пополнения + карты + расходы). get_activity
  • GET /v1/activity?type=error Фильтр по типу события (topup/card/spend/error). filter_activity
  • GET /v1/audit_log Журнал аудита аккаунта (входы, использование ключей). get_audit_log

Вывод средств

3 эндпоинтов
  • POST /v1/withdrawals Вывести USDT на внешний кошелёк. withdraw
  • GET /v1/withdrawals Список ваших запросов на вывод. list_withdrawals
  • GET /v1/withdrawals/:id Получить данные вывода (статус, on-chain txid). get_withdrawal

Споры & чарджбэки

4 эндпоинтов
  • POST /v1/disputes Открыть чарджбэк по транзакции. file_dispute
  • GET /v1/disputes Список ваших споров (открытые / с ответом / закрытые). list_disputes
  • GET /v1/disputes/:id Отдельный спор (статус, ответ, доказательства). get_dispute
  • POST /v1/disputes/:id/evidence Прикрепить доказательства (чеки, скриншоты, примечания). add_dispute_evidence

Webhooks

5 эндпоинтов
  • GET /v1/webhooks Список ваших подписок на webhooks. list_webhooks
  • POST /v1/webhooks Подписаться на события (URL + типы событий). create_webhook
  • PATCH /v1/webhooks/:id Обновить URL, события или сменить ключ подписи. update_webhook
  • DELETE /v1/webhooks/:id Отписаться. delete_webhook
  • POST /v1/webhooks/:id/replay/:eid Воспроизвести событие на ваш эндпоинт. replay_webhook

Поддержка & система

4 эндпоинтов
  • POST /v1/tickets Открыть тикет поддержки (требует активную карту). open_ticket
  • GET /v1/tickets Список ваших тикетов. list_tickets
  • GET /v1/system/health Проверка состояния (эмитент, рельсы, статус сети). get_system_health
  • GET /v1/system/limits Ваши текущие лимиты запросов + лимиты расходов. get_limits
Автономия агента

Что делает агент Claude или ChatGPT самостоятельно.

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

  1. 01

    POST /v1/accounts · create_account

    Агент генерирует новый email и пароль, отправляет запрос. Без KYC, без документов. Получает bearer-токен за ~200 мс.

  2. 02

    POST /v1/topups · create_topup

    Агент запрашивает пополнение в любой поддерживаемой крипте (USDT-TRC20 — дешевле всего). Получает адрес депозита, отправляет крипту со своего кошелька. Webhook срабатывает при подтверждении средств.

  3. 03

    POST /v1/cards · issue_card

    Агент выбирает BIN под нужного мерчанта (Visa Business для рекламы, Visa Platinum для мобильных кошельков, Visa Corporate для SaaS), загружает $X, получает живую карту.

  4. 04

    GET /v1/cards/:id/pan · reveal_pan

    Агент раскрывает PAN + CVV + срок действия (одноразово, с аудитом). Использует их при оформлении заказа у мерчанта. Проверки 3-D Secure подтверждаются через webhook-коллбэк.

  5. 05

    GET /v1/activity · get_activity

    Агент опрашивает (или подписывается через webhook) события авторизации. Подтверждает прохождение платежа. Считывает название мерчанта, MCC, сумму, валюту.

  6. 06

    POST /v1/cards/:id/freeze · freeze_card

    Задача выполнена. Агент замораживает (или закрывает) карту. Неиспользованный баланс можно вернуть в казначейство. Весь поток занял меньше минуты.

MCP integration

Drop-in для Claude, ChatGPT, Cursor.

Добавьте наш размещённый MCP-сервер в конфиг вашего агента. Агент автоматически получит 40+ инструментов — каждый REST endpoint, отображённый в дружественное для агента имя инструмента.

Claude Desktop / Claude Code Эталонная среда выполнения агентов Anthropic
~/.config/claude/claude_desktop_config.json
{
  "mcpServers": {
    "cryptocardium": {
      "url": "https://mcp.cryptocardium.com/v1",
      "transport": "http"
    }
  }
}
Cursor / Continue / mcp-cli Любой MCP-совместимый клиент
# Streamable HTTP transport, OAuth 2.1 DCR
mcp-cli add cryptocardium \
  --url https://mcp.cryptocardium.com/v1 \
  --auth oauth

# The agent enrols itself on first connection,
# no API key needs to be pasted.
40+ инструментов

Каждый REST endpoint имеет соответствующий MCP tool с именем, понятным агенту. Небольшой пример:

create_account sign_in create_topup get_topup issue_card load_card reveal_pan freeze_card unfreeze_card set_card_limits set_mcc_rules list_transactions get_activity withdraw file_dispute create_webhook get_audit_log get_balance get_system_health … ещё 21
Аутентификация & безопасность

Три способа аутентификации.

Bearer-токены для простых скриптов. API keys для продакшен-серверов. OAuth 2.1 с DCR для агентов, которые регистрируются самостоятельно.

Сессионный Bearer

Из POST /v1/sessions. Краткосрочный (30 дней). Подходит для тестирования и интерактивных скриптов.

Authorization: Bearer sess_94d72b6c…

API key

Из API Settings. Постоянный (до отзыва). Несёт разрешения уровня аккаунта. Лучший вариант для бэкенд-интеграций.

Authorization: Bearer ccm_live_a1b2c3d4…

OAuth 2.1 + DCR

Агенты регистрируются самостоятельно во время выполнения через Dynamic Client Registration. Права доступа на уровне инструментов — ограничьте агента режимом «только чтение» или одной конкретной картой.

POST /oauth/register
  → client_id, client_secret
POST /oauth/token
  → access_token (scoped)
Webhooks

Подпишитесь на каждое событие.

Payload-ы, подписанные HMAC-SHA256. Доставка «как минимум один раз» с повторными попытками. Воспроизводите любое событие из дашборда или через API.

Типы событий

  • account.created · новая регистрация
  • account.signed_in · начало сессии
  • topup.created · адрес депозита выдан
  • topup.confirmed · достигнута on-chain финальность
  • topup.expired · окно адреса закрыто
  • topup.error · ошибка расчёта (kill-switch, возврат)
  • card.issued · новая карта активна
  • card.loaded · средства добавлены на карту
  • card.frozen · заморожена агентом или администратором
  • card.cancelled · окончательно закрыта
  • transaction.authorized · предавторизация
  • transaction.captured · расчёт выполнен мерчантом
  • transaction.refunded · получен возврат
  • transaction.declined · с кодом причины
  • dispute.opened · чарджбэк подан
  • dispute.resolved · выигран / проигран
  • withdrawal.broadcasted · on-chain транзакция отправлена
  • system.maintenance · плановое техническое обслуживание
проверка webhook
# Headers we set on every webhook
Cryptocardium-Signature: t=1718999999,
  v1=4a8b2f...
Cryptocardium-Event-Id: evt_a1b2c3d4

# Verify (Node example)
const sig = req.headers['cryptocardium-signature'];
const [t, v1] = parseSig(sig);
const expected = hmac(
  'sha256',
  SIGNING_SECRET,
  `${t}.${rawBody}`
);
if (!timingSafeEqual(v1, expected)) reject();
60 req/s Всплеск

На API key. Кратковременные всплески выше установленной скорости допускаются в субсекундных окнах.

1k req/min Устойчивый

На API key. Превышенные запросы получают 429 Too Many Requests с заголовком Retry-After.

25 MB Макс. размер payload

Тела запросов и ответов. Доказательства споров поддерживают потоковую загрузку до 100 МБ.

99.99% Аптайм · 90 дней

Мультирегиональный active-active. Страница статуса: status.cryptocardium.com.

Открыть API

Создавайте, автоматизируйте, управляйте агентами.
Всё, что умеют карты, умеет и ваш код.

Зарегистрируйтесь, перейдите в панель, сгенерируйте ключ, подключите к агенту. Шестьдесят секунд от нуля до автономных трат.

FAQ

API и MCP-сервер — ответы на вопросы.

Everything people actually ask. Last updated .

Где находится спецификация OpenAPI?

Машиночитаемая спецификация OpenAPI 3.1 для поверхности REST v1 опубликована по адресу https://cryptocardium.com/openapi.json (и YAML-заглушка по /openapi.yaml). Импортируйте её в Postman, Insomnia, Stoplight или любой AI-инструмент, работающий с OpenAPI.

Как работает обнаружение MCP-сервера?

Карточка сервера опубликована по адресу https://cryptocardium.com/.well-known/mcp/server-card.json (формат MCP SEP-1649). Метаданные авторизации находятся по адресам /.well-known/oauth-authorization-server (RFC 8414) и /.well-known/oauth-protected-resource (RFC 9728). MCP-клиенты подключаются к серверу от начала до конца без ручной настройки.

Какие MCP-транспорты поддерживаются?

Только Streamable HTTP (спецификация MCP 2025-06-18) с опциональным обновлением SSE для долгосрочных операций. Устаревший транспорт HTTP+SSE не поддерживается.

Может ли AI-агент зарегистрироваться без ручного онбординга?

Да. Динамическая регистрация клиентов (RFC 7591) поддерживается на сервере авторизации OAuth 2.1. Агент отправляет POST со своими метаданными на /oauth/register и немедленно получает client_id и client_secret. Начальные права доступа ограничены; агент может запросить расширенные права через стандартный процесс согласия OAuth.

Поддерживает ли API микроплатежи x402?

Да. Платные эндпоинты могут возвращать HTTP 402 со структурированным заголовком PAYMENT-REQUIRED (scheme=exact, network=base, asset=USDC). Агент повторяет запрос с PAYMENT-SIGNATURE. Нативное соответствие как Visa TAP, так и Mastercard Agent Pay.

Как аутентифицируются вебхуки?

Каждое событие вебхука подписывается HMAC-SHA256. Ключ подписи генерируется однократно при подписке и ротируется по запросу. Ключи идемпотентности обеспечивают безопасное воспроизведение. Охватываемые события жизненного цикла: переходы состояния пополнения, выпуск карты, авторизация, захват, возврат, спор, расчёт.

Права доступа выдаются по инструменту или по вызову?

Права доступа — по инструменту. Вы можете предоставить агенту доступ только для чтения карт (card:read), или только для выпуска без раскрытия (card:issue без card:reveal_pan), или ограничить доступ до одной карты с помощью детальных политик доступа. Разрешения отзываются в любое время.

Каков лимит запросов?

600 запросов в минуту на один API-ключ, с burst-лимитом 100 запросов. Более высокие лимиты доступны по запросу через /contact. Лимиты отображаются по адресу /v1/system/limits.