GET /v1/wallets/balance, arranged differently: one entry per coin, split across the three wallets. This is the more convenient shape for a trading client.READ_BALANCEwallets is an object keyed by coin ticker, not an array.spot, asset, future. Note that walletType on the other balance endpoint is uppercase. This asymmetry is real, so do not normalize one to match the other."0".wallets.<COIN>.spot.available. That is the number that decides whether your order will be accepted. locked is already committed to open orders, and the other two wallets cannot fund a spot order.{"wallets": {}}. It does not invent a zero entry.POST /v1/transfers is session-only, and no permission can authorize it.400 VALIDATION_ERROR for a bad or unknown query parameter, plus the authentication set.