Deposits

Sends a deposit back where it came from. If the available balance doesn't cover it, nothing is sent.

  • Bank deposit: pass its vbt_ ID. The deposit fee is returned, so the balance only has to cover the rest. Returns a topup_reversal row.
  • Card deposit: pass its pay_ ID. It's refunded to the card, and its fees aren't returned. Returns a payment_refund row.
post/deposits/{id}/reverse

Request

  • Base URL
    https://api.whop.com/api/v1
  • URL
    https://api.whop.com/api/v1/deposits/{id}/reverse
  • Auth
    HTTP bearer

Headers

Idempotency-Keystring
Example:d9105228-4a08-46b1-8b91-42fed586d383

A unique key that makes this request safe to retry. See Idempotent requests.

Request body

account_idstring

The business that received the deposit, prefixed biz_. Pass this or user_id.

metadataobject nullable

Custom metadata to store with the reversal.

user_idstring

The user that received the deposit, prefixed user_. Pass this or account_id.

Example request

{
  "account_id": "biz_xxxxxxxxxxxxxx",
  "metadata": {
    "ticket": "SUP-42"
  }
}

Response

deposit reversed

amountstring required

Signed amount in the currency's smallest precision units.

available_atstring date-time nullable required

ISO 8601 timestamp when this activity affects available funds: 00:00:00 UTC on the scheduled release date for credits and debits in a pending good-funds release bucket; the posted time for credits and debits to settled available funds, including refunds, disputes and payouts. Null for activity outside these paths, including on-chain rows. The available_after/before filters use its UTC date; default activity excludes some movements, including opt-in reserves.

idstring required

Ledger activity ID.

ledger_account_idstring nullable

The ledger account (a ldgr_ identifier) this row belongs to. Present only when the response aggregates owned accounts (include_owned_accounts=true); omitted otherwise. Pair it with account to scope drawers and dashboard links to the owning business.

line_type'psp_payment_receivable' | 'payment_gross' | 'topup' | 'topup_fee' | 'payment_gross_reversal' | 'topup_reversal' | 'payment_refund' | 'payment_refund_reversal' | 'platform_balance_payment' | 'platform_balance_payment_refund' | 'ad_spend_purchase' | 'psp_refund_payable' | 'passthrough_gmv' | 'passthrough_gmv_offset' | 'installment_default' | 'aggregated_fee' | 'payment_processing_fixed_fee' | 'payment_processing_percentage_fee' | 'billing_percentage_fee' | 'cross_border_percentage_fee' | 'fx_percentage_fee' | 'orchestration_percentage_fee' | 'revshare_percentage_fee' | 'stripe_domestic_processing_fee' | 'stripe_international_processing_fee' | 'three_ds_fixed_fee' | 'whop_processing_fee' | 'economic_intelligence_percentage_fee' | 'high_risk_merchant_fee' | 'fraud_prevention_fee' | 'buyer_fee' | 'sales_tax_fee' | 'payout_fee' | 'affiliate_fee' | 'marketplace_affiliate_fee' | 'application_fee' | 'platform_markup_fee' | 'platform_markup_fee_payout' | 'sales_tax_remittance' | 'sales_tax_remittance_reversal' | 'sales_tax_collected' | 'sales_tax_collected_reversal' | 'sales_tax_remitted' | 'payment_dispute' | 'payment_dispute_adjustment' | 'payment_dispute_fee' | 'payment_dispute_reversal' | 'platform_covered_dispute' | 'dispute_alert_fee' | 'dispute_representment_fee' | 'payment_return_fee' | 'dispute_hold_adjustment' | 'dispute_hold_blocked' | 'psp_dispute_payable' | 'withdrawal' | 'withdrawal_payable' | 'withdrawal_payable_reversal' | 'withdrawal_fee' | 'withdrawal_fee_reversal' | 'withdrawal_markup_fee' | 'withdrawal_markup_fee_reversal' | 'withdrawal_markup_fee_payout' | 'withdrawal_markup_fee_payout_reversal' | 'withdrawal_reversal' | 'withdrawal_clawback' | 'withdrawal_clawback_reversal' | 'payout_receivable' | 'withdrawal_reclassification' | 'clawback_receivable' | 'clawback_receivable_reversal' | 'treasury_payin' | 'treasury_payin_receivable' | 'onchain_deposit' | 'onchain_deposit_offset' | 'onchain_withdrawal' | 'onchain_withdrawal_offset' | 'trading_account_withdrawal' | 'trading_account_withdrawal_offset' | 'trading_account_deposit' | 'trading_account_deposit_offset' | 'onchain_wallet_transfer_outgoing' | 'onchain_wallet_transfer_incoming' | 'onchain_platform_transfer_outgoing' | 'onchain_platform_transfer_incoming' | 'onchain_internal_transfer_outgoing' | 'onchain_internal_transfer_incoming' | 'onchain_swap_source' | 'onchain_swap_target' | 'onchain_swap_offset' | 'whop_swap_fee_received' | 'swap_fee' | 'internal_withdrawal' | 'internal_withdrawal_reversal' | 'internal_withdrawal_payable' | 'internal_withdrawal_payable_reversal' | 'internal_withdrawal_fee' | 'internal_withdrawal_fee_reversal' | 'internal_withdrawal_markup_fee' | 'internal_withdrawal_markup_fee_reversal' | 'internal_withdrawal_markup_fee_payout' | 'internal_withdrawal_markup_fee_payout_reversal' | 'internal_withdrawal_in_transit' | 'internal_withdrawal_complete' | 'internal_withdrawal_in_transit_reversal' | 'card_load_transfer' | 'card_load_deposit' | 'card_unload_transfer' | 'card_unload_deposit' | 'external_card_load_deposit' | 'external_card_load_offset' | 'card_spend_authorization' | 'card_spend_authorization_hold' | 'card_spend_capture' | 'card_spend_capture_offset' | 'card_spend_authorization_void' | 'card_spend_authorization_void_release' | 'card_spend_refund' | 'card_spend_refund_offset' | 'cashback' | 'cashback_expense' | 'cashback_funding' | 'card_interchange_receivable' | 'card_interchange' | 'account_settlement' | 'currency_conversion_outgoing' | 'currency_conversion_incoming' | 'balance_reservation' | 'balance_reservation_hold' | 'balance_reservation_reversal' | 'balance_reservation_release' | 'bad_debt_offset' | 'bad_debt_expense' | 'platform_credits_payment' | 'platform_credits_payment_refund' | 'platform_credits_granted' | 'platform_balance_transfer_outgoing' | 'platform_balance_transfer_incoming' | 'internal_balance_transfer_outgoing' | 'internal_balance_transfer_incoming' | 'platform_balance_transfer_fee' | 'connected_account_clawback' | 'connected_account_negative_balance' | 'ad_publisher_payout' | 'ad_publisher_payout_received' | 'company_referral' | 'platform_affiliate_payment' | 'platform_affiliate_payment_reversal' | 'onboarding_reward' | 'partner_grant_reward' | 'payment_revshare' | 'payment_revshare_payout' | 'payment_revshare_reversal' | 'payment_revshare_refund' | 'payment_referral' | 'payment_referral_payable' | 'payment_referral_reversal' | 'payment_referral_refund' | 'application_fee_payable' | 'application_fee_payout' | 'platform_earning' | 'airdrop' | 'airdrop_reversal' | 'airdrop_expense' | 'airdrop_expense_reversal' | 'airdrop_link_funded' | 'airdrop_link_canceled' | 'airdrop_link_returned' | 'airdrop_link_claimed' | 'airdrop_link_redeemed' | 'airdrop_link_created' | 'resolution_center_refund' | 'ad_funding_disbursement' | 'ad_campaign_budget' | 'ads_card_spread' | 'ad_spend_charge' | 'ad_network_cost' | 'ad_spend_margin' | 'ad_income_expense' | 'ad_income_receipt' | 'ad_budget_release' | 'ad_network_settlement' | 'ad_affiliate_payout' | 'ad_affiliate_payout_received' | 'ad_balance_funding_receipt' | 'misc_reversal' | 'fx_gain_loss' | 'fx_markup' | 'legacy_crypto_payment' | 'legacy_payment' | 'legacy_payment_refund' | 'license_sale' | 'license_sale_commission' | 'license_sale_revenue' | 'software_rental_revshare' | 'software_rental_transaction' | 'misc_purchase' | 'misc_refund' | 'referral_bonus' | 'promo_reversal' | 'payment_receivable_settlement' | 'platform_earning_settlement' | 'platform_earning_unreconciled_clearing' | 'payment_receivable_clearing' | 'payment_receivable_reversal' | 'payment_unreconciled_clearing' | 'payment_unreconciled_reversal' | 'settlement_shortfall_loss' | 'fx_settlement_gain_loss' | 'settlement_rounding_variance' | 'psp_payout_settlement' | 'psp_payout_deposit' | 'psp_payout_receivable' | 'psp_payout_receivable_clearing' | 'payout_unreconciled_clearing' | 'psp_currency_conversion_outgoing' | 'psp_currency_conversion_incoming' | 'psp_currency_conversion_receivable' | 'psp_currency_conversion_receivable_clearing' | 'psp_fx_adjustment' | 'refund_settlement' | 'refund_settlement_reversal' | 'refund_payable_clearing' | 'refund_payable_reversal' | 'refund_unreconciled_clearing' | 'refund_unreconciled_reversal' | 'psp_account_debit' | 'payment_refund_fee' | 'dispute_settlement' | 'dispute_settlement_reversal' | 'dispute_payable_clearing' | 'dispute_payable_reversal' | 'dispute_unreconciled_clearing' | 'dispute_unreconciled_reversal' | 'psp_reserve_hold' | 'psp_reserve_release' | 'psp_dispute_fee' | 'psp_dispute_alert_fee' | 'psp_refund_fee' | 'psp_account_updater_fee' | 'psp_adjusted_processing_fee' | 'psp_authentication_fee' | 'psp_commission_fee' | 'psp_fixed_fee' | 'psp_gateway_fee' | 'psp_interchange_fee' | 'psp_invoice_tax_fee' | 'psp_markup_fee' | 'psp_network_token_fee' | 'psp_optimization_fee' | 'psp_payment_method_fee' | 'psp_payout_fee' | 'psp_processing_fee' | 'psp_risk_fee' | 'psp_scheme_fee' | 'psp_variable_fee' | 'psp_billing_fee' | 'psp_tax_service_fee' | 'psp_connect_fee' | 'external_account_connection_fee' | 'psp_external_account_connection_fee' | 'psp_invoicing_fee' | 'psp_terminal_fee' | 'treasury_fee' | 'psp_treasury_fee' | 'accelerated_settlement_fee' | 'psp_accelerated_settlement_fee' | 'psp_receivable_pooled' | 'psp_pool_settlement' | 'psp_pool_clearing' | 'psp_pool_refund_settlement' | 'psp_pool_refund_clearing' | 'psp_correction' | 'psp_payin_settlement' | 'psp_payin_clearing' | 'psp_bank_pull_settlement' | 'psp_bank_pull_clearing' | 'psp_pool_dispute_settlement' | 'psp_payout_consolidation' | 'psp_withholding_tax' | 'psp_payout_settlement_reversal' | 'psp_transfer_settlement' | 'psp_transfer_settlement_reversal' | 'psp_collection_settlement' | 'payout_subsidy' | 'withdrawal_topup_adjustment' | 'withdrawal_payable_clearing' | 'withdrawal_payable_clearing_reversal' | 'identity_verification_fee' | 'psp_identity_verification_fee' | 'tax_filing_fee' | 'psp_tax_filing_fee' | 'psp_service_fee' | 'recipient_wallet_load' | 'psp_recipient_wallet_load' | 'dispute_management_fee' | 'psp_dispute_management_fee' | 'psp_clawback_settlement' | 'psp_clawback_settlement_reversal' | 'clawback_receivable_settlement' | 'clawback_receivable_settlement_reversal' | 'clawback_fee' | 'psp_clawback_fee' | 'bank_transfer' | 'deposit' | 'wallet_transfer_incoming' | 'wallet_transfer_outgoing' | 'swap_source' | 'swap_target' required

The ledger line category this activity was posted under.

object'ledger_activity' required
payment_idstring nullable

Payment ID for any payment-related activity, including refunds and disputes.

plan_idstring nullable

ID of the variant associated with the payment, when applicable.

plan_namestring nullable

Name of the variant associated with the payment, when applicable.

posted_atstring date-time required

When the activity posted to the ledger.

product_idstring nullable

ID of the product associated with the payment, when applicable.

product_namestring nullable

Name of the product associated with the payment, when applicable.

usd_amountstring nullable required

Dollar value of this movement as a decimal string, signed like amount. Converted from the posted amount at the rate that was live when the line posted — the same pricing the wallet balance chart and the financial reports use — so a crypto row carries its dollar value too. null for a currency Whop holds no exchange rate for.

user_emailstring nullable

Email of the customer associated with the payment. Requires member:email:read.

user_idstring nullable

ID of the customer associated with the payment.

user_namestring nullable

Display name of the customer associated with the payment.

Example response

{
  "account": {
    "id": "biz_xxxxxxxxxxxxxx",
    "logo_url": "https://whop-assets-example.s3.amazonaws.com/uploads/image/2026-01-01/shine-time-logo",
    "object": "account",
    "route": "biz_xxxxxxxxxxxxxx",
    "title": "Shine Time Auto Detailing"
  },
  "amount": "2375000000",
  "available_at": "2026-01-01T12:00:00.000Z",
  "currency": {
    "code": "usd",
    "precision": "100000000"
  },
  "id": "line_3",
  "ledger_account_id": "ldgr_xxxxxxxxxxxxxx",
  "line_type": "payment_gross",
  "object": "ledger_activity",
  "payment": {
    "amount": {
      "amount": "-1234.56",
      "currency": "usd",
      "decimals": 2,
      "display_decimals": 2
    },
    "object": "payment"
  },
  "posted_at": "2026-01-01T12:00:00.000Z",
  "resource": {
    "id": "biz_xxxxxxxxxxxxxx",
    "logo_url": "https://whop-assets-example.s3.amazonaws.com/uploads/image/2026-01-01/shine-time-logo",
    "object": "account",
    "route": "biz_xxxxxxxxxxxxxx",
    "title": "Shine Time Auto Detailing"
  },
  "source": {
    "amount_float": 1500,
    "chain": "plasma",
    "claim_url": "https://whop.com/claim",
    "created_at": "2026-01-01T12:00:00.000Z",
    "created_by_user": {
      "id": "user_xxxxxxxxxxxxxx",
      "name": "Dana Whitfield",
      "profile_picture": {
        "url": "https://ui-avatars.com/api/"
      },
      "username": "danawhitfield"
    },
    "estimated_arrival": "2026-01-01T12:00:00.000Z",
    "fee_amount": {
      "amount": "-1234.56",
      "currency": "usd",
      "decimals": 2,
      "display_decimals": 2
    },
    "fee_kind": "swap",
    "fee_type": "exclusive",
    "from_amount": "502.51",
    "from_currency": "usdt",
    "id": "airdrp_xxxxxxxxxxxxxx",
    "object": "airdrop_link",
    "payer_name": "MassPay",
    "payment_amount": {
      "amount": "-1234.56",
      "currency": "usd",
      "decimals": 2,
      "display_decimals": 2
    },
    "payout_amount": {
      "amount": "-1234.56",
      "currency": "usd",
      "decimals": 2,
      "display_decimals": 2
    },
    "payout_destination": {
      "icon_url": "https://whop-assets-example.s3.amazonaws.com/uploads/image/2026-01-01/ach-activity-icon",
      "payer_name": "ACH Bank Deposit"
    },
    "payout_token_nickname": "Ops checking",
    "reason": "bounty_payout",
    "risk_review_hold": true,
    "sender_address": "0x8a4de51b9c37f2e6a0d1b8c94e5f7a2d3c6b0e19",
    "status": "fully_claimed",
    "to_amount": "500.0",
    "to_currency": "usd",
    "tx_hash": "0x5d84a1c7e2f9b036d48c5a7e1b9f2d6c3a8e0b4f7c1d9e5a2b6f8c0d3e7a1b52"
  },
  "usd_amount": "23.75"
}

Changes