Transaction Types & Statuses

Spend Card operations create additional transaction types alongside the standard On-Ramp and Off-Ramp types. For all other types, see Transaction Types & Statuses.


How Transactions Are Identified

In Callbacks

Spend Card transactions are identified by the combination of type + payment_method:

type payment_method Description
sell spend_card_open Sell crypto to issue and fund a new Spend Card
sell spend_card_topup Sell crypto to top up an existing Spend Card
buy spend Purchase crypto using Spend Card balance
fiat_deposit spend_card_topup Bank card charge when Spend Card balance is insufficient during a purchase

In API Polling

When using GET /v1.6/sdk-partner/transactions, Spend Card types are not distinguished from standard types. See Transaction Types & Statuses for the response format.

API polling type names for Spend Card operations:

Type Description
sell Selling crypto to fund a Spend Card — card issuance (spend_card_open) or top-up (spend_card_topup)
buy Buying crypto using Spend Card balance (payment_method=spend)

Sell (Spend Card)

Triggered when a user sells crypto to issue or top up a Spend Card. Two variants:

  • spend_card_open — creates deposit first → then creates sell for EUR funding and card issuance. On failure: creates withdraw to return crypto.
  • spend_card_topup — same flow as standard sell, the payout credits EUR to the user's existing Spend Card.

Identify: Callback: type=sell, payment_method=spend_card_open or spend_card_topup | API: type=sell

Status Type Description
new Intermediate Sell request created (payout address shown / crypto received, preparing payout)
pending Intermediate EUR top-up processing started
succeeded Final EUR credited to Spend Card (or new card opened and funded)
failed Final Payout failed (crypto returned to user)
cancelled Final Cancelled (crypto returned to user)

State transitions:

From To Trigger
new pending processing started
pending succeeded payout completed
pending failed processing error
pending cancelled system cancelled

Spend Card Purchase

Triggered when a user buys crypto using their Spend Card balance. On success, automatically creates a withdraw transaction.

If the Spend Card balance is insufficient, a fiat_deposit transaction is created automatically to charge the shortfall from the user's bank card.

Identify: Callback: type=buy, payment_method=spend | API: type=buy

Status Type Description
new Intermediate Payment data entered, awaiting processing
pending Intermediate Card verification and 3D Secure in progress
order_scheduled Intermediate Payment authorized, awaiting KYC verification
failed_exchange Intermediate Exchange request failed
paid Final Transaction successfully completed
order_failed Final Declined by card issuer / acquirer
cancelled Final Cancelled (funds returned if charged)

State transitions:

From To Trigger
new pending Spend Card verification started
new order_failed system error
pending order_scheduled order queued
pending failed_exchange exchange error
pending order_failed payment rejected
pending cancelled system cancelled
order_scheduled paid KYC passed or not required
order_scheduled failed_exchange exchange error
order_scheduled cancelled system cancelled
failed_exchange cancelled system cancelled

Fiat Deposit (Spend Card Top-up)

Service transaction automatically created when the Spend Card balance is insufficient during a purchase. Charges the shortfall from the user's bank card.

Identify: Callback: type=fiat_deposit, payment_method=spend_card_topup | API: not available

Status Type Description
new Intermediate Payment data entered, awaiting processing
pending Intermediate Card verification and 3D Secure in progress
order_scheduled Intermediate Payment authorized, awaiting KYC verification
failed_exchange Intermediate Exchange request failed
paid Final Top-up successfully completed
order_failed Final Declined by card issuer / acquirer
cancelled Final Cancelled (funds returned if charged)

State transitions:

From To Trigger
new pending card verification started
new order_failed system error
pending order_scheduled order queued
pending failed_exchange exchange error
pending order_failed payment rejected
pending cancelled system cancelled
order_scheduled paid KYC passed or not required
order_scheduled failed_exchange exchange error
order_scheduled cancelled system cancelled
failed_exchange cancelled system cancelled

Transaction Relationships

Off-Ramp Spend Card open (sell, payment_method=spend_card_open)
  ├─ Phase 1: deposit created (user sends crypto)
  ├─ Phase 2: sell created (EUR funding and card issuance)
  └─ On failure → creates withdraw (return crypto to user)

Off-Ramp Spend Card top-up (sell, payment_method=spend_card_topup)
  ├─ Phase 1: sell created (payout address shown)
  ├─ Phase 2: deposit created (user sends crypto)
  ├─ Phase 3: sell updated for Spend Card top-up
  └─ On failure → creates withdraw (return crypto to user)

Spend Card Purchase (buy, payment_method=spend)
  ├─ If balance insufficient → creates fiat_deposit (charge shortfall from bank card)
  └─ On success → creates withdraw (send crypto to user)