THORChain Vaults API

The Vaults API from THORChain — 6 operation(s) for vaults.

Operations 6

GET /thorchain/vaults/asgard #
GET /thorchain/vaults/yggdrasil #
GET /thorchain/vault/{pubkey} #
GET /thorchain/vault/{pubkey}/keysign_party #
GET /thorchain/vaults/pubkeys #
GET /thorchain/vaults/solvency #

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/thorchain-vaults-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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

thorchain-vaults-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Thornode Auth Vaults API
  version: 3.19.1
  contact:
    email: devs@thorchain.org
  description: Thornode REST API.
servers:
- url: https://gateway.liquify.com/chain/thorchain_api
  description: Base URL declared by the provider in apis.yml (roadmap#122).
tags:
- name: Vaults
paths:
  /thorchain/vaults/asgard:
    parameters:
    - $ref: '#/components/parameters/queryHeight'
    get:
      description: Returns current asgard vaults.
      operationId: asgard
      tags:
      - Vaults
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VaultsResponse'
  /thorchain/vaults/yggdrasil:
    parameters:
    - $ref: '#/components/parameters/queryHeight'
    get:
      description: Returns current yggdrasil vaults.
      operationId: yggdrasil
      tags:
      - Vaults
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/YggdrasilVaultsResponse'
  /thorchain/vault/{pubkey}:
    parameters:
    - $ref: '#/components/parameters/queryHeight'
    - $ref: '#/components/parameters/pubkey'
    get:
      description: Returns the vault for the provided pubkey.
      operationId: vault
      tags:
      - Vaults
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VaultResponse'
  /thorchain/vault/{pubkey}/keysign_party:
    parameters:
    - $ref: '#/components/parameters/querySigningHeight'
    - $ref: '#/components/parameters/pubkey'
    get:
      description: Returns the keysign-eligible signer set for the provided vault pubkey. The optional signing_height is the signing height used for jail-release evaluation against current vault and node-account state; it is not a historical state query.
      operationId: vaultKeysignParty
      tags:
      - Vaults
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KeysignPartyResponse'
  /thorchain/vaults/pubkeys:
    parameters:
    - $ref: '#/components/parameters/queryHeight'
    get:
      description: Returns all pubkeys for current vaults.
      operationId: vaultPubkeys
      tags:
      - Vaults
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VaultPubkeysResponse'
  /thorchain/vaults/solvency:
    parameters:
    - $ref: '#/components/parameters/queryHeight'
    get:
      description: Returns aggregate vault solvency showing over-solvent or under-solvent amounts per asset.
      operationId: vaultSolvency
      tags:
      - Vaults
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VaultSolvencyResponse'
components:
  schemas:
    VaultAddress:
      type: object
      required:
      - chain
      - address
      properties:
        chain:
          type: string
          example: BTC
        address:
          type: string
          example: bc1qd45uzetakjvdy5ynjjyp4nlnj89am88e4e5jeq
    VaultRouter:
      type: object
      properties:
        chain:
          type: string
          example: ETH
        router:
          type: string
          example: '0x3624525075b88B24ecc29CE226b0CEc1fFcB6976'
    VaultSolvencyAsset:
      type: object
      required:
      - asset
      - amount
      properties:
        asset:
          type: string
          example: BTC.BTC
          description: Asset identifier
        amount:
          type: string
          example: '1000000000'
          description: Solvency amount for the asset. Positive values indicate over-solvency, negative values indicate under-solvency.
    Vault:
      type: object
      required:
      - coins
      - status
      - routers
      - addresses
      properties:
        block_height:
          type: integer
          format: int64
        pub_key:
          type: string
        pub_key_eddsa:
          type: string
        pub_key_frost:
          type: string
        coins:
          type: array
          items:
            $ref: '#/components/schemas/Coin'
        deficit:
          type: array
          items:
            $ref: '#/components/schemas/Coin'
        type:
          type: string
          enum:
          - AsgardVault
          - YggdrasilVault
        status:
          type: string
        status_since:
          type: integer
          format: int64
        membership:
          type: array
          description: the list of node public keys which are members of the vault
          items:
            type: string
        chains:
          type: array
          items:
            type: string
        inbound_tx_count:
          type: integer
          format: int64
        outbound_tx_count:
          type: integer
          format: int64
        pending_tx_block_heights:
          type: array
          items:
            type: integer
            format: int64
        routers:
          type: array
          items:
            $ref: '#/components/schemas/VaultRouter'
        addresses:
          type: array
          items:
            $ref: '#/components/schemas/VaultAddress'
        frozen:
          type: array
          items:
            type: string
    VaultInfo:
      type: object
      required:
      - pub_key
      - routers
      properties:
        pub_key:
          type: string
          example: thorpub1addwnpepq068dr0x7ue973drmq4eqmzhcq3650n7nx5fhgn9gl207luxp6vaklu52tc
        pub_key_eddsa:
          type: string
          example: thorpub1addwnpepq068dr0x7ue973drmq4eqmzhcq3650n7nx5fhgn9gl207luxp6vaklu52tc
        pub_key_frost:
          type: string
          example: thorpub1zcjduepq068dr0x7ue973drmq4eqmzhcq3650n7nx5fhgn9gl207luxp6vaklu52tc
        routers:
          type: array
          items:
            $ref: '#/components/schemas/VaultRouter'
        membership:
          type: array
          description: the list of node public keys which are members of the vault
          items:
            type: string
    Coin:
      type: object
      required:
      - asset
      - amount
      properties:
        asset:
          type: string
          example: BTC.BTC
        amount:
          type: string
          example: '100000'
        decimals:
          type: integer
          format: int64
          example: 6
    VaultPubkeysResponse:
      type: object
      required:
      - asgard
      - yggdrasil
      - inactive
      properties:
        asgard:
          type: array
          items:
            $ref: '#/components/schemas/VaultInfo'
        yggdrasil:
          type: array
          items:
            $ref: '#/components/schemas/VaultInfo'
        inactive:
          type: array
          items:
            $ref: '#/components/schemas/VaultInfo'
    KeysignPartyResponse:
      type: object
      required:
      - pub_key
      - signers
      - height
      - threshold
      - required_signers
      - never_signers
      - jailed_fallback_signers
      - active_signer_count
      properties:
        pub_key:
          type: string
          example: thorpub1addwnpep...
        signers:
          type: array
          items:
            type: string
            example: thorpub1addwnpep...
        height:
          type: integer
          format: int64
        threshold:
          type: integer
          format: int64
        required_signers:
          type: integer
          format: int64
        never_signers:
          type: array
          items:
            type: string
            example: thorpub1addwnpep...
        jailed_fallback_signers:
          type: array
          items:
            type: string
            example: thorpub1addwnpep...
        active_signer_count:
          type: integer
          format: int64
    YggdrasilVaultsResponse:
      type: array
      items:
        $ref: '#/components/schemas/YggdrasilVault'
    VaultsResponse:
      type: array
      items:
        $ref: '#/components/schemas/Vault'
    VaultSolvencyResponse:
      type: object
      required:
      - assets
      properties:
        assets:
          type: array
          items:
            $ref: '#/components/schemas/VaultSolvencyAsset'
    VaultResponse:
      $ref: '#/components/schemas/Vault'
    YggdrasilVault:
      type: object
      required:
      - coins
      - routers
      - status
      - bond
      - total_value
      - addresses
      properties:
        block_height:
          type: integer
          format: int64
        pub_key:
          type: string
        coins:
          type: array
          items:
            $ref: '#/components/schemas/Coin'
        type:
          type: string
          enum:
          - AsgardVault
          - YggdrasilVault
        status_since:
          type: integer
          format: int64
        membership:
          type: array
          description: the list of node public keys which are members of the vault
          items:
            type: string
        chains:
          type: array
          items:
            type: string
        inbound_tx_count:
          type: integer
          format: int64
        outbound_tx_count:
          type: integer
          format: int64
        pending_tx_block_heights:
          type: array
          items:
            type: integer
            format: int64
        routers:
          type: array
          items:
            $ref: '#/components/schemas/VaultRouter'
        status:
          type: string
        bond:
          type: string
          description: current node bond
          example: '123456789'
        total_value:
          type: string
          description: value in rune of the vault's assets
          example: '83456789'
        addresses:
          type: array
          items:
            $ref: '#/components/schemas/VaultAddress'
  parameters:
    pubkey:
      name: pubkey
      in: path
      required: true
      schema:
        type: string
        example: thorpub1addwnpepq068dr0x7ue973drmq4eqmzhcq3650n7nx5fhgn9gl207luxp6vaklu52tc
    queryHeight:
      name: height
      in: query
      description: optional block height, defaults to current tip
      required: false
      schema:
        type: integer
        format: int64
        minimum: 0
    querySigningHeight:
      name: signing_height
      in: query
      description: optional signing height, defaults to current tip
      required: false
      schema:
        type: integer
        format: int64
        minimum: 0