15 May 2023
- Documented new websocket connections rate limit
- Updated the
/v1/balances
request with query parameterexcludeZeroBalances
to return non-zero balances only - Updated the
BALANCE_UPDATE
WebSocket event to include the following fields:totalInReference
,totalInReferenceWeighted
andreferenceCurrency
- Updated pre-request script and documentation to support the
yourSubAccountId
environment variable. This allows impersonating an account with every request.
06 March 2023
- Added a request to link a new fiat bank account
- Added a request for linked fiat bank account details
- Added a request to delete a linked fiat bank account
- Added a request to list all banks supported for fiat withdrawals per currency
- Added a request to get an auto-buy reference for buying a currency with a fiat deposit
- Added a request to list all currencies supported for auto-buy per fiat currency
03 March 2023
- Removed Deposit Instructions for Wire Transfers
25 November 2022
- Updated rate limits for
/v1/batch/orders
and/v1/orders.
17 November 2022
- Added the Caching section.
- Added the
collateral
andcollateralWeight
fields to -v1/public/currencies
which are reserved for future use.
- Added
marginTradingAllowed
to the/v1/public/pairs
endpoint, reserved for future use.
- Added the
MARK_PRICE_UPDATE
event to theTrade
Websocket
- Updated the
BALANCE_UPDATE
Websocket event to include the following fields that are reserved for future use:collateral
,collateralWeight
,lendReserved
,borrowCollateralReserved
,borrowedAmount
- Updated the
NEW_ACCOUNT_HISTORY_RECORD
Websocket event to include the following fields that are reserved for future use:collateral
,collateralWeight
19 August 2022
- Clarify that per minute and per second rate limits do not interact.
- Add examples for stop orders to the Exchange Buy/Sell API.
- Increase subaccount limit to 2000 per main account.
18 August 2022
- Added `/v1/orders` request to cancel all open orders.
- Added `/v1/orders/:currencyPair` to cancel all open orders for the given currency pair.
04 August 2022
- Increased per second rate limits for
/v1/batch/orders
and/v1/orders
20 July 2022
- Updated VALR Pay documentation to reflect new ability to send and receive cryptocurrencies in addition to ZAR.
11 July 2022
- Updated per second rate limits to reflect new limits
27 June 2022
- Added per second rate limits to
/v1/batch/orders
and/v1/orders
12 June 2022
- The Market Summary APIs
/v1/public/marketsummary
and/v1/public/:currencyPair/marketsummary
now return amarkPrice
field, which is reserved for future use.
- The Balances API
/v1/account/balances
now returns the following additional fields, which are reserved for future use.lendReserved
borrowReserved
borrowedAmount
- The Simple Buy/Sell Quote API
v1/simple/:currencyPair/quote
now returns an array ofordersToMatch,
which includesprice
andquantity
; if they exist.
9 May 2022
- The FULL_ORDERBOOK_UPDATE Trade WebSocket stream now returns a
Checksum
field.
8 February 2022
- Added the FULL_ORDERBOOK_UPDATE Trade WebSocket stream. Please note that this is an alpha feature and may change in ways that are not backwards-compatible. We value any feedback! Please send your feedback to support@valr.com
- The following APIs now include a
"SequenceNumber"
field on the returned order book:/public/:currencyPair/orderbook
/public/:currencyPair/orderbook/full
/marketdata/:currencyPair/orderbook
/marketdata/:currencyPair/orderbook/full
14 December 2021
- Added the Wire Transfers API to facilitate USD wire bank accounts deposits and withdrawals. (
/v1/wire
)
- Added the VALR Pay API (
/v1/pay
) for initiating payments, getting payment details and history.
- Added the Deposit Reference API to enable retrieval of Deposit reference by subaccounts.(
/v1/fiat/:currencyCode/deposit/reference
)
31 October 2021
- Added the following APIs for interaction with subaccounts:
- (
account/balances/all
) - returns all non zero balances for the portfolio.
- (
account/subaccounts
) - returns all subaccounts that belong to a primary account.
- (
account/subaccount
) - register a new subaccount.
- (
account/subaccounts/transfer
) - transfer between subaccounts.
- Updated the
Authentication
section to include theX-VALR-SUB-ACCOUNT-ID
header for subaccount impersonation. - Updated the rate limit for authenticated API calls.
15 September 2021
- Added the Current API Key Information API (
/account/api-keys/current
) which returns the currently authorised API key's information and permissions.
23 August 2021
- Batch Orders API (Alpha) is now available to batch multiple exchange orders.
23 June 2021
- Added additional transaction types to transaction history.
- VALR Pay
PAYMENT
transaction types including:PAYMENT_SENT
,PAYMENT_RECEIVED
,PAYMENT_REVERSED
andPAYMENT_REWARD
; - Off-chain transaction types including:
OFF_CHAIN_BLOCKCHAIN_WITHDRAW
andOFF_CHAIN_BLOCKCHAIN_DEPOSIT
; - Auto-buy
AUTO_BUY
transaction type.
- VALR Pay
08 February 2021
- A Stop Limits API (
/orders/stop/limit
) is now available to placeSTOP_LOSS_LIMIT
andTAKE
orders._PROFIT_LIMIT - Limit Orders (
/orders/limit
)POST
request now acceptstimeInForce
as an optional parameter (GTC
,FOK
,IOC
) - Time in Force (
GTC
,FOK
,IOC
) field is now included inGET
responses of the following APIs:- Open Order (
/orders/open
) - Order History (
/orders/history
) - Order Status (
/orders/history/detail/*
)
- Open Order (
- New order types of:
STOP_LOSS_LIMIT
andTAKE_
added to applicable Currency Pairs (currently BTCZAR, ETHZAR and XRPZAR) for the following Public APIs:PROFIT_LIMIT - Public Order Types (
/public/ordertypes
) - Public Currency Pairs (
/public/:currencyPair/
)\ordertypes
- Public Order Types (
- Updated example for Public Currency pairs (
/public/pairs
) API with fieldstickSize
andbaseDecima
for each traded currency pair.lPlaces - Updated example for for all TransactionId API requests (
/account/transactionhistory
) with theid
field in the response - Updated documentation for Trade History API (
/account/:currencyPair/
)tradehistory - Updated example for MarketData Trade History API (
/marketdata/:currencyPair/
) with thetradehistory quoteVolume
field.
02 February 2021
- The Order API (/orders/open) now includes the following fields in GET responses:
updatedAt, status, type - Updated the Order History APIs (/orders/history) to include the feeCurrency field
- Updated documentation: Updated the examples for Order History Detail APIs (/orders/history/detail/*) to include the fields:
executedFee
executedQuantity
executedPrice
29 November 2020
- Crypto withdrawals created (/wallet/crypto/:currencyCode/
withdraw) with more decimals than the number of decimals supported by the currency will be truncated - The Currencies list (/public/currencies) now include the following new fields:
- decimalPlaces
- withdrawalDecimalPlaces
- Withdrawal Info (/wallet/crypto/:currencyCode/
withdraw) now includes the following new field: - withdrawalDecimalPlaces
- Trade History for a currency pair (/account/:currencyPair/
tradehistory) can now be filtered by the skip, limit, startTime, endTime and beforeId parameters. This is similar to Transaction History filtering.
6 September 2020
- Asks & Bids on ZAR Orderbooks: The number of Asks and Bids sent via our Order Book APIs has been increased from 20 each to 40 each.
- Order History Detail APIs (`/orders/history/detail/*`) now include the following new fields:
- executedFee
- executedQuantity
- executedPrice`
12 July 2020
- Rate limiting: Rate limit has been updated to 120 calls per 1 minute window. When rate limited, a response code of 429 and a response header of `x-valr-ratelimited: true` will be returned.
- Example 1: You are allowed to do 120 calls from 10:10:00 to 10:10:59. When the time changes to 10:11:00, the counter will be reset and will start over.
- Example 2: If the first request comes in at 10:10:30, the counter will be reset at 10:11:00
31 May 2020
- Separated the API and Website web socket sessions. WebSockets which were connected via the API will no longer be closed when the user logs out of the VALR website.
- When a `PING` message is received on the Trade WebSocket, a response with `NO_SUBSCRIPTIONS` in the `PONG` will be sent, if the user has not subscribed to any message types.
- When a user connects and authenticates to the Account WebSocket, all account balances and open orders associated with the user account will be sent in the response. One `BALANCE_UPDATE` message for each asset held and one `OPEN_ORDERS_UPDATE` message containing all open orders on the account, across all order books will be sent.
- The `BALANCE_UPDATE` web socket message now includes an `updatedAt` field.
- The REST GET Balances response (`https://api.valr.com/v1/account/balances`) now includes an `updatedAt` field for each asset held.
- Added the REST GET VALR Status (`https://api.valr.com/v1/public/status`) request which will indicate whether the API is "online" or in "read-only" mode. In "read-only" mode, only GET and OPTIONS requests are accepted. The "read-only" mode is sometimes necessary during maintenance.
- The `filledPercentage` field on open orders is now accurate to two decimal places.
- The REST GET Order Book (`https://api.valr.com/v1/marketdata/:currencyPair/orderbook`) response and the REST GET Order Book (Non aggregated) (`https://api.valr.com/v1/marketdata/:currencyPair/orderbook/full`) response now include a `LastChange` field, indicating the timestamp of the last update to the order book.
- The `AGGREGATED_ORDERBOOK_UPDATE` message on the Trade web socket now includes a `LastChange` field, indicating the timestamp of the last update to the order book.
Please send any and all feedback via email to help@valr.com, we look forward to your comments and continuing to improve our product offering as we drive towards building VALR into a world class exchange.