Bitvavo Account API

Get information about your Bitvavo account.

Operations 5

GET /account Get account fees #
GET /balance Get account balance #
GET /stakingBalance Get staking balance #
GET /account/fees Get market fees #
GET /account/history Get transaction history #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/bitvavo:bitvavo-account-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

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.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

bitvavo-account-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Bitvavo REST Account API
  version: 2.10.0
  description: Trading, market data, transfers, and account management using request-response messaging over HTTP.
servers:
- url: https://api.bitvavo.com/v2
tags:
- name: Account
  description: Get information about your Bitvavo account.
paths:
  /account:
    get:
      tags:
      - Account
      summary: Get account fees
      security:
      - Bitvavo-Access-Key: []
        Bitvavo-Access-Timestamp: []
        Bitvavo-Access-Signature: []
        Bitvavo-Access-Window: []
      description: 'Returns your current trading fees from the default Category A based on the trading volume of your account.


        :::info

        This is a *private* endpoint. To send requests, you need to authenticate.

        :::


        **Rate limit weight points**: **1**'
      x-codeSamples:
      - lang: JavaScript
        source: "// The Javascript SDK works with callbacks and with promises. For info, check our GitHub.\nconst bitvavo = require('bitvavo')().options({\n  APIKEY: '<APIKEY>',\n  APISECRET: '<APISECRET>'\n})\n\nbitvavo.account((error, response) => {\n  if (error == null) {\n    console.log(response)\n  } else {\n    console.log(error)\n  }\n})\n"
      - lang: Python
        source: "from python_bitvavo_api.bitvavo import Bitvavo\n\nbitvavo = Bitvavo({\n    'APIKEY': '<APIKEY>',\n    'APISECRET': '<APISECRET>'\n})\nresponse = bitvavo.account()\nprint(response)\n"
      - lang: Go
        source: 'import . "bitvavo" bitvavo := Bitvavo{ApiKey:"<APIKEY>", ApiSecret:"<APISECRET>"}

          response, err := bitvavo.Account() if err != nil { fmt.Println(err) } else { fmt.Printf("%+v\n", response) }'
      responses:
        '200':
          description: The request was successful.
          content:
            application/json:
              schema:
                type: object
                properties:
                  fees:
                    type: object
                    description: The trading fees and volume for your account.
                    properties:
                      taker:
                        description: The fee for trades that take liquidity from the order book.
                        type: string
                        example: '0.0025'
                      maker:
                        description: The fee for trades that add liquidity to the order book.
                        type: string
                        example: '0.0015'
                      volume:
                        description: Your trading volume in the last 30 days measured in EUR.
                        type: string
                        example: '10000.00'
        4XX:
          description: For error codes, see [Handle errors](/docs/errors).
      operationId: getAccount
      x-operation-id-source: derived
  /balance:
    get:
      tags:
      - Account
      summary: Get account balance
      security:
      - Bitvavo-Access-Key: []
        Bitvavo-Access-Timestamp: []
        Bitvavo-Access-Signature: []
        Bitvavo-Access-Window: []
      description: 'Returns the current balance for your account.


        :::info

        This is a *private* endpoint. To send requests, you need to authenticate.

        :::


        **Rate limit weight points**: **5**'
      parameters:
      - name: symbol
        in: query
        required: false
        description: 'The asset for which you want to return the balance. If not specified, returns the balance for all assets above zero.

          '
        schema:
          type: string
      x-codeSamples:
      - lang: JavaScript
        source: "// The Javascript SDK works with callbacks and with promises. For info, check our GitHub.\nconst bitvavo = require('bitvavo')().options({\n  APIKEY: '<APIKEY>',\n  APISECRET: '<APISECRET>'\n})\n\nbitvavo.balance({}, (error, response) => {\n  if (error === null) {\n    console.log(response)\n  } else {\n    console.log(error)\n  }\n})\n"
      - lang: Python
        source: "from python_bitvavo_api.bitvavo import Bitvavo\n\nbitvavo = Bitvavo({\n    'APIKEY': '<APIKEY>',\n    'APISECRET': '<APISECRET>'\n})\nresponse = bitvavo.balance({})\nfor item in response:\n  print(item)\n"
      - lang: Go
        source: 'import . "bitvavo" bitvavo := Bitvavo{ApiKey:"<APIKEY>", ApiSecret:"<APISECRET>"}

          response, err := bitvavo.Balance(map[string]string{}) if err != nil { fmt.Println(err) } else { for _, balance := range response { fmt.Printf("%+v\n", balance) } }'
      responses:
        '200':
          description: The request was successful.
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    symbol:
                      description: The asset for which the balance was returned.
                      type: string
                      example: BTC
                    available:
                      description: The balance that is available for use.
                      type: string
                      example: '1.57593193'
                    inOrder:
                      description: The balance that is currently reserved for open orders.
                      type: string
                      example: '0.74832374'
        4XX:
          description: For error codes, see [Handle errors](/docs/errors).
      operationId: getBalance
      x-operation-id-source: derived
  /stakingBalance:
    get:
      tags:
      - Account
      summary: Get staking balance
      security:
      - Bitvavo-Access-Key: []
        Bitvavo-Access-Timestamp: []
        Bitvavo-Access-Signature: []
        Bitvavo-Access-Window: []
      description: 'Returns the amount of crypto assets in your account that are currently in fixed staking positions and are not available for trading.


        :::info

        This is a *private* endpoint. To send requests, you need to authenticate.

        :::


        :::tip

        This request only returns assets locked in fixed staking. To get your balance available for trading, use the Get account balance request.

        :::


        **Rate limit weight points**: **5**'
      parameters:
      - name: symbol
        in: query
        required: false
        description: 'The asset for which you want to return the staking balance. If not specified, returns the staking balance for all assets above zero.

          '
        schema:
          type: string
      responses:
        '200':
          description: The request was successful.
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    symbol:
                      description: The asset for which the balance was returned.
                      type: string
                      example: BTC
                    amount:
                      description: The amount that is currently locked in fixed staking.
                      type: string
                      example: '0.99994'
        4XX:
          description: For error codes, see [Handle errors](/docs/errors).
      operationId: getStakingBalance
      x-operation-id-source: derived
  /account/fees:
    get:
      tags:
      - Account
      summary: Get market fees
      security:
      - Bitvavo-Access-Key: []
        Bitvavo-Access-Timestamp: []
        Bitvavo-Access-Signature: []
        Bitvavo-Access-Window: []
      description: 'Returns your current trading fees from the Category of the specified market based on the trading volume of your account.


        :::info

        This is a *private* endpoint. To send requests, you need to authenticate.

        :::


        **Rate limit weight points**: **1**'
      parameters:
      - in: query
        name: market
        example: BTC-EUR
        description: "The market for which to get fee information. If not specified, returns the fees for your \ncurrent tier in [Category A](https://bitvavo.com/en/fees).\n"
        schema:
          type: string
      - in: query
        name: quote
        description: "The quote currency for which to get fee information. If not specified, returns the fees for your \ncurrent tier in [Category A](https://bitvavo.com/en/fees).\n"
        schema:
          type: string
          enum:
          - EUR
          - USDC
      responses:
        '200':
          description: The request was successful.
          content:
            application/json:
              schema:
                type: object
                properties:
                  tier:
                    description: 'The [price tier](https://bitvavo.com/en/fees) used to calculate your trading fees.

                      > The first tier in the Bitvavo fee structure is **0**.

                      '
                    type: string
                    example: '0'
                  volume:
                    description: Your trading volume over the last 30 days in EUR.
                    type: string
                    example: '10000.00'
                  taker:
                    description: The fee for trades that take liquidity from the order book.
                    type: string
                    example: '0.0025'
                  maker:
                    description: 'The fee for trades that add liquidity to the order book.

                      '
                    type: string
                    example: '0.0015'
        4XX:
          description: To learn more, see [Handle errors](/docs/errors).
      operationId: getAccountFees
      x-operation-id-source: derived
  /account/history:
    get:
      tags:
      - Account
      summary: Get transaction history
      security:
      - Bitvavo-Access-Key: []
        Bitvavo-Access-Timestamp: []
        Bitvavo-Access-Signature: []
        Bitvavo-Access-Window: []
      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

        This is a *private* endpoint. To send requests, you need to authenticate.

        :::


        **Rate limit weight points**: **1**'
      parameters:
      - name: fromDate
        in: query
        description: The Unix timestamp starting from which to return transactions.
        schema:
          type: integer
          format: unix-timestamp in milliseconds
          minimum: 0
      - name: toDate
        in: query
        description: The Unix timestamp up to which to return transactions.
        schema:
          type: integer
          format: unix-timestamp in milliseconds
          maximum: 8640000000000000
      - name: page
        in: query
        description: The page number for the transaction history.
        schema:
          type: integer
          minimum: 1
      - name: maxItems
        in: query
        description: The maximum number of items per page in the transaction history.
        schema:
          type: integer
          minimum: 1
          maximum: 100
      - name: type
        in: query
        description: The type of transaction to return.
        schema:
          type: string
          enum:
          - sell
          - buy
          - staking
          - fixed_staking
          - deposit
          - withdrawal
          - affiliate
          - distribution
          - internal_transfer
          - withdrawal_cancelled
          - rebate
          - loan
          - external_transferred_funds
          - manually_assigned
      responses:
        '200':
          description: The request was successful.
          content:
            application/json:
              schema:
                type: object
                properties:
                  items:
                    type: array
                    items:
                      type: object
                      properties:
                        transactionId:
                          description: The unique identifier of the transaction.
                          type: string
                          example: 5f5e7b3b-4f5b-4b2d-8b2f-4f2b5b3f5e5f
                        executedAt:
                          description: The Unix timestamp when the transaction was executed.
                          type: string
                          format: date-time
                          example: '2021-01-01T00:00:00.000Z'
                        type:
                          description: The type of transaction.
                          type: string
                          enum:
                          - sell
                          - buy
                          - staking
                          - fixed_staking
                          - deposit
                          - withdrawal
                          - affiliate
                          - distribution
                          - internal_transfer
                          - withdrawal_cancelled
                          - rebate
                          - loan
                          - external_transferred_funds
                          - manually_assigned
                          - manually_assigned_bitvavo
                        priceCurrency:
                          description: The currency in which the transaction was made.
                          type: string
                          example: EUR
                        priceAmount:
                          description: The amount of the transaction.
                          type: string
                          example: '1000.00'
                        sentCurrency:
                          description: The currency that was sent in the transaction.
                          type: string
                          example: EUR
                        sentAmount:
                          description: The amount that was sent in the transaction.
                          type: string
                          example: '0.1'
                        receivedCurrency:
                          description: The currency that was received in the transaction.
                          type: string
                          example: BTC
                        receivedAmount:
                          description: The amount that was received in the transaction.
                          type: string
                          example: '0.0001'
                        feesCurrency:
                          description: The currency in which the fees were paid.
                          type: string
                          example: EUR
                        feesAmount:
                          description: The amount of fees paid in the transaction.
                          type: string
                          example: '0.01'
                        address:
                          description: The address where the transaction was made.
                          type:
                          - string
                          - 'null'
                  currentPage:
                    description: The current page number.
                    type: integer
                    example: 1
                  totalPages:
                    description: The total number of returned pages.
                    type: integer
                    example: 1
                  maxItems:
                    description: The maximum number of transactions per page.
                    type: integer
                    example: 100
        4XX:
          description: For error codes, see [Handle errors](/docs/errors).
      operationId: getAccountHistory
      x-operation-id-source: derived
components:
  securitySchemes:
    Bitvavo-Access-Key:
      description: 'Your 64-character API key with the required [permissions](/docs/rest-api/introduction/).

        '
      name: Bitvavo-Access-Key
      type: apiKey
      in: header
    Bitvavo-Access-Timestamp:
      description: 'A Unix timestamp in milliseconds of the time when you make the request.

        '
      name: Bitvavo-Access-Timestamp
      type: apiKey
      in: header
    Bitvavo-Access-Signature:
      description: 'An HMAC-SHA256 hex-encoded string of the time, HTTP method, path, and parameters used to make the request. To learn more, see [Authentication](/docs/rest-api/introduction/).

        '
      name: Bitvavo-Access-Signature
      type: apiKey
      in: header
    Bitvavo-Access-Window:
      description: 'The execution timeout in milliseconds after Bitvavo-Access-Timestamp. The default value

        is 10000, the maximum value is 60000.

        '
      name: Bitvavo-Access-Window
      type: apiKey
      in: header