Skip to content

Balance ​

GET /api/v1/merchant/balance

Returns your merchant account balance: what you can spend right now and what is still held.

Request ​

Headers ​

HeaderRequiredDescription
X-Api-Key✅Your merchant API key
Accept—application/json

No query parameters — the account is identified by your API key.

Response ​

json
{
  "success": true,
  "data": {
    "total": 1250.75,
    "hold": 320.50,
    "available": 930.25
  }
}

Response Fields ​

FieldTypeDescription
availablenumberFunds you can spend right now. Purchases and withdrawals draw from this
holdnumberValue of deposits sitting on a Steam trade hold. Becomes available when the deposit completes, and is dropped if it reverts
totalnumberavailable + hold

All amounts are in USD.

What moves the balance ​

EventEffect
Deposit reaches holdhold grows by the deposit amount
Deposit reaches completedThe amount moves from hold to available (a deposit that completes without a hold lands in available directly)
Held deposit is revertedhold drops by the amount — nothing is credited
Purchase is createdavailable drops immediately: the item's price is reserved
Purchase ends as canceled, failed or revertedThe reserved amount returns to available
Withdrawal from the merchant dashboardavailable drops; the amount returns if the withdrawal fails or is canceled
Account top-upavailable grows once the top-up is confirmed

INFO

A purchase is rejected with fail_reason: insufficient_balance when available is lower than the item's price. Deposits are not affected by your balance — they add to it.

Example ​

bash
curl "https://api.skinslink.com/api/v1/merchant/balance" \
  -H "X-Api-Key: your-api-key" \
  -H "Accept: application/json"

Errors ​

StatusMessageCause
401missing authorization headerX-Api-Key header not provided
401invalid API keyAPI key not found or inactive
403merchant account is disabledMerchant account deactivated
403IP not whitelisted: <ip>Request IP not in whitelist
500internal errorSomething went wrong on our side