HOPPA API Reference
The HOPPA API is a REST API for embedded finance: create users, issue and manage cards, open accounts and wallets, exchange currencies, and move money. Authenticate every request with an x-api-key header. The interactive reference below is generated live from the OpenAPI 3.0 specification (JSON), so it always matches the current API. New to HOPPA? Start with the Quickstart — a user, a card, a top-up, and your first transaction in four calls.
Endpoints by resource
407 endpoints across 23 resources — each with its own reference page.
Banking
- GET
/api/v2/banking/accountsGet all accounts across all banking providers - POST
/api/v2/banking/accounts/fund-testFund an Equals Money account with a sandbox test credit. - GET
/api/v2/banking/approvals/capabilities - POST
/api/v2/banking/approvals/devices/confirm - POST
/api/v2/banking/approvals/devices/enroll - DELETE
/api/v2/banking/approvals/devices/{deviceId} - POST
/api/v2/banking/approvals/passkeys/confirm - POST
/api/v2/banking/approvals/passkeys/enroll - POST
/api/v2/banking/approvals/passkeys/verify - DELETE
/api/v2/banking/approvals/passkeys/{passkeyId} - POST
/api/v2/banking/approvals/verify - DELETE
/api/v2/banking/approvals/{verificationToken} - GET
/api/v2/banking/balanceGet aggregated balance across all banking providers - POST
/api/v2/banking/budgets/{budgetId}/transfer - POST
/api/v2/banking/equalsmoney-onboardingCreate an EqualsMoney personal onboarding application - POST
/api/v2/banking/orders/quote - POST
/api/v2/banking/orders/trade - POST
/api/v2/banking/otp/resendResend the OTP code for a pending banking operation. - POST
/api/v2/banking/otp/verifyVerify an OTP code for a pending banking operation such as payout creation. - GET
/api/v2/banking/payeesList payees across all banking providers - POST
/api/v2/banking/payeesPayee Step 1: validate a new payee and send the OTP required by Equals Money. - POST
/api/v2/banking/payees/confirmPayee Step 2: create and confirm the payee after OTP verification. - GET
/api/v2/banking/payees/required-fieldsGet required fields for payee creation - DELETE
/api/v2/banking/payees/{payeeId}Delete a payee from ALL banking providers where user has accounts - GET
/api/v2/banking/payoutsList payout transactions for the authenticated user or API-key selected user. - POST
/api/v2/banking/payoutsPayout Step 4: create the payout after OTP verification. - POST
/api/v2/banking/payouts/checkPayout Step 2: check the quoted payout before OTP approval. - POST
/api/v2/banking/payouts/initiatePayout Step 3: send the OTP for a checked payout. - GET
/api/v2/banking/payouts/{payoutId}Get a payout transaction by ID for the authenticated user or API-key selected user. - GET
/api/v2/banking/providersGet list of banking providers the current user has accounts with - POST
/api/v2/banking/quotationsPayout Step 1: create a quote for an existing payee. - POST
/api/v2/banking/quotesGet a quote for a transfer - POST
/api/v2/banking/trades/executeExecute FX trade - POST
/api/v2/banking/trades/quoteGet FX trade quote - GET
/api/v2/banking/transactionsGet transactions across all banking providers - POST
/api/v2/banking/transfers/internalExecute an internal transfer between balances for a specific user within the authenticated company. - GET
/api/v2/banking/users/{userId}/budgets - POST
/api/v2/banking/users/{userId}/budgets - GET
/api/v2/banking/users/{userId}/budgets/{budgetId} - PUT
/api/v2/banking/users/{userId}/budgets/{budgetId}Updates user-editable budget details. Budget status is managed by Equals Money and is read-only. - POST
/api/v2/banking/users/{userId}/budgets/{budgetId}/transfer - GET
/api/v2/banking/users/{userId}/equals-banking-infoGet Equals banking information for a specific user in the authenticated company.
BusinessOnboarding
- GET
/api/v2/business/onboarding/applicationGet the current application status - POST
/api/v2/business/onboarding/applicationCreate a business application for KYB - POST
/api/v2/business/onboarding/application/documentsUpload an EqualsMoney business onboarding document - POST
/api/v2/business/onboarding/application/submitSubmit the application for review - GET
/api/v2/business/onboarding/associated-peopleGet associated people for the current user - POST
/api/v2/business/onboarding/associated-peopleCreate associated people for a business application (Directors, UBOs, Applicants) - POST
/api/v2/business/onboarding/associated-people/{associatedPersonId}/documentsUpload an EqualsMoney associated person onboarding document - GET
/api/v2/business/onboarding/compliance - POST
/api/v2/business/onboarding/compliance - POST
/api/v2/business/onboarding/compliance/draft - POST
/api/v2/business/onboarding/compliance/requirements - GET
/api/v2/business/onboarding/optionsGet canonical EqualsMoney KYB onboarding option values for client select fields.
Card Loads
Asynchronous crypto-to-fiat card loads executed through the crypto on/off-ramp
Cards
Card management operations
- GET
/api/v2/cardsGet list of cards for a user - POST
/api/v2/cardsCreate a new card - POST
/api/v2/cards/auto-topup/depositUpdate USDC/USDT deposit auto top-up settings on an card. - POST
/api/v2/cards/auto-topup/failed-txEnable, update or disable failed-transaction auto top-up. - POST
/api/v2/cards/auto-topup/low-balanceEnable, update or disable low-balance auto top-up. - GET
/api/v2/cards/cardHoldersGet list of card holders for a user - GET
/api/v2/cards/physical-card-feesGet the card platform physical card production and mailing fees for a user and destination country - GET
/api/v2/cards/quantum-topup/estimateEstimate Quantum top-up conversion using CryptoConnect quotes for USD to USDT/USDC and USDT/USDC to USD - POST
/api/v2/cards/topupTopUp - Direct card top-up with card ID - POST
/api/v2/cards/unload-cardUnloadFromCard - Unload funds from a card to quantum wallet - GET
/api/v2/cards/{cardId}Get detailed card information including sensitive data - DELETE
/api/v2/cards/{cardId}Permanently delete an card. - POST
/api/v2/cards/{cardId}/activateActivate a physical card - PUT
/api/v2/cards/{cardId}/auto-lockEnable or disable Auto Lock for a card - POST
/api/v2/cards/{cardId}/auto-lock/disableDisable Auto Lock for a card - POST
/api/v2/cards/{cardId}/auto-lock/enableEnable Auto Lock (automatic re-freeze) for a card - GET
/api/v2/cards/{cardId}/auto-topupGet all auto top-up settings and current UTC-month usage for a user's card. - POST
/api/v2/cards/{cardId}/bulk-shipExecute the card platform physical card shipment for the authenticated user's card. - GET
/api/v2/cards/{cardId}/bulk-ship/quoteQuote the card platform physical card shipment fees for the authenticated user's card. - POST
/api/v2/cards/{cardId}/bulk-ship/quoteQuote the card platform physical card shipment fees for the authenticated user's card. - POST
/api/v2/cards/{cardId}/enableEnable (unfreeze) a card to re-enable it - POST
/api/v2/cards/{cardId}/freezeFreeze a card to temporarily disable it - PUT
/api/v2/cards/{cardId}/limitsUpdate card spending limits (daily/weekly/monthly) for a specific user and card - PUT
/api/v2/cards/{cardId}/pinUpdate card PIN - GET
/api/v2/cards/{cardId}/transactionsGet card transactions for a specific user and card - GET
/api/v2/cards/{cardId}/widgetGet secure widget URL for displaying card details in an iframe
Company Referrals
- GET
/api/v2/referrals/accounting/monthly - POST
/api/v2/referrals/accounting/openings - GET
/api/v2/referrals/alert-delivery-health - GET
/api/v2/referrals/alert-incidents - GET
/api/v2/referrals/alert-settings - PUT
/api/v2/referrals/alert-settings - GET
/api/v2/referrals/analyticsBusiness-intelligence view: funnel, leaderboard, cost, weekly series, program stats, exclusions and contribution (defaults: all programs, last 90 days, top 10). - GET
/api/v2/referrals/audit - GET
/api/v2/referrals/capabilities - GET
/api/v2/referrals/credits - POST
/api/v2/referrals/credits/{creditId}/cancel - POST
/api/v2/referrals/credits/{creditId}/retry - GET
/api/v2/referrals/customers/{userId}/relationships - GET
/api/v2/referrals/exports/{kind} - GET
/api/v2/referrals/invite-benefits - PUT
/api/v2/referrals/invite-benefits - GET
/api/v2/referrals/linksCampaign links across the company's members (owner fields filled). status filters on the reported status. - POST
/api/v2/referrals/links/{code}/clicksA visitor opened the sign-up page with a campaign code. Counted once per visitor per UTC day when VisitorId is sent (every call counts, none as unique, without it). 200 with the link's destination when counted; 204 for crawlers and previews (UserAgentHint) and for paused, expired or archived links; 404 for an unknown code. IPs are never stored. - PATCH
/api/v2/referrals/links/{linkId}Status only: ACTIVE, PAUSED or ARCHIVED. Pausing stops new attribution and leaves existing relationships untouched. - GET
/api/v2/referrals/links/{linkId}/performanceClicks, sign-ups, qualified and earning friends and the owner's rewards of any member's link. range = 7d | 30d | 90d | month | all (default 30d). - GET
/api/v2/referrals/metricsWeekly funnel metrics, credit success rate and contribution. - GET
/api/v2/referrals/optionsEligible offer choices and up to 50 company users matching a search. - GET
/api/v2/referrals/overview - GET
/api/v2/referrals/program - PUT
/api/v2/referrals/program - GET
/api/v2/referrals/programs - POST
/api/v2/referrals/programs - GET
/api/v2/referrals/programs/{programId}/attribution-readiness - GET
/api/v2/referrals/programs/{programId}/boosts - POST
/api/v2/referrals/programs/{programId}/boosts - GET
/api/v2/referrals/programs/{programId}/boosts/capabilities - POST
/api/v2/referrals/programs/{programId}/boosts/{boostId}/activate - POST
/api/v2/referrals/programs/{programId}/boosts/{boostId}/pause - POST
/api/v2/referrals/programs/{programId}/bulk/preview - GET
/api/v2/referrals/programs/{programId}/bulk/{jobId} - GET
/api/v2/referrals/programs/{programId}/bulk/{jobId}/errors.csv - POST
/api/v2/referrals/programs/{programId}/bulk/{jobId}/execute - POST
/api/v2/referrals/programs/{programId}/drafts - PUT
/api/v2/referrals/programs/{programId}/drafts/{draftId} - POST
/api/v2/referrals/programs/{programId}/drafts/{draftId}/change-preview - POST
/api/v2/referrals/programs/{programId}/drafts/{draftId}/publish - GET
/api/v2/referrals/programs/{programId}/geo-policy - PUT
/api/v2/referrals/programs/{programId}/geo-policy - GET
/api/v2/referrals/programs/{programId}/level-assignments - PUT
/api/v2/referrals/programs/{programId}/level-assignments/{userId}Assigns (or revokes) a program level directly to a user, e.g. a hidden influencer rate. - GET
/api/v2/referrals/programs/{programId}/localized-terms - GET
/api/v2/referrals/programs/{programId}/members - PUT
/api/v2/referrals/programs/{programId}/members/{userId} - GET
/api/v2/referrals/programs/{programId}/members/{userId}/level-history - GET
/api/v2/referrals/programs/{programId}/members/{userId}/level-lifecycle - GET
/api/v2/referrals/programs/{programId}/members/{userId}/reportWhat one partner produced: counts, volume, rewards and pseudonymised friends. - POST
/api/v2/referrals/programs/{programId}/qualification-scenarios - GET
/api/v2/referrals/programs/{programId}/risk-policy - PUT
/api/v2/referrals/programs/{programId}/risk-policy - POST
/api/v2/referrals/programs/{programId}/simulate - GET
/api/v2/referrals/programs/{programId}/team - PUT
/api/v2/referrals/programs/{programId}/team/{childId}/{parentId} - GET
/api/v2/referrals/programs/{programId}/versions - GET
/api/v2/referrals/reconciliation - GET
/api/v2/referrals/relationships - GET
/api/v2/referrals/relationships/{relationshipId} - GET
/api/v2/referrals/reviews - GET
/api/v2/referrals/reviews/{reviewId} - POST
/api/v2/referrals/reviews/{reviewId}/decisions - GET
/api/v2/referrals/rewardsReward ledger across the company's programs. - POST
/api/v2/referrals/signup-signalsAuthenticated signup services only. Never forward a browser-supplied observed IP. - GET
/api/v2/referrals/users/{userId}/relationships
Crypto Exchange
the crypto on/off-ramp onboarding, balances, exchange quotes, the card platform/EqualsMoney transfer workflows, user decisions, payouts, and payment tracking
- POST
/api/v2/crypto-virtual-accounts - POST
/api/v2/crypto-virtual-accounts/bank-address-bookRegister a the crypto on/off-ramp fiat external account - POST
/api/v2/crypto-virtual-accounts/equals-to-interlaceTransfer EqualsMoney fiat to the card platform crypto through the crypto on/off-ramp - POST
/api/v2/crypto-virtual-accounts/equals-to-wallet/confirm - POST
/api/v2/crypto-virtual-accounts/equals-to-wallet/initiate - POST
/api/v2/crypto-virtual-accounts/equalsmoney-depositsDeposit crypto into an EqualsMoney budget through the crypto on/off-ramp - GET
/api/v2/crypto-virtual-accounts/equalsmoney-deposits/{id}Get a the crypto on/off-ramp-to-EqualsMoney deposit - POST
/api/v2/crypto-virtual-accounts/exchange/acceptAccept an exact the crypto on/off-ramp exchange quote - POST
/api/v2/crypto-virtual-accounts/exchange/quoteRequest an exact the crypto on/off-ramp balance-to-balance quote - GET
/api/v2/crypto-virtual-accounts/external-accountsList registered the crypto on/off-ramp payout destinations - DELETE
/api/v2/crypto-virtual-accounts/external-accounts/{accountId}Remove a registered the crypto on/off-ramp payout destination - POST
/api/v2/crypto-virtual-accounts/interlace-to-equals/confirmConfirm an the card platform-to-EqualsMoney transfer through the crypto on/off-ramp - POST
/api/v2/crypto-virtual-accounts/interlace-to-equals/initiateInitiate an the card platform-to-EqualsMoney transfer through the crypto on/off-ramp - POST
/api/v2/crypto-virtual-accounts/interlace-to-equals/quoteQuote an the card platform-to-EqualsMoney transfer through the crypto on/off-ramp - POST
/api/v2/crypto-virtual-accounts/payin-address - POST
/api/v2/crypto-virtual-accounts/ramp-quote - GET
/api/v2/crypto-virtual-accounts/trading-overview - GET
/api/v2/crypto-virtual-accounts/transfersList the crypto on/off-ramp transfer workflows - GET
/api/v2/crypto-virtual-accounts/transfers/{id}Get a the crypto on/off-ramp transfer workflow - POST
/api/v2/crypto-virtual-accounts/transfers/{transferId}/decisionRespond to a changed the crypto on/off-ramp quote
EqualsMoneyCompliance
ExchangeVerification
MOR
Merchant of Record company provisioning, onboarding, users, transactions, card analytics and management, secure card widgets, and company wallets
- POST
/api/v2/mor/public/cardholderCreate or return the merchant's company-level CORPORATE_MANAGED cardholder. - GET
/api/v2/mor/public/cardsGet all merchant cards with their current available and pending balances. - GET
/api/v2/mor/public/cards/analyticsGet the API key's merchant card portfolio and daily usage analytics. - GET
/api/v2/mor/public/cards/availableList the card products available to the API key's merchant. - POST
/api/v2/mor/public/cards/batchOrder 1-20 prepaid cards in a batch. - POST
/api/v2/mor/public/cards/{cardId}/assignAssign a merchant-owned card to a user_simple in the same company. - POST
/api/v2/mor/public/cards/{cardId}/cancelPermanently cancel a merchant-owned card. - POST
/api/v2/mor/public/cards/{cardId}/loadLoad a merchant-owned card from the merchant's account. - GET
/api/v2/mor/public/cards/{cardId}/secure-widgetGet a secure hosted card-information widget. - POST
/api/v2/mor/public/cards/{cardId}/unassignRemove a user assignment from a merchant-owned card and cancel its pending load requests. - POST
/api/v2/mor/public/cards/{cardId}/unloadUnload a merchant-owned card to the merchant's account. - GET
/api/v2/mor/public/companiesList only the MoR child companies belonging to the API key's company. - POST
/api/v2/mor/public/companiesProvision a MoR child company and its admin using a company's API key with MoR enabled. - GET
/api/v2/mor/public/companies/merchant-tiersList active business the card platform tiers available for provisioning under the API key's company. - POST
/api/v2/mor/public/kybSubmit or resubmit KYB for the API key's MoR merchant. - GET
/api/v2/mor/public/onboarding-statusGet the merchant onboarding status; optionally refresh it from the card platform. - GET
/api/v2/mor/public/transactionsList the API key's merchant transactions, with pagination and optional user, status, and type filters. - POST
/api/v2/mor/public/usersAdd a user_simple to the API key's MoR company. - GET
/api/v2/mor/public/users/{userId}/cardsGet one user_simple's assigned cards and aggregate card balances. - POST
/api/v2/mor/public/users/{userId}/cards/{cardId}/load-requestsCreate or update a load request for a card currently assigned to a user_simple in the API key's merchant. - GET
/api/v2/mor/public/users/{userId}/cards/{cardId}/transactionsGet transaction history for a card currently assigned to a user_simple in the API key's merchant. - GET
/api/v2/mor/public/walletsGet merchant wallets, deposit addresses, and fiat/crypto balances.
Payments
Payment processing and transaction management
- GET
/api/v2/payments/assets/co-brandGet co-brand assets - POST
/api/v2/payments/createCreate a payment with automatic currency exchange and transfer - GET
/api/v2/payments/mandatesList payment mandates with filtering and pagination - POST
/api/v2/payments/mandatesCreate a payment mandate - GET
/api/v2/payments/mandates/{mandateId}Get payment mandate by ID - PUT
/api/v2/payments/mandates/{mandateId}/revokeRevoke a payment mandate - POST
/api/v2/payments/payoutsCreate a payout - GET
/api/v2/payments/requestsList payment requests with filtering and pagination - POST
/api/v2/payments/requestsCreate a payment request - GET
/api/v2/payments/requests/{requestId}Get payment request by ID - PUT
/api/v2/payments/requests/{requestId}/cancelCancel a payment request - POST
/api/v2/payments/withdrawalsCreate a withdrawal - POST
/api/v2/payments/withdrawals/feeGet withdrawal fee estimate
Prices
- GET
/api/v2/pricesReturns the latest database-backed reference prices. - GET
/api/v2/prices/convertReturns a cross-rate derived entirely from stored canonical-base prices. - GET
/api/v2/prices/estimated-total-assetsFetches live provider balances and values them using database-backed reference prices. - GET
/api/v2/prices/{assetCode}Returns one latest database-backed reference price.
PublicDiscountCodes
PublicUserReferrals
- GET
/api/v2/users/{userId}/referrals/analyticsThe user's own referral performance over a period: conversion journey, totals, weekly trend and top friends (pseudonymised). range = 7d | 30d | 90d | month (default 30d); explicit from/to (ISO, UTC, to exclusive, at most 366 days) win over range. - POST
/api/v2/users/{userId}/referrals/attributionCreates the immutable rewarded relationship after registration succeeds. - POST
/api/v2/users/{userId}/referrals/attribution-commandsAccepts authenticated server consent provenance and returns a durable, immutable outcome. - GET
/api/v2/users/{userId}/referrals/attribution-commands/{commandId} - POST
/api/v2/users/{userId}/referrals/attribution-commands/{commandId}/replay - GET
/api/v2/users/{userId}/referrals/commissionsBackward-compatible alias for integrations built before the v2 rename; same rows as `rewards`. - GET
/api/v2/users/{userId}/referrals/friendsReferred friends with pseudonyms ("user-XXXXX"), stages and per-friend earnings. Never exposes the friend's identity. - GET
/api/v2/users/{userId}/referrals/geo-eligibility - GET
/api/v2/users/{userId}/referrals/invitationsLists the invitations sent by this user. - POST
/api/v2/users/{userId}/referrals/invitationsSends or resends an email-bound, expiring referral invitation. - GET
/api/v2/users/{userId}/referrals/level-history - GET
/api/v2/users/{userId}/referrals/level-lifecycle - GET
/api/v2/users/{userId}/referrals/linksThe member's campaign links, newest first. status filters on the reported status (ACTIVE, PAUSED, EXPIRED, ARCHIVED). - POST
/api/v2/users/{userId}/referrals/linksCreates a campaign link (code generated from the name unless supplied). Requires invite permission and accepted terms. - PATCH
/api/v2/users/{userId}/referrals/links/{linkId}Renames, re-targets (allowlisted destination), pauses/resumes/archives or re-schedules a link. The code is immutable. - GET
/api/v2/users/{userId}/referrals/links/{linkId}/performanceClicks (by UTC day), sign-ups, verified, qualified and earning friends attributed through the link plus the owner's rewards on them. range = 7d | 30d | 90d | month | all. - GET
/api/v2/users/{userId}/referrals/programs - GET
/api/v2/users/{userId}/referrals/rewardsReturns the user's referral reward ledger (welcome, qualification and top-up rewards with delivery stage). - GET
/api/v2/users/{userId}/referrals/summaryReturns invite, level progress, referral counts, commission totals, and payout mode. - POST
/api/v2/users/{userId}/referrals/terms-acceptanceRecords the inviter's acceptance of the current program terms. - GET
/api/v2/users/{userId}/referrals/vouchersLists assigned vouchers that can be rendered in a WL-hosted user experience. - POST
/api/v2/users/{userId}/referrals/vouchers/redeem-allInitiates all eligible assigned vouchers through the existing voucher processor. - POST
/api/v2/users/{userId}/referrals/vouchers/{assignmentId}/redeemRedeems an assigned voucher without exposing or typing its voucher code.
PublicVouchers
- GET
/api/v2/vouchers - POST
/api/v2/vouchers - GET
/api/v2/vouchers/approvals - POST
/api/v2/vouchers/approvals/{id} - POST
/api/v2/vouchers/assignments - POST
/api/v2/vouchers/assignments/from-group - POST
/api/v2/vouchers/assignments/mass - GET
/api/v2/vouchers/audit - POST
/api/v2/vouchers/batch - GET
/api/v2/vouchers/groups - POST
/api/v2/vouchers/groups - PUT
/api/v2/vouchers/groups/{id}/status/{status} - POST
/api/v2/vouchers/imports/preview - GET
/api/v2/vouchers/imports/template - POST
/api/v2/vouchers/imports/{id}/confirm - GET
/api/v2/vouchers/jobs - GET
/api/v2/vouchers/jobs/{id} - GET
/api/v2/vouchers/jobs/{id}/codes/export - GET
/api/v2/vouchers/jobs/{id}/items - POST
/api/v2/vouchers/jobs/{id}/retry - GET
/api/v2/vouchers/liability - POST
/api/v2/vouchers/liability/preview - POST
/api/v2/vouchers/redemptions - GET
/api/v2/vouchers/redemptions/{id} - DELETE
/api/v2/vouchers/redemptions/{id} - POST
/api/v2/vouchers/redemptions/{id}/retry - POST
/api/v2/vouchers/redemptions/{id}/reversal - POST
/api/v2/vouchers/redemptions/{id}/verification/resend - POST
/api/v2/vouchers/redemptions/{id}/verify - GET
/api/v2/vouchers/reports/daily-statistics - GET
/api/v2/vouchers/reports/liability-snapshots - GET
/api/v2/vouchers/reports/redemptions - GET
/api/v2/vouchers/reports/{report}/export - GET
/api/v2/vouchers/rules - POST
/api/v2/vouchers/rules - PUT
/api/v2/vouchers/rules/{id}/enabled/{enabled} - GET
/api/v2/vouchers/settings - PUT
/api/v2/vouchers/settings - POST
/api/v2/vouchers/validate - POST
/api/v2/vouchers/{id}/reveal - PUT
/api/v2/vouchers/{id}/status/{status}
ReferralAttributionQuotes
ReferralInvitations
Tiers
User tier and membership management
Transactions
- GET
/api/v2/transactionsGet paginated transactions with advanced filtering - GET
/api/v2/transactions/exportExport transactions in CSV or PDF format - GET
/api/v2/transactions/statsGet transaction statistics - POST
/api/v2/transactions/syncSync current user's transactions with the card platform (Quantum Account). Adds any missing transactions by external_id. - POST
/api/v2/transactions/top-upProcesses a wallet top-up operation using external payment methods. - GET
/api/v2/transactions/{id}Get transaction by ID - GET
/api/v2/transactions/{id}/equals-money/payment-confirmation
Transfers
Transfer operations between accounts and external services
- GET
/api/v2/transfersList transfers with filtering and pagination - GET
/api/v2/transfers/crypto-refundsGet crypto refunds for a user - POST
/api/v2/transfers/crypto-refundsCreate a crypto refund - POST
/api/v2/transfers/crypto-refunds/gas-feeGet refund gas fee for a specific currency and chain - POST
/api/v2/transfers/crypto-to-quantum-transferCreate a crypto-to-quantum transfer for internal account transfers (destination is always USD) - GET
/api/v2/transfers/crypto-transactionsGet user crypto transactions (CryptoConnect transfers) - POST
/api/v2/transfers/master-to-userCreate a transfer from master account to user - POST
/api/v2/transfers/quantum-usd-to-crypto-exchangeExchange Quantum USD to Crypto (USDC/USDT) - POST
/api/v2/transfers/test-feesTest endpoint for fee charging flow - POST
/api/v2/transfers/user-to-masterCreate a transfer from user to master account - POST
/api/v2/transfers/wallet-topupRequest a wallet top-up via Transak - GET
/api/v2/transfers/withdrawals/available-balanceGet available withdrawal balance for a user - POST
/api/v2/transfers/withdrawals/cryptoCreate an external crypto withdrawal (to blockchain address) - POST
/api/v2/transfers/withdrawals/crypto/confirmConfirm a crypto withdrawal with an emailed OTP code - POST
/api/v2/transfers/withdrawals/crypto/resendResend the OTP for a pending API crypto withdrawal. - GET
/api/v2/transfers/withdrawals/fee-and-quotaGet withdrawal fee and quota information - GET
/api/v2/transfers/withdrawals/validateValidate withdrawal request - GET
/api/v2/transfers/{transferId}Get transfer by ID
Users
User management operations including creation, updates, and KYC
- GET
/api/v2/usersList users with filtering and pagination - POST
/api/v2/usersCreate a new user - POST
/api/v2/users/account-claim/challengesSends a six-digit verification code when the email exactly matches a user in the API-key company. - POST
/api/v2/users/account-claim/challenges/verifyVerifies the emailed code and returns the company-scoped Hoppa identity exactly once. - POST
/api/v2/users/account-links/exchangeConsumes an approved token and returns the company-scoped Hoppa identity exactly once. - POST
/api/v2/users/account-links/scanRegisters that a White Label app scanned an account-link QR code. - POST
/api/v2/users/account-links/statusReturns the approval state for a scanned QR token without exposing user data. - GET
/api/v2/users/check-referralCheck if a referral code is valid for a company - POST
/api/v2/users/create-interlace-account/{userId}Create an account for the authenticated user - GET
/api/v2/users/occupation-codesGet complete list of occupation codes - GET
/api/v2/users/{userId}Get user by ID - PUT
/api/v2/users/{userId}Update user information - GET
/api/v2/users/{userId}/assetsGet user assets (balances). Passing `userId = 0` returns master account balances for the authenticated company. - GET
/api/v2/users/{userId}/crypto-addressesGet user crypto wallet addresses. Passing `userId = 0` returns master account addresses for the authenticated company. - GET
/api/v2/users/{userId}/kyc/detailed-statusGet detailed KYC status breakdown for the user - POST
/api/v2/users/{userId}/kyc/equalsmoney/documentsRespond to an EqualsMoney document request - POST
/api/v2/users/{userId}/kyc/equalsmoney/informationSubmit a text answer requested by EqualsMoney for a user. Requires company API key authentication. - POST
/api/v2/users/{userId}/kyc/sumsub-access-tokenGet a SumSub access token for the user (for mobile SDK) - PUT
/api/v2/users/{userId}/kyc/sumsub-tokenUpdate user SumSub KYC token - POST
/api/v2/users/{userId}/kyc/verifyVerify and update user KYC information with comprehensive verification data - POST
/api/v2/users/{userId}/sumsub/kyc-urlGenerate SumSub KYC verification URL for user - POST
/api/v2/users/{userId}/tierSet user tier and queue the first subscription fee for scheduled fee charging - GET
/api/v2/users/{userId}/walletsList crypto wallets for a user. Passing `userId = 0` returns master account wallets for the authenticated company.
Webhooks
Outbound webhook requests sent by CryptoCard Platform to configured partner webhook URLs.
- POST
/webhooks/outbound/account.activatedaccount.activated - POST
/webhooks/outbound/account.createdaccount.created - POST
/webhooks/outbound/account.deposit.addressaccount.deposit.address - POST
/webhooks/outbound/account.status_updatedaccount.status_updated - POST
/webhooks/outbound/bank_account.statusbank_account.status - POST
/webhooks/outbound/budget.createdbudget.created - POST
/webhooks/outbound/budget.credit_pendingbudget.credit_pending - POST
/webhooks/outbound/budget.creditedbudget.credited - POST
/webhooks/outbound/budget.debitedbudget.debited - POST
/webhooks/outbound/budget.deletedbudget.deleted - POST
/webhooks/outbound/budget.transaction.closedbudget.transaction.closed - POST
/webhooks/outbound/budget.updatedbudget.updated - POST
/webhooks/outbound/business_account.transactionbusiness_account.transaction - POST
/webhooks/outbound/card.3ds.otpcard.3ds.otp - POST
/webhooks/outbound/card.3ds_auth_requestcard.3ds_auth_request - POST
/webhooks/outbound/card.activatedcard.activated - POST
/webhooks/outbound/card.createdcard.created - POST
/webhooks/outbound/card.deletedcard.deleted - POST
/webhooks/outbound/card.shippedcard.shipped - POST
/webhooks/outbound/card.state_updatedcard.state_updated - POST
/webhooks/outbound/card.topupcard.topup - POST
/webhooks/outbound/card.transactioncard.transaction - POST
/webhooks/outbound/card.unloadcard.unload - POST
/webhooks/outbound/card.updatedcard.updated - POST
/webhooks/outbound/cardholder.approvedcardholder.approved - POST
/webhooks/outbound/cardholder.createdcardholder.created - POST
/webhooks/outbound/cardholder.deletedcardholder.deleted - POST
/webhooks/outbound/cardholder.statuscardholder.status - POST
/webhooks/outbound/digitalwallet.token_transitiondigitalwallet.token_transition - POST
/webhooks/outbound/fee.chargedfee.charged - POST
/webhooks/outbound/fee.createdfee.created - POST
/webhooks/outbound/kyc.information_requestkyc.information_request - POST
/webhooks/outbound/kyc.interlace_submission_failedkyc.interlace_submission_failed - POST
/webhooks/outbound/kyc.resubmission_requiredkyc.resubmission_required - POST
/webhooks/outbound/kyc.updatekyc.update - POST
/webhooks/outbound/kyc.verifiedkyc.verified - POST
/webhooks/outbound/legal_entity.statuslegal_entity.status - POST
/webhooks/outbound/order.cancelledorder.cancelled - POST
/webhooks/outbound/order.completedorder.completed - POST
/webhooks/outbound/order.createdorder.created - POST
/webhooks/outbound/payment.completedpayment.completed - POST
/webhooks/outbound/payment.createdpayment.created - POST
/webhooks/outbound/payment.mandate.cancelledpayment.mandate.cancelled - POST
/webhooks/outbound/payment.mandate.createdpayment.mandate.created - POST
/webhooks/outbound/payment.request.cancelledpayment.request.cancelled - POST
/webhooks/outbound/payment.request.confirmed.directpayment.request.confirmed.direct - POST
/webhooks/outbound/payment.request.confirmed.with.exchangepayment.request.confirmed.with.exchange - POST
/webhooks/outbound/payment.request.createdpayment.request.created - POST
/webhooks/outbound/payment.returnedpayment.returned - POST
/webhooks/outbound/paymentbatch.cancelledpaymentbatch.cancelled - POST
/webhooks/outbound/paymentbatch.completedpaymentbatch.completed - POST
/webhooks/outbound/paymentbatch.createdpaymentbatch.created - POST
/webhooks/outbound/paymentbatch.processingpaymentbatch.processing - POST
/webhooks/outbound/paymentbatch.validation_errorpaymentbatch.validation_error - POST
/webhooks/outbound/paymentbatchorder.cancelledpaymentbatchorder.cancelled - POST
/webhooks/outbound/paymentbatchorder.completedpaymentbatchorder.completed - POST
/webhooks/outbound/paymentbatchorder.createdpaymentbatchorder.created - POST
/webhooks/outbound/payout.paymentpayout.payment - POST
/webhooks/outbound/person.createdperson.created - POST
/webhooks/outbound/recipient.createdrecipient.created - POST
/webhooks/outbound/recipient.deletedrecipient.deleted - POST
/webhooks/outbound/user.kyc.updateduser.kyc.updated - POST
/webhooks/outbound/user.registereduser.registered - POST
/webhooks/outbound/wallet.refundwallet.refund - POST
/webhooks/outbound/wallet.topped_upwallet.topped_up - POST
/webhooks/outbound/wallet.withdrawalwallet.withdrawal