# IMBA API > Partner B2B: https://imbawallet.com — docs https://api-docs.imbawallet.com > Agent prepaid: https://imbawallet.com — docs https://api-docs.imbawallet.com/agent > Partner auth: Ed25519 assertion → POST /auth/v1/partner/token → Bearer access (900s) > Agent auth: register Ed25519 → assertion aud=imba-agent-api → POST /auth/v1/agent/token → Bearer typ=agent > Agent deposit: POST /api/deposit_address before every send (USDT TRC-20, 24h unfunded hold). > Agent convert: closed at tier 0 (AML); tier 1 is a separate request. Withdraw closed. Agent JWT cannot send C2C; humans may C2C to client_id. > Amounts are decimal strings. Idempotency via ext_id. > Secrets: card JWE / gift epin / eSIM LPA only through authenticated product calls — not in webhooks. > Webhooks: HMAC-SHA256 header X-IMBA-Signature. Agent HMAC is generated by IMBA (once). > Card 3-D Secure: Partner webhook card.otp; Agent — email + inbox code + webhook field otp. Never SMS/Telegram for agents. ## Partner guides - https://api-docs.imbawallet.com/ - https://api-docs.imbawallet.com/guides/onboarding - https://api-docs.imbawallet.com/guides/quickstart - https://api-docs.imbawallet.com/guides/authentication - https://api-docs.imbawallet.com/guides/conventions - https://api-docs.imbawallet.com/guides/faq - https://api-docs.imbawallet.com/guides/money-and-idempotency - https://api-docs.imbawallet.com/guides/balance-and-deposit - https://api-docs.imbawallet.com/guides/withdrawals - https://api-docs.imbawallet.com/guides/cards - https://api-docs.imbawallet.com/guides/card-encryption - https://api-docs.imbawallet.com/guides/esim - https://api-docs.imbawallet.com/guides/gift-cards - https://api-docs.imbawallet.com/guides/kyt - https://api-docs.imbawallet.com/guides/documents - https://api-docs.imbawallet.com/guides/reconciliation - https://api-docs.imbawallet.com/guides/webhooks - https://api-docs.imbawallet.com/guides/errors - https://api-docs.imbawallet.com/guides/rate-limits - https://api-docs.imbawallet.com/api-reference/overview Bulk: quantity 1..20 on card/esim/gift create; POST /api/partner/batch for mixed ops. Partner KYT: POST /api/partner/kyt_quote, kyt_check, kyt_check_get, kyt_checks. Scopes kyt:read/kyt:check. Quote/lookup/history free; a new check is paid and returns 200 while processing. Billing address only: POST /api/partner/card_billing_address with card_id, scope cards:read. No phone/email/name/card secrets; null when issuer address is unavailable. No sandbox. POST /api/partner/card_products, esim_offers, gift_offers give live quote + availability (no generic /quote or /availability). Order lookup: POST /api/partner/document_get with ext_id in JSON. Secrets via product calls after fulfillment. No v1: purchase refund/cancel, card unload, card replacement. Card unfreeze: POST /api/partner/card_unfreeze with cards:freeze, only if you or the cardholder froze the card. A later platform or issuer freeze fails the document with unfreeze_not_confirmed. Card authorizations: POST /api/partner/card_transactions with cards:read. Signed decimal amounts. No PAN, CVV, issuer name, or supplier name. Card history covers every B2B card program, including refunds, reversals, declines and card-funded fees. Optional entry_type (transaction/fee) and original_transaction_id. Product sales enablement does not gate history reads. Company-funded fees are excluded. Do not debit settlement again for card spending. card_transaction.updated reports a type change with the same normalized status. Tenant orders: POST /api/partner/document_list with document:read. Paged summaries for all tenant orders, including failed and pending orders. No Wallet referrals. Individual status/details: document_get. KYT history: kyt_checks. Settlement ledger: reconciliation. Min first deposit 1000 USDT; no monthly volume min. Support usually < 1 hour. Business cannot-execute errors generally use HTTP 409 (validation remains 422/400); KYT insufficient_balance is 422. POST /api/partner/card_list — keyset list (limit/cursor); number_masked only; no PAN/JWE; invalid_cursor on bad cursor. cards is a compatibility alias. Stuck card_issue → failed + issue_timeout + webhook; retry with new ext_id (not delete). ban_rus products: non-+7 phone, country ≠ RU, Latin names. ## Agent guides - https://api-docs.imbawallet.com/agent - https://api-docs.imbawallet.com/agent/guides/register - https://api-docs.imbawallet.com/agent/guides/authentication - https://api-docs.imbawallet.com/agent/guides/deposit - https://api-docs.imbawallet.com/agent/guides/catalog - https://api-docs.imbawallet.com/agent/guides/use-cases - https://api-docs.imbawallet.com/agent/guides/tiers - https://api-docs.imbawallet.com/agent/guides/otp-and-webhooks - https://api-docs.imbawallet.com/agent/guides/mcp - https://api-docs.imbawallet.com/agent/guides/errors - https://api-docs.imbawallet.com/agent/api-reference/overview - HowTo: https://imbawallet.com/agent_api_about_en.html - Use cases: https://imbawallet.com/agent_use_cases_about_en.html - Cite: https://imbawallet.com/llms-agent.txt