OpenPoly logo
Wallet Adapter

Debit

Debit contract for buy-side wallet mutations.

Debit

Debit user wallet for buy-side flow.

Path

POST /debit

Request body

{
  "external_user_id": "operator-user-123",
  "amount_minor": 10000,
  "currency_code": "IDR",
  "idempotency_key": "mini_app_order:1:debit",
  "direction": "debit",
  "reason": "mini_app_buy",
  "metadata": {}
}

Response body

{
  "status": "succeeded",
  "currency_code": "IDR",
  "amount_minor": 10000,
  "idempotency_key": "mini_app_order:1:debit",
  "remote_reference": "wallet-op-123",
  "balance_minor": 90000
}

Status values

  • succeeded
  • failed
  • pending
  • unknown

Rules

  • same idempotency key must return same effective result
  • unknown must be used when remote state cannot be trusted
  • do not silently convert failure into success
Copyright © 2026