API & 에이전트

지갑처럼 생각하는
API.

사람을 위한 REST v1. Claude, ChatGPT, Cursor 및 모든 AI 에이전트를 위한 네이티브 MCP. 가입, 충전, 카드 발급, 결제, 거래 조회, 이의 신청 — 사람의 개입 없이 완전 자율 운영.

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 서명 웹훅
  • 키별 요청 한도 · 순간 최대 60건/초, 지속 1,000건/분
  • 하위 호환성 유지, 버전 관리(v1 LTS 영구 지원)
엔드포인트 카탈로그
MCP 서버 Claude, ChatGPT, Cursor, Continue 및 모든 에이전트를 위한 인터페이스
  • 당사가 호스팅하는 네이티브 Model Context Protocol 서버
  • REST 엔드포인트와 1:1 매핑된 40개 이상의 툴, 에이전트 친화적 명칭
  • Streamable HTTP 전송 · 스테이트리스 또는 세션 방식
  • OAuth 2.1 + DCR — 에이전트가 런타임 시 자체 등록
  • Claude Desktop, Cursor, Continue, mcp-cli에 즉시 적용 가능
  • 도구별 범위 권한 부여 — 에이전트를 읽기 전용 또는 카드 한 장으로 제한 가능
  • 동일한 SLA, 동일한 요청 제한, 동일한 감사 로그
MCP 통합
빠른 시작

세 번의 호출로 카드 발급까지.

회원가입, 충전, 카드 발급. 전체 흐름이 단일 셸 세션에 담깁니다 — 사람과 에이전트 모두에게.

API 키는 /api-settings 패널에서 생성됩니다. 아래의 베어러 토큰은 회원가입 응답에서 발급되는 단기 세션 베어러입니다 — 테스트용으로는 적합하지만, 운영 환경에서는 장기 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_1e214750e76ecb3e" \
  -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 엔드포인트와 MCP 도구로 공개됩니다.

계정 & 프로필

7 엔드포인트
  • POST /v1/accounts 새 계정을 생성합니다 (KYC 없음, 서류 없음). create_account
  • POST /v1/sessions 이메일 + 비밀번호로 로그인합니다 (베어러 반환). sign_in
  • DELETE /v1/sessions 현재 세션에서 로그아웃합니다. sign_out
  • GET /v1/accounts/me 현재 계정, 잔액, 2FA 상태를 반환합니다. get_account
  • PATCH /v1/accounts/me 계정 이메일, 비밀번호, 알림을 업데이트합니다. update_account
  • POST /v1/accounts/me/totp 인증기를 등록합니다 (비밀 키 + URI 반환). enable_2fa
  • DELETE /v1/accounts/me/totp 2FA를 비활성화합니다 (비밀번호 + 유효 코드 필요). disable_2fa

API 키

3 엔드포인트
  • GET /v1/api_keys API 키 목록을 조회합니다 (접두사만 표시, 비밀 키 미노출). 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를 조회합니다 (민감 정보, 1회용, 감사 기록). 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 출금 정보를 조회합니다 (상태, 온체인 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

웹훅

5 엔드포인트
  • GET /v1/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

    에이전트가 새 이메일과 비밀번호를 생성하여 전송합니다. KYC 없음, 서류 없음. ~200ms 내에 베어러 토큰을 수신합니다.

  2. 02

    POST /v1/topups · create_topup

    에이전트가 지원되는 암호화폐로 충전을 요청합니다 (USDT-TRC20이 가장 저렴). 입금 주소를 수신합니다. 지갑에서 암호화폐를 전송합니다. 자금이 확인되면 웹훅이 실행됩니다.

  3. 03

    POST /v1/cards · issue_card

    에이전트가 가맹점에 맞는 BIN을 선택합니다 (광고 플랫폼에는 Visa Business, 모바일 지갑에는 Visa Platinum, SaaS에는 Visa Corporate). $X를 충전하고 즉시 사용 가능한 카드를 발급받습니다.

  4. 04

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

    에이전트가 PAN + CVV + 유효기간을 조회합니다 (1회용, 감사 기록). 가맹점 결제 시 사용합니다. 3-D Secure 인증 요청은 웹훅 콜백을 통해 승인됩니다.

  5. 05

    GET /v1/activity · get_activity

    에이전트가 승인 이벤트를 폴링하거나 웹훅으로 구독합니다. 결제가 완료되었는지 확인합니다. 가맹점명, MCC, 금액, 통화를 읽습니다.

  6. 06

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

    작업 완료. 에이전트가 카드를 동결하거나 취소합니다. 미사용 잔액은 자금으로 환원할 수 있습니다. 전체 흐름이 1분 이내에 완료됩니다.

MCP 통합

Claude, ChatGPT, Cursor에 즉시 적용.

에이전트 설정에 호스팅된 MCP 서버를 추가하십시오. 에이전트가 40개 이상의 도구를 자동으로 인식합니다 — 모든 REST 엔드포인트가 에이전트 친화적인 도구명으로 매핑됩니다.

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 엔드포인트에 에이전트 이해에 최적화된 이름의 MCP 도구가 대응됩니다. 일부 예시:

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개 더
인증 & 보안

세 가지 인증 방법.

간단한 스크립트에는 베어러 토큰. 운영 서버에는 API 키. 자체 등록하는 에이전트에는 DCR이 포함된 OAuth 2.1.

베어러 세션

POST /v1/sessions에서 발급. 단기 유효 (30일). 테스트 및 대화형 스크립트에 적합.

Authorization: Bearer sess_94d72b6c…

API 키

API 설정에서 발급. 영구적 (폐기 전까지). 계정 수준 권한 보유. 백엔드 통합에 최적.

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)
웹훅

모든 이벤트를 구독하십시오.

HMAC-SHA256 서명 페이로드. 재시도를 포함한 최소 1회 전달 보장. 대시보드 또는 API에서 모든 이벤트를 재전송 가능.

이벤트 유형

  • account.created · 신규 회원가입
  • account.signed_in · 세션 시작
  • topup.created · 입금 주소 발급
  • topup.confirmed · 온체인 최종 확인
  • topup.expired · 주소 유효 기간 만료
  • topup.error · 정산 실패 (킬 스위치, 환불)
  • card.issued · 새 카드 활성화
  • card.loaded · 카드 자금 추가
  • card.frozen · 에이전트 또는 관리자가 동결
  • card.cancelled · 영구 폐기
  • transaction.authorized · 결제 전 승인
  • transaction.captured · 가맹점 결제 완료
  • transaction.refunded · 환불 수령
  • transaction.declined · 사유 코드 포함 거절
  • dispute.opened · 이의 제기 접수
  • dispute.resolved · 이의 제기 해결 (승인 / 거절)
  • withdrawal.broadcasted · 온체인 트랜잭션 전송
  • system.maintenance · 예정된 점검
웹훅 검증
# 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 키당. 초당 이하의 짧은 구간에서 정상 속도를 초과하는 버스트는 허용됩니다.

1k req/min 지속

API 키당. 한도 초과 요청은 Retry-After 헤더와 함께 429 Too Many Requests를 반환합니다.

25 MB 최대 페이로드

요청 및 응답 본문. 이의 제기 증거는 최대 100 MB의 스트리밍 업로드를 지원합니다.

99.99% 업타임 · 90일

멀티 리전 액티브-액티브. 상태 페이지: status.cryptocardium.com.

API 시작하기

구축하고, 자동화하고, 에이전트로 운영하십시오.
카드로 가능한 모든 것을 코드로 실현하십시오.

회원가입 후 패널로 이동하여 키를 생성하고 에이전트에 연결하십시오. 시작부터 자율 결제까지 60초면 충분합니다.

FAQ

API와 MCP 서버, 모든 궁금증 해소.

Everything people actually ask. Last updated .

OpenAPI 명세서는 어디서 확인합니까?

REST v1 인터페이스에 대한 기계 판독 가능한 OpenAPI 3.1 명세서는 https://cryptocardium.com/openapi.json에서 확인할 수 있습니다(YAML 스텁은 /openapi.yaml). Postman, Insomnia, Stoplight 또는 OpenAPI를 사용하는 모든 AI 툴에 임포트하십시오.

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 에이전트가 수동 온보딩 없이 자체 등록할 수 있습니까?

네. Dynamic Client Registration(RFC 7591)은 OAuth 2.1 인증 서버에서 지원됩니다. 에이전트가 /oauth/register에 메타데이터를 POST하면 즉시 client_id와 client_secret을 받습니다. 초기 스코프는 제한되며, 에이전트는 표준 OAuth 동의 흐름을 통해 상위 스코프를 요청할 수 있습니다.

API가 x402 마이크로페이먼트를 지원합니까?

네. 유료 엔드포인트는 구조화된 PAYMENT-REQUIRED 헤더(scheme=exact, network=base, asset=USDC)와 함께 HTTP 402를 반환할 수 있습니다. 에이전트는 PAYMENT-SIGNATURE와 함께 재시도합니다. Visa TAP 및 Mastercard Agent Pay와의 네이티브 호환성을 지원합니다.

웹훅 인증은 어떻게 처리됩니까?

모든 웹훅 이벤트는 HMAC-SHA256으로 서명됩니다. 서명 키는 구독 시 한 번 생성되며 요청에 따라 교체할 수 있습니다. 멱등성 키를 통해 안전한 재전송이 가능합니다. 처리되는 생애주기 이벤트: 충전 상태 변환, 카드 발급, 승인, 캡처, 환불, 이의 신청, 정산.

스코프는 툴별입니까, 호출별입니까?

스코프는 툴별입니다. 에이전트에게 카드 읽기 전용(card:read)을 부여하거나, 공개 없이 발급만 허용(card:reveal_pan 없이 card:issue)하거나, 세밀한 접근 정책을 통해 단일 카드로 스코프를 제한할 수 있습니다. 스코프 부여는 언제든지 철회할 수 있습니다.

요청 한도(Rate limit)는 얼마입니까?

API 키당 분당 600건, 순간 최대 100건입니다. 더 높은 한도는 /contact를 통해 요청하십시오. 한도 정보는 /v1/system/limits에서 확인할 수 있습니다.