- 50개 이상 엔드포인트, 모든 계정 작업 지원
- JSON Schema 타입 적용 · OpenAPI 3.1 명세서
- 멱등성 보장, 페이지 처리, 커서 기반
- 패널 → API 설정에서 키 생성
- 재전송 방지 기능이 있는 HMAC 서명 웹훅
- 키별 요청 한도 · 순간 최대 60건/초, 지속 1,000건/분
- 하위 호환성 유지, 버전 관리(v1 LTS 영구 지원)
사람을 위한 REST v1. Claude, ChatGPT, Cursor 및 모든 AI 에이전트를 위한 네이티브 MCP. 가입, 충전, 카드 발급, 결제, 거래 조회, 이의 신청 — 사람의 개입 없이 완전 자율 운영.
처음부터 끝까지 직접 제어하는 통합에는 REST. 에이전트가 자체적으로 통합을 진행하는 경우에는 MCP.
회원가입, 충전, 카드 발급. 전체 흐름이 단일 셸 세션에 담깁니다 — 사람과 에이전트 모두에게.
API 키는 /api-settings 패널에서 생성됩니다. 아래의 베어러 토큰은 회원가입 응답에서 발급되는 단기 세션 베어러입니다 — 테스트용으로는 적합하지만, 운영 환경에서는 장기 ccm_live_… 키로 교체하십시오.
# 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..."
}
# 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"
}
# 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 도구로 공개됩니다.
/v1/accounts
새 계정을 생성합니다 (KYC 없음, 서류 없음).
create_account
/v1/sessions
이메일 + 비밀번호로 로그인합니다 (베어러 반환).
sign_in
/v1/sessions
현재 세션에서 로그아웃합니다.
sign_out
/v1/accounts/me
현재 계정, 잔액, 2FA 상태를 반환합니다.
get_account
/v1/accounts/me
계정 이메일, 비밀번호, 알림을 업데이트합니다.
update_account
/v1/accounts/me/totp
인증기를 등록합니다 (비밀 키 + URI 반환).
enable_2fa
/v1/accounts/me/totp
2FA를 비활성화합니다 (비밀번호 + 유효 코드 필요).
disable_2fa
/v1/api_keys
API 키 목록을 조회합니다 (접두사만 표시, 비밀 키 미노출).
list_api_keys
/v1/api_keys
새 키를 생성합니다. 평문은 한 번만 반환됩니다.
create_api_key
/v1/api_keys/:id
키를 즉시 폐기합니다.
revoke_api_key
/v1/balance
현재 USDT 잔액을 조회합니다.
get_balance
/v1/balance/history
잔액 변동 시계열을 조회합니다.
get_balance_history
/v1/topups
충전을 생성합니다: 입금 주소 + QR 코드를 반환합니다.
create_topup
/v1/topups
충전 내역을 조회합니다 (상태, 날짜로 필터링).
list_topups
/v1/topups/:id
충전 정보를 조회합니다 (상태, 확인 수, txid).
get_topup
/v1/topups/:id/cancel
대기 중인 충전을 취소합니다.
cancel_topup
/v1/cards
카드 목록을 조회합니다 (상태, 유형, BIN으로 필터링).
list_cards
/v1/cards
새 카드를 발급합니다 (가상 또는 실물).
issue_card
/v1/cards/:id
카드 메타데이터를 조회합니다 (상태, BIN, 뒷 4자리, 잔액).
get_card
/v1/cards/:id/pan
전체 PAN + CVV를 조회합니다 (민감 정보, 1회용, 감사 기록).
reveal_pan
/v1/cards/:id/replace
카드를 재발급합니다 (새 PAN, 가상 카드 재발행).
replace_card
/v1/cards/:id/load
잔액에서 USDT를 카드로 충전합니다.
load_card
/v1/cards/:id/unload
미사용 잔액을 자금으로 환원합니다.
unload_card
/v1/cards/:id/freeze
카드를 동결합니다 (승인 거절).
freeze_card
/v1/cards/:id/unfreeze
동결된 카드를 재활성화합니다.
unfreeze_card
/v1/cards/:id/cancel
카드를 영구 취소합니다.
cancel_card
/v1/cards/:id/limits
카드별 건당 / 일별 / 월별 한도를 설정합니다.
set_card_limits
/v1/cards/:id/mcc
MCC 카테고리를 허용하거나 차단합니다 (목록 방식).
set_mcc_rules
/v1/cards/:id/geo
카드를 특정 국가로 지역 잠금합니다.
set_card_geo
/v1/transactions
모든 카드 거래를 조회합니다 (페이지네이션).
list_transactions
/v1/transactions/:id
단일 승인/결제/환불 이벤트를 조회합니다.
get_transaction
/v1/cards/:id/transactions
카드별 거래 내역을 조회합니다.
list_card_transactions
/v1/transactions/:id/auth
원시 승인 메시지를 조회합니다 (ISO 8583 필드).
get_auth_details
/v1/activity
통합 이벤트 스트림을 조회합니다 (충전 + 카드 + 결제).
get_activity
/v1/activity?type=error
이벤트 유형으로 필터링합니다 (topup/card/spend/error).
filter_activity
/v1/audit_log
계정 수준 감사 로그를 조회합니다 (로그인, 키 사용 내역).
get_audit_log
/v1/withdrawals
USDT를 외부 지갑으로 출금합니다.
withdraw
/v1/withdrawals
출금 요청 내역을 조회합니다.
list_withdrawals
/v1/withdrawals/:id
출금 정보를 조회합니다 (상태, 온체인 txid).
get_withdrawal
/v1/disputes
거래에 대한 이의 제기를 신청합니다.
file_dispute
/v1/disputes
이의 제기 목록을 조회합니다 (진행 중 / 답변됨 / 완료).
list_disputes
/v1/disputes/:id
단일 이의 제기 정보를 조회합니다 (상태, 답변, 증거).
get_dispute
/v1/disputes/:id/evidence
증거를 첨부합니다 (영수증, 스크린샷, 메모).
add_dispute_evidence
/v1/webhooks
웹훅 구독 목록을 조회합니다.
list_webhooks
/v1/webhooks
이벤트를 구독합니다 (URL + 이벤트 유형).
create_webhook
/v1/webhooks/:id
URL, 이벤트, 또는 서명 키를 업데이트합니다.
update_webhook
/v1/webhooks/:id
구독을 취소합니다.
delete_webhook
/v1/webhooks/:id/replay/:eid
엔드포인트로 이벤트를 재전송합니다.
replay_webhook
/v1/tickets
지원 티켓을 개설합니다 (활성 카드 필요).
open_ticket
/v1/tickets
티켓 목록을 조회합니다.
list_tickets
/v1/system/health
시스템 상태를 확인합니다 (발급사, 결제망, 네트워크 상태).
get_system_health
/v1/system/limits
현재 요청 제한 + 지출 한도를 조회합니다.
get_limits
"암호화폐로 클라우드 크레딧 100달러 구매"와 같은 작업이 주어지면 에이전트는 아래 호출을 연쇄 실행합니다 — 사람의 개입 없이. 모든 단계가 단일 도구 호출입니다.
/v1/accounts · create_account에이전트가 새 이메일과 비밀번호를 생성하여 전송합니다. KYC 없음, 서류 없음. ~200ms 내에 베어러 토큰을 수신합니다.
/v1/topups · create_topup에이전트가 지원되는 암호화폐로 충전을 요청합니다 (USDT-TRC20이 가장 저렴). 입금 주소를 수신합니다. 지갑에서 암호화폐를 전송합니다. 자금이 확인되면 웹훅이 실행됩니다.
/v1/cards · issue_card에이전트가 가맹점에 맞는 BIN을 선택합니다 (광고 플랫폼에는 Visa Business, 모바일 지갑에는 Visa Platinum, SaaS에는 Visa Corporate). $X를 충전하고 즉시 사용 가능한 카드를 발급받습니다.
/v1/cards/:id/pan · reveal_pan에이전트가 PAN + CVV + 유효기간을 조회합니다 (1회용, 감사 기록). 가맹점 결제 시 사용합니다. 3-D Secure 인증 요청은 웹훅 콜백을 통해 승인됩니다.
/v1/activity · get_activity에이전트가 승인 이벤트를 폴링하거나 웹훅으로 구독합니다. 결제가 완료되었는지 확인합니다. 가맹점명, MCC, 금액, 통화를 읽습니다.
/v1/cards/:id/freeze · freeze_card작업 완료. 에이전트가 카드를 동결하거나 취소합니다. 미사용 잔액은 자금으로 환원할 수 있습니다. 전체 흐름이 1분 이내에 완료됩니다.
에이전트 설정에 호스팅된 MCP 서버를 추가하십시오. 에이전트가 40개 이상의 도구를 자동으로 인식합니다 — 모든 REST 엔드포인트가 에이전트 친화적인 도구명으로 매핑됩니다.
~/.config/claude/claude_desktop_config.json
{
"mcpServers": {
"cryptocardium": {
"url": "https://mcp.cryptocardium.com/v1",
"transport": "http"
}
}
}
# 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.
모든 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 설정에서 발급. 영구적 (폐기 전까지). 계정 수준 권한 보유. 백엔드 통합에 최적.
Authorization: Bearer ccm_live_a1b2c3d4…
에이전트가 동적 클라이언트 등록(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();
API 키당. 초당 이하의 짧은 구간에서 정상 속도를 초과하는 버스트는 허용됩니다.
API 키당. 한도 초과 요청은 Retry-After 헤더와 함께 429 Too Many Requests를 반환합니다.
요청 및 응답 본문. 이의 제기 증거는 최대 100 MB의 스트리밍 업로드를 지원합니다.
멀티 리전 액티브-액티브. 상태 페이지: status.cryptocardium.com.
회원가입 후 패널로 이동하여 키를 생성하고 에이전트에 연결하십시오. 시작부터 자율 결제까지 60초면 충분합니다.
Everything people actually ask. Last updated .
REST v1 인터페이스에 대한 기계 판독 가능한 OpenAPI 3.1 명세서는 https://cryptocardium.com/openapi.json에서 확인할 수 있습니다(YAML 스텁은 /openapi.yaml). Postman, Insomnia, Stoplight 또는 OpenAPI를 사용하는 모든 AI 툴에 임포트하십시오.
서버 카드는 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 클라이언트는 수동 구성 없이 서버를 자동으로 감지합니다.
Streamable HTTP 방식만 지원합니다(MCP 사양 2025-06-18). 장시간 작업의 경우 선택적 SSE 업그레이드를 지원합니다. 더 이상 사용되지 않는 HTTP+SSE 전송 방식은 지원하지 않습니다.
네. Dynamic Client Registration(RFC 7591)은 OAuth 2.1 인증 서버에서 지원됩니다. 에이전트가 /oauth/register에 메타데이터를 POST하면 즉시 client_id와 client_secret을 받습니다. 초기 스코프는 제한되며, 에이전트는 표준 OAuth 동의 흐름을 통해 상위 스코프를 요청할 수 있습니다.
네. 유료 엔드포인트는 구조화된 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)하거나, 세밀한 접근 정책을 통해 단일 카드로 스코프를 제한할 수 있습니다. 스코프 부여는 언제든지 철회할 수 있습니다.
API 키당 분당 600건, 순간 최대 100건입니다. 더 높은 한도는 /contact를 통해 요청하십시오. 한도 정보는 /v1/system/limits에서 확인할 수 있습니다.