Track your orders
REQUEST wss://ws.bitvavo.com/v2 account
Subscribes to events that return data when your orders in the specified market are updated.
You can receive one of the following events:
- Subscribe: receive a confirmation that you subscribed to the channel.
- Order: receive data about all orders you created or updated.
- Fill: receive data about all fills or trades executed for an orders you created.
Authentication required. To send messages, you need to authenticate connection.
Request
- Schema
- Example (body)
Body
- Array [
- ]
Set to subscribe to start or to unsubscribe to stop the subscription.
Possible values: [subscribe, unsubscribe]
channels object[]required
The events you want to subscribe to.
The channel to which you want to subscribe.
accountThe markets for which you want stream the data.
You can subscribe to all currently listed markets. Instead of an array of markets, use
*as the value:"markets": "*".
["BTC-EUR"]{
"action": "subscribe",
"channels": [
{
"name": "account",
"markets": [
"BTC-EUR"
]
}
]
}
Response
- Account confirmation
- Order event
- Fill event
- Schema
- Example (body)
Schema
The returned event.
subscribedsubscriptions object
Object containing all current active subscriptions.
The markets you subscribed to for the account.
["BTC-EUR","ETH-BTC","ETH-EUR"]{
"event": "subscribed",
"subscriptions": {
"channel-name": [
"BTC-EUR",
"ETH-BTC",
"ETH-EUR"
]
}
}
- Schema
- Example (body)
Schema
FOK: Fill-Or-Kill. Fills the entire order from existing orders, or cancels the entire order.GTC: Good-Til-Canceled. Stays in the order book until the entire order is filled or you manually cancel it.IOC: Immediate-Or-Cancel. Fills existing orders and cancels the unfilled balance.
The returned event.
orderBitvavo identifier of the order. An orderId is unique per market. Different markets can use the same orderId values.
80b5f04d-21fc-4ebe-9c5f-6d34f78ee477Your identifier of the order. Only returned if specified in the request.
2be7d0df-d8dc-7b93-a550-8876f3b393e9The market in which the order was placed.
BTC-EURThe Unix timestamp in milliseconds when the order was created.
1548684420771The Unix timestamp in milliseconds when the order was last updated.
1548684420771The current status of the order.
Possible values: [new, awaitingTrigger, canceled, expired, filled, partiallyFilled]
Indicates whether the order is to buy or sell the asset.
Possible values: [buy, sell]
The type of order you created.
Possible values: [limit, market]
The quantity of the base currency to buy or sell.
1The quantity of the base currency remaining after the sum of fills is subtracted from the amount.
0.567The price of the order.
9225.1The amount of 'onHoldCurrency' that is reserved for this order. This is released when orders are canceled.
9225.1The currency that is onHold while the order is processed. This is the quote currency for sell orders and base currency for buy orders.
EURThe price calculated using triggerAmount and triggerType for the stopLoss, stopLossLimit, takeProfit, or takeProfitLimit types of orders.
4000The trigger price in quote currency for which you want to buy or sell 1 unit of the base currency.
This value and triggerType are used to calculate triggerPrice.
4000The type of trigger you set to fill the order when the condition is met. This value and triggerAmount are used to calculate triggerPrice.
Possible values: [price]
The reference price which triggered the order to be filled for stopLoss, stopLossLimit, takeProfit, or takeProfitLimit types of orders.
Possible values: [lastTrade, bestBid, bestAsk, midPrice]
Only for limit orders. How long an orderType stays active for.
Possible values:
Possible values: [GTC, IOC, FOK]
If true, cancels limit orders that match immediately. This ensures you pay the maker fee and not the taker fee.
falseSelf trading is not allowed on Bitvavo. Multiple options are available to prevent this from happening. The default 'decrementAndCancel' decrements both orders by the amount that would have been filled, which in turn cancels the smallest of the two orders. 'cancelOldest' will cancel the entire older order and places the new order. 'cancelNewest' will cancel the order that is submitted. 'cancelBoth' will cancel both the current and the old order.
Possible values: [decrementAndCancel, cancelOldest, cancelNewest, cancelBoth]
decrementAndCancelWhether this order is visible in the order book.
The total amount of the base currency that has been filled.
1.234The total amount of the quote currency that has been filled.
5000The type of update executed for the order.
Possible values: [new, trade, canceled, expired, updated, triggered, restated]
Specifies the reason why the status of the order was changed. For example, when an order is canceled by the Price protection checks.
Possible values: [decrementOnSelfTradePrevention, cancelOnSelfTradePrevention, cancelOnPlacementPriceProtection, cancelOnExecutionPriceProtection, cancelOnSpreadProtection, cancelOnReferencePriceProtection, cancelPostOnlyOnAuctionMatching, cancelOnMaintenance, cancelOnDisconnect, cancelOnDelisting, cancelOnLockPlaced, cancelOnAdminRequest, cancelPostOnly]
The Unix timestamp in nanoseconds when the order was created.
1752139200000000000The Unix timestamp in nanoseconds when the order was last updated.
1752139200000000000{
"event": "order",
"orderId": "80b5f04d-21fc-4ebe-9c5f-6d34f78ee477",
"clientOrderId": "2be7d0df-d8dc-7b93-a550-8876f3b393e9",
"market": "BTC-EUR",
"created": 1548684420771,
"updated": 1548684420771,
"status": "new",
"side": "buy",
"orderType": "limit",
"amount": "1",
"amountRemaining": "0.567",
"price": "9225.1",
"onHold": "9225.1",
"onHoldCurrency": "EUR",
"triggerPrice": "4000",
"triggerAmount": "4000",
"triggerType": "price",
"triggerReference": "lastTrade",
"timeInForce": "GTC",
"postOnly": false,
"selfTradePrevention": "decrementAndCancel",
"visible": false,
"filledAmount": "1.234",
"filledAmountQuote": "5000",
"executionType": "new",
"restatementReason": "decrementOnSelfTradePrevention",
"createdNs": 1752139200000000000,
"updatedNs": 1752139200000000000,
"codGroupId": 1
}
- Schema
- Example (body)
Schema
true: you are the taker. Your order filled a resting order.false: you are the maker. Your resting order was filled by an incoming order.
The returned event.
fillThe market in which the order was placed.
BTC-EURThe identifier of the order on which has been filled.
80b5f04d-21fc-4ebe-9c5f-6d34f78ee477Your identifier of the order. Only returned if specified in the request.
2be7d0df-d8dc-7b93-a550-8876f3b393e9The identifier of the returned fill.
15d14b09-389d-4f83-9413-de9d0d8e7715The current Unix timestamp in milliseconds.
1542967486256The amount in base currency for which the trade has been made.
0.005Indicates if the order was to buy or sell an asset.
Possible values: [sell, buy]
The price in quote currency for which the trade has been made.
5000.1Indicates if you are the taker or maker in the trade.
trueThe amount you pay Bitvavo in feeCurrency to process orderId. For more information about your fees, call
GET /account/fees.
If settled is false, this object is not included in these return parameters.
To retrieve the value of settled, see the fills object in the return parameters for calls to
GET /order.
fee is negative for rebates.
0.03The currency that fee is paid in.
If settled is false, this object is not included in these return parameters.
To retrieve the value of settled, see the fills object in the return parameters for calls to
GET /order.
EURThe current Unix timestamp in nanoseconds.
1752139200000000000{
"event": "fill",
"market": "BTC-EUR",
"orderId": "80b5f04d-21fc-4ebe-9c5f-6d34f78ee477",
"clientOrderId": "2be7d0df-d8dc-7b93-a550-8876f3b393e9",
"fillId": "15d14b09-389d-4f83-9413-de9d0d8e7715",
"timestamp": 1542967486256,
"amount": "0.005",
"side": "sell",
"price": "5000.1",
"taker": true,
"fee": "0.03",
"feeCurrency": "EUR",
"timestampNs": 1752139200000000000
}