Skip to main content

Documentation Index

Fetch the complete documentation index at: https://pay-docs.holdstation.com/llms.txt

Use this file to discover all available pages before exploring further.

Prefund a stablecoin balance with Holdstation Pay and create offramp orders instantly — no need to wait for on-chain confirmation on every order. You top up your balance with on-chain deposits once, then debit it directly whenever you create an offramp order, and Holdstation Pay pays out VND to the recipient’s bank account.
Contact the Holdstation team to enable this feature for your account.
All prefunding endpoints require signed authentication. See Request Signing for how to sign requests.

Workflow

  1. Get deposit addresses — call List Deposit Addresses to retrieve the on-chain addresses assigned to you on each supported chain.
  2. Deposit on-chain — send supported tokens (e.g., USDT, USDC) to one of those addresses. Holdstation Pay credits the received amount to your balance once the deposit is detected.
  3. Check balance — use List Funds to view all balances, or Get Fund Balance for a single token.
  4. Create offramp order — call Create Withdrawal from Fund to create an order with a confirmed quote (rate, outcome, fees). No VND is sent yet — the order is held for up to 15 minutes awaiting confirmation. Always include an idempotency_key to avoid duplicate orders.
  5. Confirm disbursement — call Confirm Withdrawal with the order_id from step 4 to release the payout. Holdstation Pay debits your balance and sends VND to the recipient bank account using the details on the order. If not confirmed within 15 minutes, the order expires and must be recreated.
  6. Audit — use List Fund Logs to review every balance change (deposits, offramp debits, and compensations).

Change Types

Every balance change is recorded in the fund logs with a change_type:
ValueTypeDescription
1DepositOn-chain deposit credited to the balance
2WithdrawDebit from an offramp order
3CompensateAdjustment by Holdstation Pay (e.g., refund or correction)

Withdraw Order Flow

Processing States Flow

See the full processing state table in Order Flow → Withdraw Orders.

Endpoints

MethodPathDescription
GET/partners/fundsList all balances
GET/partners/funds/balanceGet balance for a single token
GET/partners/funds/deposit-addressesList on-chain deposit addresses
GET/partners/funds/logsList balance-change history
POST/partners/orders/withdrawCreate a withdraw order (quote only, pending confirmation)
POST/partners/orders/{order_id}/confirm-withdrawConfirm the order and release the VND payout
POST/partners/webhook-urlSet the URL that receives Balance Change Webhook events

Balance Change Webhook

To get notified whenever your prefund balance changes (deposit, withdraw, or compensation), configure a partner-level webhook URL. See Balance Change Webhook for the event headers, payload, and change_type values.