API & エージェント

ウォレットのように考える
API。

人間向けに REST v1。Claude、ChatGPT、Cursor、および任意の AI エージェント向けに ネイティブ MCP。サインアップ、トップアップ、カード発行、支出、取引監視、異議申し立て — 完全自律、ループに人間が介在しません。

REST v1 · 50以上のエンドポイント MCP v0.4 · 40以上のツール OAuth 2.1 + DCR HMAC ウェブフック
2つのサーフェス

1つのプログラム。2つのインテグレーション方法。

エンドツーエンドでコントロールするインテグレーションには REST。エージェントが自律的にインテグレーションを行う場合には MCP。

REST API v1 サーバー、スクリプト、SDK 向け
  • 50以上のエンドポイント、すべてのアカウントアクションをカバー
  • JSON スキーマ型付き · OpenAPI 3.1 仕様
  • 冪等、ページネーション対応、カーソルベース
  • パネル → API 設定 でキーを生成
  • リプレイ保護付き HMAC 署名ウェブフック
  • キーごとのレート制限 · 60 req/s バースト、1000 req/分 持続
  • 後方互換性あり、バージョン管理(v1 LTS 永続)
エンドポイントカタログ
MCP サーバー Claude、ChatGPT、Cursor、Continue、任意のエージェント向け
  • 当社ホスト型のネイティブ Model Context Protocol サーバー
  • REST エンドポイントから 1:1 でマッピングされた 40以上のツール、エージェントフレンドリーな名称
  • ストリーミング HTTP トランスポート · ステートレスまたはセッション
  • OAuth 2.1 + DCR — エージェントが実行時に自己登録
  • Claude Desktop、Cursor、Continue、mcp-cli にそのまま組み込めます。
  • ツールごとのスコープ付与 — エージェントを読み取り専用、または特定のカードのみに制限できます。
  • SLA、レート制限、監査ログはすべて同一です。
MCP 連携
クイックスタート

ゼロからライブカードまで、たった3回のコール。

サインアップして、チャージして、カードを発行する。フロー全体が1つのシェルセッションに収まります — 人間にもエージェントにも対応しています。

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_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"
}
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"}
}
エンドポイントカタログ

すべての操作をプログラム可能に。

アカウント、チャージ、カード、トランザクション、ログ、出金、異議申し立て、Webhooks — パネルのすべての機能が 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 を取得します(機密情報、単発使用、監査あり)。 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

Webhooks

5 エンドポイント
  • GET /v1/webhooks Webhook サブスクリプション一覧を取得します。 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 が最安値)でチャージをリクエストします。入金アドレスを受け取り、ウォレットから暗号資産を送金します。資金が確認されると Webhook が発火 します。

  3. 03

    POST /v1/cards · issue_card

    エージェントが加盟店に合った BIN を選択します(広告向けには Visa Business、モバイルウォレット向けには Visa Platinum、SaaS 向けには Visa Corporate)、金額をチャージして、ライブカードを取得します。

  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

    タスク完了。エージェントがカードを凍結(またはキャンセル)します。未使用の残高はトレジャリーに戻せます。フロー全体が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件
認証とセキュリティ

3つの認証方式。

シンプルなスクリプト向けのベアラートークン。本番サーバー向けの 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)
Webhooks

すべてのイベントを購読できます。

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 · 定期メンテナンス
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 キーごと。サブ秒のウィンドウ内で定常レートを超えた短時間のバーストは許容されます。

1k req/min 持続レート

API キーごと。超過したリクエストには Retry-After ヘッダー付きの 429 Too Many Requests が返されます。

25 MB ペイロード上限

リクエストとレスポンスのボディ。異議申し立ての証拠は最大100MBのストリーミングアップロードに対応しています。

99.99% 稼働率 · 90日

マルチリージョン アクティブ-アクティブ構成。ステータスページ: status.cryptocardium.com

API を開く

ビルドし、自動化し、エージェントに任せる。
カードでできることは、コードでも全部できます。

サインアップしてパネルにアクセスし、キーを生成してエージェントに接続してください。ゼロから自律的な利用まで60秒です。

よくある質問

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 トランスポートがサポートされていますか?

ストリーミング HTTP のみ(MCP spec 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 で署名されています。署名キーはサブスクリプション時に1回生成され、オンデマンドでローテーション可能です。冪等キーにより安全なリプレイが可能です。対象ライフサイクルイベント:トップアップ状態遷移、カード発行、承認、キャプチャ、返金、異議申し立て、決済。

スコープはツール単位ですか、呼び出し単位ですか?

スコープはツール単位です。エージェントにカードの読み取り専用(card:read)を付与したり、PAN 開示なしの発行のみ(card:reveal_pan なしの card:issue)に設定したり、きめ細かいアクセスポリシーで単一カードにスコープを絞ったりすることができます。スコープ付与はいつでも取り消し可能です。

レート制限はいくつですか?

API キーあたり1分間に 600 リクエスト、バーストは 100 リクエストです。より高い上限については /contact からお申し込みください。制限は /v1/system/limits で確認できます。