- 50以上のエンドポイント、すべてのアカウントアクションをカバー
- JSON スキーマ型付き · OpenAPI 3.1 仕様
- 冪等、ページネーション対応、カーソルベース
- パネル → API 設定 でキーを生成
- リプレイ保護付き HMAC 署名ウェブフック
- キーごとのレート制限 · 60 req/s バースト、1000 req/分 持続
- 後方互換性あり、バージョン管理(v1 LTS 永続)
人間向けに REST v1。Claude、ChatGPT、Cursor、および任意の AI エージェント向けに ネイティブ MCP。サインアップ、トップアップ、カード発行、支出、取引監視、異議申し立て — 完全自律、ループに人間が介在しません。
エンドツーエンドでコントロールするインテグレーションには REST。エージェントが自律的にインテグレーションを行う場合には MCP。
サインアップして、チャージして、カードを発行する。フロー全体が1つのシェルセッションに収まります — 人間にもエージェントにも対応しています。
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_094ef630489fa120" \
-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"}
}
アカウント、チャージ、カード、トランザクション、ログ、出金、異議申し立て、Webhooks — パネルのすべての機能が 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 を取得します(機密情報、単発使用、監査あり)。
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
Webhook サブスクリプション一覧を取得します。
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 が最安値)でチャージをリクエストします。入金アドレスを受け取り、ウォレットから暗号資産を送金します。資金が確認されると Webhook が発火 します。
/v1/cards · issue_cardエージェントが加盟店に合った BIN を選択します(広告向けには Visa Business、モバイルウォレット向けには Visa Platinum、SaaS 向けには Visa Corporate)、金額をチャージして、ライブカードを取得します。
/v1/cards/:id/pan · reveal_panエージェントが PAN と CVV と有効期限を取得します(単発使用、監査あり)。加盟店のチェックアウトで使用します。3-D Secure の認証は Webhook コールバックで承認されます。
/v1/activity · get_activityエージェントが承認イベントをポーリング(または Webhook 経由で購読)します。利用が完了したことを確認し、加盟店名・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 が返されます。
リクエストとレスポンスのボディ。異議申し立ての証拠は最大100MBのストリーミングアップロードに対応しています。
マルチリージョン アクティブ-アクティブ構成。ステータスページ: 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 クライアントは手動設定なしでサーバーをエンドツーエンドで検出します。
ストリーミング HTTP のみ(MCP spec 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 で署名されています。署名キーはサブスクリプション時に1回生成され、オンデマンドでローテーション可能です。冪等キーにより安全なリプレイが可能です。対象ライフサイクルイベント:トップアップ状態遷移、カード発行、承認、キャプチャ、返金、異議申し立て、決済。
スコープはツール単位です。エージェントにカードの読み取り専用(card:read)を付与したり、PAN 開示なしの発行のみ(card:reveal_pan なしの card:issue)に設定したり、きめ細かいアクセスポリシーで単一カードにスコープを絞ったりすることができます。スコープ付与はいつでも取り消し可能です。
API キーあたり1分間に 600 リクエスト、バーストは 100 リクエストです。より高い上限については /contact からお申し込みください。制限は /v1/system/limits で確認できます。