API & Agen

API yang berpikir
seperti dompet.

REST v1 untuk manusia. Native MCP untuk Claude, ChatGPT, Cursor, dan agen AI apa pun. Daftar, isi saldo, terbitkan kartu, berbelanja, pantau transaksi, ajukan sengketa — sepenuhnya otonom, tanpa campur tangan manusia.

REST v1 · 50+ endpoint MCP v0.4 · 40+ tool OAuth 2.1 + DCR Webhook HMAC
Dua surface

Satu program. Dua cara integrasi.

REST untuk integrasi yang Anda kendalikan end-to-end. MCP untuk agen yang menjalankan integrasi sendiri.

REST API v1 Untuk server, skrip, dan SDK Anda
  • 50+ endpoint, setiap tindakan akun tercakup
  • Bertipe JSON Schema · spesifikasi OpenAPI 3.1
  • Idempoten, paginasi, berbasis kursor
  • Kunci dibuat di panel → API Settings
  • Webhook bertanda tangan HMAC dengan perlindungan pemutaran ulang
  • Rate-limited per kunci · burst 60 req/s, berkelanjutan 1000 req/mnt
  • Kompatibel ke belakang, berversi (v1 LTS selamanya)
Katalog endpoint
MCP Server Untuk Claude, ChatGPT, Cursor, Continue, agen apa pun
  • Server Model Context Protocol native, dihosting oleh kami
  • 40+ tool dipetakan 1:1 dari endpoint REST, nama ramah agen
  • Transport HTTP streamable · stateless atau berbasis sesi
  • OAuth 2.1 + DCR — agen mendaftarkan diri sendiri saat runtime
  • Drop-in untuk Claude Desktop, Cursor, Continue, mcp-cli
  • Pemberian hak akses per-alat — batasi agen hanya membaca, atau hanya ke satu kartu
  • SLA, batas permintaan, dan log audit yang sama
Integrasi MCP
Mulai Cepat

Dari nol hingga kartu aktif dalam tiga panggilan.

Daftar, isi saldo, terbitkan kartu. Seluruh alur muat dalam satu sesi shell — baik untuk manusia maupun agen.

Kunci API dibuat di panel di /api-settings. Token bearer di bawah ini adalah session bearer berumur pendek dari respons pendaftaran — cocok untuk pengujian, namun untuk produksi gantilah dengan kunci ccm_live_… yang berumur panjang.

1 · daftar & dapatkan kunci 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 · isi saldo treasury
# Create a USDT-TRC20 deposit address
curl https://api.cryptocardium.com/v1/topups \
  -H "Authorization: Bearer $CCM_KEY" \
  -H "Idempotency-Key: top_79703b79a0f07e66" \
  -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 · terbitkan kartu & belanja
# 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"}
}
Katalog endpoint

Setiap tindakan, dapat diprogram.

Akun, top-up, kartu, transaksi, log, penarikan, sengketa, webhook — seluruh permukaan panel, tersedia sebagai endpoint REST dan alat MCP.

Akun & profil

7 endpoint
  • POST /v1/accounts Buat akun baru (tanpa KYC, tanpa dokumen). create_account
  • POST /v1/sessions Masuk dengan email + kata sandi (mengembalikan bearer). sign_in
  • DELETE /v1/sessions Keluarkan sesi saat ini. sign_out
  • GET /v1/accounts/me Kembalikan akun saat ini, saldo, status 2FA. get_account
  • PATCH /v1/accounts/me Perbarui email akun, kata sandi, notifikasi. update_account
  • POST /v1/accounts/me/totp Daftarkan autentikator (mengembalikan secret + URI). enable_2fa
  • DELETE /v1/accounts/me/totp Nonaktifkan 2FA (memerlukan kata sandi + kode valid). disable_2fa

Kunci API

3 endpoint
  • GET /v1/api_keys Daftar kunci API Anda (hanya awalan, bukan secret). list_api_keys
  • POST /v1/api_keys Buat kunci baru. Plaintext dikembalikan SEKALI. create_api_key
  • DELETE /v1/api_keys/:id Cabut kunci seketika. revoke_api_key

Saldo & treasury

2 endpoint
  • GET /v1/balance Saldo USDT saat ini. get_balance
  • GET /v1/balance/history Runtun waktu perubahan saldo. get_balance_history

Top-up

4 endpoint
  • POST /v1/topups Buat top-up: mengembalikan alamat deposit + QR. create_topup
  • GET /v1/topups Daftar top-up Anda (filter berdasarkan status, tanggal). list_topups
  • GET /v1/topups/:id Dapatkan top-up (status, konfirmasi, txid). get_topup
  • POST /v1/topups/:id/cancel Batalkan top-up yang tertunda. cancel_topup

Kartu · penerbitan

5 endpoint
  • GET /v1/cards Daftar kartu Anda (filter berdasarkan status, jenis, BIN). list_cards
  • POST /v1/cards Terbitkan kartu baru (virtual atau fisik). issue_card
  • GET /v1/cards/:id Metadata kartu (status, BIN, last4, saldo). get_card
  • GET /v1/cards/:id/pan PAN + CVV lengkap (sensitif, sekali pakai, diaudit). reveal_pan
  • POST /v1/cards/:id/replace Ganti kartu (PAN baru, penerbitan ulang virtual). replace_card

Kartu · operasi

8 endpoint
  • POST /v1/cards/:id/load Muat USDT dari saldo ke kartu. load_card
  • POST /v1/cards/:id/unload Pindahkan saldo yang belum digunakan kembali ke treasury. unload_card
  • POST /v1/cards/:id/freeze Bekukan kartu (otorisasi ditolak). freeze_card
  • POST /v1/cards/:id/unfreeze Aktifkan kembali kartu yang dibekukan. unfreeze_card
  • POST /v1/cards/:id/cancel Batalkan kartu secara permanen. cancel_card
  • PATCH /v1/cards/:id/limits Tetapkan batas per-transaksi / harian / bulanan per kartu. set_card_limits
  • PATCH /v1/cards/:id/mcc Izinkan atau tolak kategori MCC (daftar). set_mcc_rules
  • PATCH /v1/cards/:id/geo Kunci kartu secara geografis ke negara tertentu. set_card_geo

Transaksi

4 endpoint
  • GET /v1/transactions Daftar semua transaksi kartu (dengan paginasi). list_transactions
  • GET /v1/transactions/:id Satu event otorisasi/penagihan/pengembalian dana. get_transaction
  • GET /v1/cards/:id/transactions Riwayat transaksi per kartu. list_card_transactions
  • GET /v1/transactions/:id/auth Pesan otorisasi mentah (field ISO 8583). get_auth_details

Aktivitas & log audit

3 endpoint
  • GET /v1/activity Aliran event terpadu (top-up + kartu + pengeluaran). get_activity
  • GET /v1/activity?type=error Filter berdasarkan jenis event (topup/card/spend/error). filter_activity
  • GET /v1/audit_log Log audit tingkat akun (masuk, penggunaan kunci). get_audit_log

Penarikan

3 endpoint
  • POST /v1/withdrawals Tarik USDT ke dompet eksternal. withdraw
  • GET /v1/withdrawals Daftar permintaan penarikan Anda. list_withdrawals
  • GET /v1/withdrawals/:id Dapatkan penarikan (status, txid on-chain). get_withdrawal

Sengketa & chargeback

4 endpoint
  • POST /v1/disputes Ajukan chargeback atas suatu transaksi. file_dispute
  • GET /v1/disputes Daftar sengketa Anda (terbuka / ditanggapi / ditutup). list_disputes
  • GET /v1/disputes/:id Satu sengketa (status, respons, bukti). get_dispute
  • POST /v1/disputes/:id/evidence Lampirkan bukti (kwitansi, tangkapan layar, catatan). add_dispute_evidence

Webhook

5 endpoint
  • GET /v1/webhooks Daftar langganan webhook Anda. list_webhooks
  • POST /v1/webhooks Berlangganan event (URL + jenis event). create_webhook
  • PATCH /v1/webhooks/:id Perbarui URL, event, atau rotasi kunci penandatanganan. update_webhook
  • DELETE /v1/webhooks/:id Berhenti berlangganan. delete_webhook
  • POST /v1/webhooks/:id/replay/:eid Putar ulang event ke endpoint Anda. replay_webhook

Dukungan & sistem

4 endpoint
  • POST /v1/tickets Buka tiket dukungan (memerlukan kartu aktif). open_ticket
  • GET /v1/tickets Daftar tiket Anda. list_tickets
  • GET /v1/system/health Pemeriksaan kesehatan (penerbit, rel, status jaringan). get_system_health
  • GET /v1/system/limits Batas permintaan + batas pengeluaran Anda saat ini. get_limits
Otonomi agen

Yang dilakukan agen Claude atau ChatGPT secara mandiri.

Diberi tugas seperti "beli 100 kredit cloud dengan kripto," agen merantai panggilan di bawah ini — tanpa campur tangan manusia. Setiap langkah adalah satu panggilan alat.

  1. 01

    POST /v1/accounts · create_account

    Agen membuat email dan kata sandi baru, lalu mengirimkannya. Tanpa KYC, tanpa dokumen. Menerima token bearer dalam ~200ms.

  2. 02

    POST /v1/topups · create_topup

    Agen meminta top-up dalam kripto apa pun yang didukung (USDT-TRC20 paling murah). Menerima alamat deposit. Mengirim kripto dari dompetnya. Webhook aktif ketika dana dikonfirmasi.

  3. 03

    POST /v1/cards · issue_card

    Agen memilih BIN yang sesuai dengan merchant (Visa Business untuk iklan, Visa Platinum untuk dompet seluler, Visa Corporate untuk SaaS), mengisi $X, mendapatkan kartu aktif.

  4. 04

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

    Agen mengungkap PAN + CVV + tanggal kedaluwarsa (sekali pakai, diaudit). Menggunakannya di checkout merchant. Tantangan 3-D Secure disetujui melalui webhook callback.

  5. 05

    GET /v1/activity · get_activity

    Agen memantau (atau berlangganan via webhook) event otorisasi. Mengonfirmasi pengeluaran berhasil. Membaca nama merchant, MCC, jumlah, mata uang.

  6. 06

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

    Tugas selesai. Agen membekukan (atau membatalkan) kartu. Saldo yang belum digunakan dapat dikembalikan ke treasury. Seluruh alur selesai dalam kurang dari satu menit.

Integrasi MCP

Drop-in untuk Claude, ChatGPT, Cursor.

Tambahkan server MCP kami yang di-hosting ke konfigurasi agen Anda. Agen akan mengambil 40+ alat secara otomatis — setiap endpoint REST, dipetakan ke nama alat yang ramah agen.

Claude Desktop / Claude Code Runtime agen referensi Anthropic
~/.config/claude/claude_desktop_config.json
{
  "mcpServers": {
    "cryptocardium": {
      "url": "https://mcp.cryptocardium.com/v1",
      "transport": "http"
    }
  }
}
Cursor / Continue / mcp-cli Klien yang kompatibel dengan MCP apa pun
# 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+ alat

Setiap endpoint REST memiliki alat MCP yang sesuai, diberi nama untuk pemahaman agen. Sebagian kecil contoh:

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 lainnya
Auth & keamanan

Tiga cara untuk mengautentikasi.

Token bearer untuk skrip sederhana. Kunci API untuk server produksi. OAuth 2.1 dengan DCR untuk agen yang mendaftarkan diri sendiri.

Sesi bearer

Dari POST /v1/sessions. Berumur pendek (30 hari). Cocok untuk pengujian dan skrip interaktif.

Authorization: Bearer sess_94d72b6c…

Kunci API

Dari Pengaturan API. Persisten (hingga dicabut). Membawa izin tingkat akun. Terbaik untuk integrasi backend.

Authorization: Bearer ccm_live_a1b2c3d4…

OAuth 2.1 + DCR

Agen mendaftarkan diri pada saat runtime melalui Dynamic Client Registration. Pemberian hak akses per-alat — batasi agen hanya membaca, atau hanya ke satu kartu tertentu.

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

Berlangganan setiap event.

Payload bertanda tangan HMAC-SHA256. Pengiriman at-least-once dengan percobaan ulang. Putar ulang event apa pun dari dashboard atau API.

Jenis event

  • account.created · pendaftaran baru
  • account.signed_in · sesi dimulai
  • topup.created · alamat deposit diterbitkan
  • topup.confirmed · finalitas on-chain tercapai
  • topup.expired · jendela alamat ditutup
  • topup.error · penyelesaian gagal (kill-switch, pengembalian dana)
  • card.issued · kartu baru aktif
  • card.loaded · dana ditambahkan ke kartu
  • card.frozen · dibekukan oleh agen atau admin
  • card.cancelled · sudah pensiun permanen
  • transaction.authorized · pra-pengeluaran
  • transaction.captured · diselesaikan oleh merchant
  • transaction.refunded · pengembalian dana diterima
  • transaction.declined · dengan kode alasan
  • dispute.opened · chargeback diajukan
  • dispute.resolved · menang / kalah
  • withdrawal.broadcasted · transaksi on-chain dikirim
  • system.maintenance · downtime terjadwal
verifikasi 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 Burst

Per kunci API. Lonjakan singkat di atas laju stabil ditoleransi untuk jendela sub-detik.

1k req/min Berkelanjutan

Per kunci API. Permintaan yang melebihi batas menerima 429 Too Many Requests dengan header Retry-After.

25 MB Ukuran payload maksimum

Isi permintaan dan respons. Bukti sengketa mendukung unggahan streaming hingga 100 MB.

99.99% Uptime · 90h

Multi-wilayah aktif-aktif. Halaman status di status.cryptocardium.com.

Buka API

Bangun, otomatiskan, agen.
Apa yang bisa dilakukan kartu, kode Anda bisa.

Daftar, buka panel, buat kunci, sambungkan ke agen Anda. Enam puluh detik dari nol hingga pengeluaran otonom.

FAQ

API dan MCP server, terjawab.

Everything people actually ask. Last updated .

Di mana spesifikasi OpenAPI-nya?

Spesifikasi OpenAPI 3.1 yang dapat dibaca mesin untuk surface REST v1 diterbitkan di https://cryptocardium.com/openapi.json (dan stub YAML di /openapi.yaml). Impor ke Postman, Insomnia, Stoplight, atau alat AI apa pun yang mengonsumsi OpenAPI.

Bagaimana cara penemuan MCP server bekerja?

Kartu server diterbitkan di https://cryptocardium.com/.well-known/mcp/server-card.json (format MCP SEP-1649). Metadata otorisasi ada di /.well-known/oauth-authorization-server (RFC 8414) dan /.well-known/oauth-protected-resource (RFC 9728). Klien MCP menemukan server end-to-end tanpa konfigurasi manual.

Transport MCP mana yang didukung?

Hanya HTTP streamable (spesifikasi MCP 2025-06-18), dengan upgrade SSE opsional untuk operasi yang berjalan lama. Transport HTTP+SSE yang sudah usang tidak didukung.

Bisakah agen AI mendaftar sendiri tanpa onboarding manual?

Ya. Dynamic Client Registration (RFC 7591) didukung di server otorisasi OAuth 2.1. Agen mem-POST metadata-nya ke /oauth/register dan langsung menerima client_id dan client_secret. Scope awal dibatasi; agen dapat meminta scope yang lebih tinggi melalui alur persetujuan OAuth standar.

Apakah API mendukung micropayment x402?

Ya. Endpoint berbayar dapat mengembalikan HTTP 402 dengan header PAYMENT-REQUIRED terstruktur (scheme=exact, network=base, asset=USDC). Agen mencoba ulang dengan PAYMENT-SIGNATURE. Selaras secara native dengan Visa TAP dan Mastercard Agent Pay.

Bagaimana webhook diautentikasi?

Setiap event webhook ditandatangani dengan HMAC-SHA256. Kunci penandatanganan dibuat sekali saat berlangganan, dapat diperbarui sesuai permintaan. Kunci idempotency memungkinkan pemutaran ulang yang aman. Event siklus hidup yang dicakup: transisi status isi saldo, penerbitan kartu, otorisasi, penarikan, pengembalian dana, sengketa, penyelesaian.

Apakah scope per tool atau per panggilan?

Scope per tool. Anda dapat memberikan agen hanya baca pada kartu (card:read), atau hanya terbitkan tanpa pengungkapan (card:issue tanpa card:reveal_pan), atau mempersempitnya ke satu kartu melalui kebijakan akses terperinci. Pemberian scope dapat dicabut kapan saja.

Berapa batas rate limit-nya?

600 permintaan per menit per kunci API, dengan burst 100 permintaan. Batas yang lebih tinggi dapat diminta melalui /contact. Batas diekspos di /v1/system/limits.