asyncapi: 3.0.0
info:
title: Bitvavo WebSocket API
version: 2.10.0
description: |
Real-time WebSocket API for market data, trading, transfers, and account management on Bitvavo.
servers:
production:
host: ws.bitvavo.com
pathname: /v2
protocol: wss
operations:
# ---------------------------------------------------------------------------
# Market data
# ---------------------------------------------------------------------------
getBook:
action: send
channel:
$ref: '#/channels/getBook'
summary: Get order book
description: |
Returns the list of up to 1000 bids and asks per request for the specified `market`, sorted by `price`.
**Rate limit weight points**: 1
tags:
- name: Market data
reply:
channel:
$ref: '#/channels/getBookReply'
getTrades:
action: send
channel:
$ref: '#/channels/getTrades'
summary: Get trades
description: |
Returns the list of trades made by all Bitvavo users for the specified `market` and time period up to 24 hours.
The returned trades are sorted by their `timestamp` in a descending order, from the latest to the earliest.
**Rate limit weight points**: 5
tags:
- name: Market data
reply:
channel:
$ref: '#/channels/getTradesReply'
getTickerPrice:
action: send
channel:
$ref: '#/channels/getTickerPrice'
summary: Get ticker prices
description: |
Returns prices of the latest trades on Bitvavo for all markets or a single `market`.
:::info
A _tick_ in a market is any change in the price of a digital asset.
:::
**Rate limit weight points**: 1
tags:
- name: Market data
reply:
channel:
$ref: '#/channels/getTickerPriceReply'
getTickerBook:
action: send
channel:
$ref: '#/channels/getTickerBook'
summary: Get ticker book
description: |
Stream the highest buy and the lowest sell prices currently available for all markets, or a single `market`, in the Bitvavo order book.
**Rate limit weight points**: 1
tags:
- name: Market data
reply:
channel:
$ref: '#/channels/getTickerBookReply'
getCandles:
action: send
channel:
$ref: '#/channels/getCandles'
summary: Get candlestick data
description: |
Returns the [OHLCV](https://www.investopedia.com/terms/o/ohlcchart.asp) market data used to create [candlestick charts](https://learn.bitvavo.com/article/what-are-candlestick-patterns/1199).
Candlestick data is always returned in chronological order from the latest to the earliest. Data is returned when trades are made in the `interval` represented by that candlestick. If no trades occur you see a gap in data flow - zero trades are represented by zero candlesticks.
**Rate limit weight points**: 1
tags:
- name: Market data
reply:
channel:
$ref: '#/channels/getCandlesReply'
getTicker24h:
action: send
channel:
$ref: '#/channels/getTicker24h'
summary: Get ticker data 24h
description: |
Streams the [OHLCV](https://www.investopedia.com/terms/o/ohlcchart.asp) data about trades and orders for all markets, or a single `market`, on Bitvavo during the latest 24 hours.
**Rate limit weight points**: **25** (without `market`) or **1** (with `market`).
tags:
- name: Market data
reply:
channel:
$ref: '#/channels/getTicker24hReply'
# ---------------------------------------------------------------------------
# Trading
# ---------------------------------------------------------------------------
privateCreateOrder:
action: send
channel:
$ref: '#/channels/privateCreateOrder'
summary: Create order
description: |
Creates an order to buy or sell digital assets on Bitvavo.
:::info
*Authentication required*. To send messages, you need to [authenticate connection](/docs/websocket-api/introduction/).
:::
:::warning
You can have a maximum of [100 open orders](/docs/rest-api/get-orders) at any one time in each `market`.
::::
**Rate limit weight points**: **1**
tags:
- name: Trading
security:
- $ref: '#/components/securitySchemes/websocketAuth'
reply:
channel:
$ref: '#/channels/privateCreateOrderReply'
privateUpdateOrder:
action: send
channel:
$ref: '#/channels/privateUpdateOrder'
summary: Update order
description: |
Updates an existing *limit* or *trigger* order.
:::info
*Authentication required*. To send messages, you need to [authenticate connection](/docs/websocket-api/introduction/).
:::
:::info
You must set either `orderId` or `clientOrderId`. If you set both, we use the `clientOrderId` to identify the order. `clientOrderId` is only returned if you set it when you created the order.
:::
:::tip
Updating an order is faster than canceling and creating new orders. During the update, your order is briefly removed from the order book.
:::
**Rate limit weight points**: 1
tags:
- name: Trading
security:
- $ref: '#/components/securitySchemes/websocketAuth'
reply:
channel:
$ref: '#/channels/privateUpdateOrderReply'
privateGetOrder:
action: send
channel:
$ref: '#/channels/privateGetOrder'
summary: Get order
description: |
Returns information about an existing order.
:::info
*Authentication required*. To send messages, you need to [authenticate connection](/docs/websocket-api/introduction/).
:::
:::info
You must set either `orderId` or `clientOrderId`. If you set both, we use the `clientOrderId` to identify the order. `clientOrderId` is only returned if you set it when you created the order.
:::
**Rate limit weight points**: **1**
tags:
- name: Trading
security:
- $ref: '#/components/securitySchemes/websocketAuth'
reply:
channel:
$ref: '#/channels/privateGetOrderReply'
privateCancelOrder:
action: send
channel:
$ref: '#/channels/privateCancelOrder'
summary: Cancel order
description: |
Cancels an open order.
:::info
*Authentication required*. To send messages, you need to [authenticate connection](/docs/websocket-api/introduction/).
:::
:::info
You must set either `orderId` or `clientOrderId`. If you set both, we use the `clientOrderId` to identify the order. `clientOrderId` is only returned if you set it when you created the order.
:::
**Rate limit weight points**: **1**
tags:
- name: Trading
security:
- $ref: '#/components/securitySchemes/websocketAuth'
reply:
channel:
$ref: '#/channels/privateCancelOrderReply'
privateGetOrdersOpen:
action: send
channel:
$ref: '#/channels/privateGetOrdersOpen'
summary: Get open orders
description: |
Returns all current open orders.
:::info
*Authentication required*. To send messages, you need to [authenticate connection](/docs/websocket-api/introduction/).
:::
**Rate limit weight points**: **100** (without `market`) or **5** (with `market`).
tags:
- name: Trading
security:
- $ref: '#/components/securitySchemes/websocketAuth'
reply:
channel:
$ref: '#/channels/privateGetOrdersOpenReply'
privateGetTrades:
action: send
channel:
$ref: '#/channels/privateGetTrades'
summary: Get trade history
description: |
Returns the specified number of past trades for your account and a time period of up to 24 hours. Does not return trades with a Price Guarantee.
The returned trades are sorted by their `timestamp` in a descending order, from the latest to the earliest.
:::info
*Authentication required*. To send messages, you need to [authenticate connection](/docs/websocket-api/introduction/).
:::
:::tip
To get a specific list of trades, use the `start`, `end`, `tradeIdFrom`, and `tradeIdTo` parameters.
::::
:::tip
To get all past transactions for your account, use the [privateGetTransactionHistory](/docs/websocket-api/get-transaction-history/) message.
::::
**Rate limit weight points**: **5**
tags:
- name: Trading
security:
- $ref: '#/components/securitySchemes/websocketAuth'
reply:
channel:
$ref: '#/channels/privateGetTradesReply'
privateGetOrders:
action: send
channel:
$ref: '#/channels/privateGetOrders'
summary: Get orders
description: |
Returns information about multiple orders.
:::info
*Authentication required*. To send messages, you need to [authenticate connection](/docs/websocket-api/introduction/).
:::
**Rate limit weight points**: **5**
tags:
- name: Trading
security:
- $ref: '#/components/securitySchemes/websocketAuth'
reply:
channel:
$ref: '#/channels/privateGetOrdersReply'
privateCancelOrders:
action: send
channel:
$ref: '#/channels/privateCancelOrders'
summary: Cancel orders
description: |
Cancels multiple orders for the specified market or the account.
:::info
*Authentication required*. To send messages, you need to [authenticate connection](/docs/websocket-api/introduction/).
:::
**Rate limit weight points**: **100** (without `market`) or **25** (with `market`).
tags:
- name: Trading
security:
- $ref: '#/components/securitySchemes/websocketAuth'
reply:
channel:
$ref: '#/channels/privateCancelOrdersReply'
privateAtomicCancelOrders:
action: send
channel:
$ref: '#/channels/privateAtomicCancelOrders'
summary: Atomic cancel orders
description: |
Cancels all open orders to buy or sell in the specified `market` as a single atomic request. The request is processed in strict arrival order and executed without interleaving with other operations.
:::info
*Authentication required*. To send messages, you need to [authenticate connection](/docs/websocket-api/introduction/).
:::
**Rate limit weight points**: **100**
tags:
- name: Trading
security:
- $ref: '#/components/securitySchemes/websocketAuth'
reply:
channel:
$ref: '#/channels/privateAtomicCancelOrdersReply'
privateCancelOrdersAfter:
action: send
channel:
$ref: '#/channels/privateCancelOrdersAfter'
summary: Cancel orders after
description: |
Creates an identifier used to group open orders and sets the countdown timer after which those orders are automatically canceled.
To learn how to use this endpoint, see [Cancel on disconnect](/docs/cancel-on-disconnect/).
:::info
*Authentication required*. To send messages, you need to [authenticate connection](/docs/websocket-api/introduction/).
:::
:::info
You can create only one group. If you need to create multiple groups, reach out to your Bitvavo contact to enable this.
:::
**Rate limit weight points**: **5**
tags:
- name: Trading
security:
- $ref: '#/components/securitySchemes/websocketAuth'
reply:
channel:
$ref: '#/channels/privateCancelOrdersAfterReply'
# ---------------------------------------------------------------------------
# Transfer
# ---------------------------------------------------------------------------
privateDepositAssets:
action: send
channel:
$ref: '#/channels/privateDepositAssets'
summary: Get deposit data
description: |
Returns wallet or bank account information required to deposit digital or fiat assets.
:::info
*Authentication required*. To send messages, you need to [authenticate connection](/docs/websocket-api/introduction/).
:::
**Rate limit weight points**: **1**
tags:
- name: Transfer
security:
- $ref: '#/components/securitySchemes/websocketAuth'
reply:
channel:
$ref: '#/channels/privateDepositAssetsReply'
privateGetDepositHistory:
action: send
channel:
$ref: '#/channels/privateGetDepositHistory'
summary: Get deposit history
description: |
Returns all past deposits for your account.
:::info
*Authentication required*. To send messages, you need to [authenticate connection](/docs/websocket-api/introduction/).
:::
**Rate limit weight points**: **5**
tags:
- name: Transfer
security:
- $ref: '#/components/securitySchemes/websocketAuth'
reply:
channel:
$ref: '#/channels/privateGetDepositHistoryReply'
privateWithdrawAssets:
action: send
channel:
$ref: '#/channels/privateWithdrawAssets'
summary: Withdraw assets
description: |
Request to withdraw assets to a wallet or bank account.
:::info
*Authentication required*. To send messages, you need to [authenticate connection](/docs/websocket-api/introduction/).
:::
:::warning
2FA and address confirmation by email are disabled for withdrawals using the API.
:::
**Rate limit weight points**: **1**
tags:
- name: Transfer
security:
- $ref: '#/components/securitySchemes/websocketAuth'
reply:
channel:
$ref: '#/channels/privateWithdrawAssetsReply'
privateCryptoWithdrawal:
action: send
channel:
$ref: '#/channels/privateCryptoWithdrawal'
summary: Withdraw crypto assets
description: |
Request to withdraw crypto assets to a wallet over the specified network.
:::info
*Authentication required*. To send messages, you need to [authenticate connection](/docs/websocket-api/introduction/).
:::
**Rate limit weight points**: **25**
tags:
- name: Transfer
security:
- $ref: '#/components/securitySchemes/websocketAuth'
reply:
channel:
$ref: '#/channels/privateCryptoWithdrawalReply'
privateGetWithdrawalHistory:
action: send
channel:
$ref: '#/channels/privateGetWithdrawalHistory'
summary: Get withdrawal history
description: |
Returns all past withdrawals for your account.
:::info
*Authentication required*. To send messages, you need to [authenticate connection](/docs/websocket-api/introduction/).
:::
**Rate limit weight points**: **5**
tags:
- name: Transfer
security:
- $ref: '#/components/securitySchemes/websocketAuth'
reply:
channel:
$ref: '#/channels/privateGetWithdrawalHistoryReply'
# ---------------------------------------------------------------------------
# Account
# ---------------------------------------------------------------------------
privateGetAccount:
action: send
channel:
$ref: '#/channels/privateGetAccount'
summary: Get account fees
description: |
Returns your current trading fees from the default [Category A](https://bitvavo.com/en/fees) based on the trading volume of your account.
:::info
*Authentication required*. To send messages, you need to [authenticate connection](/docs/websocket-api/introduction/).
:::
**Rate limit weight points**: **1**
tags:
- name: Account
security:
- $ref: '#/components/securitySchemes/websocketAuth'
reply:
channel:
$ref: '#/channels/privateGetAccountReply'
privateGetBalance:
action: send
channel:
$ref: '#/channels/privateGetBalance'
summary: Get account balance
description: |
Returns the current balance for your account.
:::info
*Authentication required*. To send messages, you need to [authenticate connection](/docs/websocket-api/introduction/).
:::
**Rate limit weight points**: **5**
tags:
- name: Account
security:
- $ref: '#/components/securitySchemes/websocketAuth'
reply:
channel:
$ref: '#/channels/privateGetBalanceReply'
privateGetFees:
action: send
channel:
$ref: '#/channels/privateGetFees'
summary: Get market fees
description: |
Returns your current trading fees from the [Category](https://bitvavo.com/en/fees) of the specified market based on the trading volume of your account.
:::info
*Authentication required*. To send messages, you need to [authenticate connection](/docs/websocket-api/introduction/).
:::
**Rate limit weight points**: **1**
tags:
- name: Account
security:
- $ref: '#/components/securitySchemes/websocketAuth'
reply:
channel:
$ref: '#/channels/privateGetFeesReply'
privateGetTransactionHistory:
action: send
channel:
$ref: '#/channels/privateGetTransactionHistory'
summary: Get transaction history
description: |
Returns a list of past transactions for your account or the specified date range. If the range is not specified, returns all past transactions.
:::info
*Authentication required*. To send messages, you need to [authenticate connection](/docs/websocket-api/introduction/).
:::
**Rate limit weight points**: **1**
tags:
- name: Account
security:
- $ref: '#/components/securitySchemes/websocketAuth'
reply:
channel:
$ref: '#/channels/privateGetTransactionHistoryReply'
# ---------------------------------------------------------------------------
# Synchronization
# ---------------------------------------------------------------------------
getTime:
action: send
channel:
$ref: '#/channels/getTime'
summary: Get server time
description: |
Returns the current Unix timestamp of Bitvavo servers.
**Rate limit weight points**: **1**
tags:
- name: Synchronization
reply:
channel:
$ref: '#/channels/getTimeReply'
getMarkets:
action: send
channel:
$ref: '#/channels/getMarkets'
summary: Get markets
description: |
Returns the information about one or all markets on Bitvavo.
**Rate limit weight points**: **1**
tags:
- name: Synchronization
reply:
channel:
$ref: '#/channels/getMarketsReply'
getAssets:
action: send
channel:
$ref: '#/channels/getAssets'
summary: Get asset data
description: |
Returns the information about the specified assets.
**Rate limit weight points**: **1**
tags:
- name: Synchronization
reply:
channel:
$ref: '#/channels/getAssetsReply'
# ---------------------------------------------------------------------------
# Market data subscriptions
# ---------------------------------------------------------------------------
subscribeToTicker:
action: send
channel:
$ref: '#/channels/tickerSubscription'
summary: Ticker subscription
description: |
Subscribes to ticker events which return an object every time the best bid or ask changes.
tags:
- name: Market data subscription
reply:
channel:
$ref: '#/channels/tickerEvents'
subscribeToTicker24h:
action: send
channel:
$ref: '#/channels/ticker24hSubscription'
summary: Ticker 24 hour subscription
description: |
Subscribes to ticker24h events. Every second, it returns an object with the best bids and asks in the last 24 hours.
tags:
- name: Market data subscription
reply:
channel:
$ref: '#/channels/ticker24hEvents'
subscribeToCandles:
action: send
channel:
$ref: '#/channels/candlesSubscription'
summary: Candles subscription
description: |
Subscribes to events that return data used to form candlestick charts.
tags:
- name: Market data subscription
reply:
channel:
$ref: '#/channels/candlesEvents'
subscribeToTrades:
action: send
channel:
$ref: '#/channels/tradesSubscription'
summary: Trades subscription
description: |
Subscribes to events that return data when a trade is made.
tags:
- name: Market data subscription
reply:
channel:
$ref: '#/channels/tradesEvents'
subscribeToBook:
action: send
channel:
$ref: '#/channels/bookSubscription'
summary: Book subscription
description: |
Subscribes to events that return data when there is a change in the order book.
tags:
- name: Market data subscription
reply:
channel:
$ref: '#/channels/bookEvents'
# ---------------------------------------------------------------------------
# Trading data subscriptions
# ---------------------------------------------------------------------------
subscribeToAccount:
action: send
channel:
$ref: '#/channels/accountSubscription'
summary: Track your orders
description: |
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.
:::info
*Authentication required*. To send messages, you need to [authenticate connection](/docs/websocket-api/introduction/).
:::
tags:
- name: Trading data subscription
security:
- $ref: '#/components/securitySchemes/websocketAuth'
reply:
channel:
$ref: '#/channels/accountEvents'
# =============================================================================
# Channels
# =============================================================================
channels:
# --- Market data request/reply channels ---
getBook:
messages:
getBookRequest:
$ref: '#/components/messages/getBookRequest'
getBookReply:
messages:
getBookResponse:
$ref: '#/components/messages/getBookResponse'
getTrades:
messages:
getTradesRequest:
$ref: '#/components/messages/getTradesRequest'
getTradesReply:
messages:
getTradesResponse:
$ref: '#/components/messages/getTradesResponse'
getTickerPrice:
messages:
getTickerPriceRequest:
$ref: '#/components/messages/getTickerPriceRequest'
getTickerPriceReply:
messages:
getTickerPriceResponse:
$ref: '#/components/messages/getTickerPriceResponse'
getTickerBook:
messages:
getTickerBookRequest:
$ref: '#/components/messages/getTickerBookRequest'
getTickerBookReply:
messages:
getTickerBookResponse:
$ref: '#/components/messages/getTickerBookResponse'
getCandles:
messages:
getCandlesRequest:
$ref: '#/components/messages/getCandlesRequest'
getCandlesReply:
messages:
getCandlesResponse:
$ref: '#/components/messages/getCandlesResponse'
getTicker24h:
messages:
getTicker24hRequest:
$ref: '#/components/messages/getTicker24hRequest'
getTicker24hReply:
messages:
getTicker24hResponse:
$ref: '#/components/messages/getTicker24hResponse'
# --- Trading request/reply channels ---
privateCreateOrder:
messages:
privateCreateOrderRequest:
$ref: '#/components/messages/privateCreateOrderRequest'
privateCreateOrderReply:
messages:
privateCreateOrderResponseFull:
$ref: '#/components/messages/orderResponseFull'
privateCreateOrderResponseMinimal:
$ref: '#/components/messages/orderResponseMinimal'
privateUpdateOrder:
messages:
privateUpdateOrderRequest:
$ref: '#/components/messages/privateUpdateOrderRequest'
privateUpdateOrderReply:
messages:
privateUpdateOrderResponseFull:
$ref: '#/components/messages/orderResponseFull'
privateUpdateOrderResponseMinimal:
$ref: '#/components/messages/orderResponseMinimal'
privateGetOrder:
messages:
privateGetOrderRequest:
$ref: '#/components/messages/privateGetOrderRequest'
privateGetOrderReply:
messages:
privateGetOrderResponse:
$ref: '#/components/messages/orderResponseFull'
privateCancelOrder:
messages:
privateCancelOrderRequest:
$ref: '#/components/messages/privateCancelOrderRequest'
privateCancelOrderReply:
messages:
privateCancelOrderResponse:
$ref: '#/components/messages/privateCancelOrderResponse'
privateGetOrdersOpen:
messages:
privateGetOrdersOpenRequest:
$ref: '#/components/messages/privateGetOrdersOpenRequest'
privateGetOrdersOpenReply:
messages:
privateGetOrdersOpenResponse:
$ref: '#/components/messages/orderResponseFull'
privateGetTrades:
messages:
privateGetTradesRequest:
$ref: '#/components/messages/privateGetTradesRequest'
privateGetTradesReply:
messages:
privateGetTradesResponse:
$ref: '#/components/messages/privateGetTradesResponse'
privateGetOrders:
messages:
privateGetOrdersRequest:
$ref: '#/components/messages/privateGetOrdersRequest'
privateGetOrdersReply:
messages:
privateGetOrdersResponse:
$ref: '#/components/messages/orderResponseFull'
privateCancelOrders:
messages:
privateCancelOrdersRequest:
$ref: '#/components/messages/privateCancelOrdersRequest'
privateCancelOrdersReply:
messages:
privateCancelOrdersResponse:
$ref: '#/components/messages/privateCancelOrdersResponse'
privateAtomicCancelOrders:
messages:
privateAtomicCancelOrdersRequest:
$ref: '#/components/messages/privateAtomicCancelOrdersRequest'
privateAtomicCancelOrdersReply:
messages:
privateAtomicCancelOrdersResponse:
$ref: '#/components/messages/privateAtomicCancelOrdersResponse'
privateCancelOrdersAfter:
messages:
privateCancelOrdersAfterRequest:
$ref: '#/components/messages/privateCancelOrdersAfterRequest'
privateCancelOrdersAfterReply:
messages:
privateCancelOrdersAfterResponse:
$ref: '#/components/messages/privateCancelOrdersAfterResponse'
# --- Transfer request/reply channels ---
privateDepositAssets:
messages:
privateDepositAssetsRequest:
$ref: '#/components/messages/privateDepositAssetsRequest'
privateDepositAssetsReply:
messages:
digitalAssetDeposit:
$ref: '#/components/messages/digitalAssetDepositResponse'
fiatDeposit:
$ref: '#/components/messages/fiatDepositResponse'
privateGetDepositHistory:
messages:
privateGetDepositHistoryRequest:
$ref: '#/components/messages/privateGetDepositHistoryRequest'
privateGetDepositHistoryReply:
messages:
digitalAssetHistory:
$ref: '#/components/messages/digitalAssetDepositHistoryResponse'
fiatHistory:
$ref: '#/components/messages/fiatDepositHistoryResponse'
privateWithdrawAssets:
messages:
privateWithdrawAssetsRequest:
$ref: '#/components/messages/privateWithdrawAssetsRequest'
privateWithdrawAssetsReply:
messages:
privateWithdrawAssetsResponse:
$ref: '#/components/messages/privateWithdrawAssetsResponse'
privateCryptoWithdrawal:
messages:
privateCryptoWithdrawalRequest:
$ref: '#/components/messages/privateCryptoWithdrawalRequest'
privateCryptoWithdrawalReply:
messages:
privateCryptoWithdrawalResponse:
$ref: '#/components/messages/privateCryptoWithdrawalResponse'
privateGetWithdrawalHistory:
messages:
privateGetWithdrawalHistoryRequest:
$ref: '#/components/messages/privateGetWithdrawalHistoryRequest'
privateGetWithdrawalHistoryReply:
messages:
privateGetWithdrawalHistoryResponse:
$ref: '#/components/messages/privateGetWithdrawalHistoryResponse'
# --- Account request/reply channels ---
privateGetAccount:
messages:
privateGetAccountRequest:
$ref: '#/components/messages/privateGetAccountRequest'
privateGetAccountReply:
messages:
privateGetAccountResponse:
$ref: '#/components/messages/privateGetAccountResponse'
privateGetBalance:
messages:
privateGetBalanceRequest:
$ref: '#/components/messages/privateGetBalanceRequest'
privateGetBalanceReply:
messages:
privateGetBalanceResponse:
$ref: '#/components/messages/privateGetBalanceResponse'
privateGetFees:
messages:
privateGetFeesRequest:
$ref: '#/components/messages/privateGetFeesRequest'
privateGetFeesReply:
messages:
privateGetFeesResponse:
$ref: '#/components/messages/privateGetFeesResponse'
privateGetTransactionHistory:
messages:
privateGetTransactionHistoryRequest:
$ref: '#/components/messages/privateGetTransactionHistoryRequest'
privateGetTransactionHistoryReply:
messages:
privateGetTransactionHistoryResponse:
$ref: '#/components/messages/privateGetTransactionHistoryResponse'
# --- Synchronization request/reply channels ---
getTime:
messages:
getTimeRequest:
$ref: '#/components/messages/getTimeRequest'
getTimeReply:
messages:
getTimeResponse:
$ref: '#/components/messages/getTimeResponse'
getMarkets:
messages:
getMarketsRequest:
$ref: '#/components/messages/getMarketsRequest'
getMarketsReply:
messages:
getMarketsResponse:
$ref: '#/components/messages/getMarketsResponse'
getAssets:
messages:
getAssetsRequest:
$ref: '#/components/messages/getAssetsRequest'
getAssetsReply:
messages:
getAssetsResponse:
$ref: '#/components/messages/getAssetsResponse'
# --- Subscription channels ---
tickerSubscription:
messages:
tickerSubscribeRequest:
$ref: '#/components/messages/tickerSubscriptionRequest'
tickerEvents:
messages:
tickerConfirmation:
$ref: '#/components/messages/tickerSubscriptionConfirmation'
tickerEvent:
$ref: '#/components/messages/tickerEvent'
ticker24hSubscription:
messages:
ticker24hSubscribeRequest:
$ref: '#/components/messages/ticker24hSubscriptionRequest'
ticker24hEvents:
messages:
ticker24hConfirmation:
$ref: '#/components/messages/ticker24hSubscriptionConfirmation'
ticker24hEvent:
$ref: '#/components/messages/ticker24hEvent'
candlesSubscription:
messages:
candlesSubscribeRequest:
$ref: '#/components/messages/candlesSubscriptionRequest'
candlesEvents:
messages:
candlesConfirmation:
$ref: '#/components/messages/candlesSubscriptionConfirmation'
candlesEvent:
$ref: '#/components/messages/candlesEvent'
tradesSubscription:
messages:
tradesSubscribeRequest:
$ref: '#/components/messages/tradesSubscriptionRequest'
tradesEvents:
messages:
tradesConfirmation:
$ref: '#/components/messages/tradesSubscriptionConfirmation'
tradesEvent:
$ref: '#/components/messages/tradesEvent'
bookSubscription:
messages:
bookSubscribeRequest:
$ref: '#/components/messages/bookSubscriptionRequest'
bookEvents:
messages:
bookConfirmation:
$ref: '#/components/messages/bookSubscriptionConfirmation'
bookEvent:
$ref: '#/components/messages/bookEvent'
accountSubscription:
messages:
accountSubscribeRequest:
$ref: '#/components/messages/accountSubscriptionRequest'
accountEvents:
messages:
accountConfirmation:
$ref: '#/components/messages/accountSubscriptionConfirmation'
orderEvent:
$ref: '#/components/messages/accountOrderEvent'
fillEvent:
$ref: '#/components/messages/accountFillEvent'
# =============================================================================
# Components - messages and schemas placeholder
# =============================================================================
# Due to file size, the full message and schema definitions continue below.
# Each message contains the complete inline payload schema.
components:
securitySchemes:
websocketAuth:
type: httpApiKey
in: query
name: token
description: Authenticated WebSocket session token obtained via REST API.
messages:
# =========================================================================
# Mark
# --- truncated at 32 KB (151 KB total) ---
# Full source: https://artifacts.apis.io/bitvavo/asyncapi/bitvavo-exchange-websocket-asyncapi.yml
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.