THORChain History API
The History API from THORChain — 12 operation(s) for history.
The History API from THORChain — 12 operation(s) for history.
openapi: 3.0.0
info:
title: Thornode Auth History API
version: 3.19.1
contact:
email: devs@thorchain.org
description: Thornode REST API.
tags:
- name: History
paths:
/v2/history/affiliate:
get:
description: "Returns affiliate count, earnings in USD in specified interval.\nIf thorname is not specified returns all thornames\n\nHistory endpoint has two modes:\n* With Interval parameter it returns a series of time buckets. From and To dates will\n be rounded to the Interval boundaries.\n* Without Interval parameter a single From..To search is performed with exact timestamps.\n\n\n* Interval: possible values: 5min, hour, day, week, month, quarter, year.\n* count: [1..400]. Defines number of intervals. Don't provide if Interval is missing.\n* from/to: optional int, unix second.\n\nPossible usages with interval.\n* last 10 days: `?interval=day&count=10`\n* last 10 days before to: `?interval=day&count=10&to=1608825600`\n* next 10 days after from: `?interval=day&count=10&from=1606780800`\n* Days between from and to. From defaults to start of chain, to defaults to now.\n Only the first 400 intervals are returned:\n `interval=day&from=1606780800&to=1608825600`\n\nPagination is possible with from&count and then using the returned meta.endTime as the\nFrom parameter of the next query.\n\nPossible configurations without interval:\n* exact search for one time frame: `?from=1606780899&to=1608825600`\n* one time frame until now: `?from=1606780899`\n* from chain start until now: no query parameters\n"
operationId: GetAffiliateHistory
parameters:
- description: Return history given thorname. Returns sum of all thornames if missing.
in: query
name: thorname
schema:
type: string
- description: Interval of calculations
example: day
in: query
name: interval
schema:
enum:
- 5min
- hour
- day
- week
- month
- quarter
- year
type: string
- description: Number of intervals to return. Should be between [1..400].
example: 30
in: query
name: count
schema:
type: integer
- description: 'End time of the query as unix timestamp. If only count is given, defaults to now.
'
example: 1608825600
in: query
name: to
schema:
format: int64
type: integer
- description: Start time of the query as unix timestamp
example: 1606780800
in: query
name: from
schema:
format: int64
type: integer
responses:
'200':
$ref: '#/components/responses/AffiliateHistoryResponse'
summary: Affiliate earnings History
tags:
- History
/v2/history/affiliate/earnings:
get:
description: "Returns affiliate earnings (liquidity fees) in USD and RUNE in specified interval.\nIf thorname is not specified returns all affiliates.\n\nHistory endpoint has two modes:\n* With Interval parameter it returns a series of time buckets. From and To dates will\n be rounded to the Interval boundaries.\n* Without Interval parameter a single From..To search is performed with exact timestamps.\n\n\n* Interval: possible values: 5min, hour, day, week, month, quarter, year.\n* count: [1..400]. Defines number of intervals. Don't provide if Interval is missing.\n* from/to: optional int, unix second.\n\nPossible usages with interval.\n* last 10 days: `?interval=day&count=10`\n* last 10 days before to: `?interval=day&count=10&to=1608825600`\n* next 10 days after from: `?interval=day&count=10&from=1606780800`\n* Days between from and to. From defaults to start of chain, to defaults to now.\n Only the first 400 intervals are returned:\n `interval=day&from=1606780800&to=1608825600`\n\nPagination is possible with from&count and then using the returned endTime as the\nFrom parameter of the next query.\n\nPossible configurations without interval:\n* exact search for one time frame: `?from=1606780899&to=1608825600`\n* one time frame until now: `?from=1606780899`\n* from chain start until now: no query parameters\n"
operationId: GetAffiliateEarning
parameters:
- description: Return earnings for given thorname. Returns all affiliates if missing.
in: query
name: thorname
schema:
type: string
- description: Interval of calculations
example: day
in: query
name: interval
schema:
enum:
- 5min
- hour
- day
- week
- month
- quarter
- year
type: string
- description: Number of intervals to return. Should be between [1..400].
example: 30
in: query
name: count
schema:
type: integer
- description: 'End time of the query as unix timestamp. If only count is given, defaults to now.
'
example: 1608825600
in: query
name: to
schema:
format: int64
type: integer
- description: Start time of the query as unix timestamp
example: 1606780800
in: query
name: from
schema:
format: int64
type: integer
responses:
'200':
$ref: '#/components/responses/AffiliateEarningResponse'
summary: Affiliate Liquidity Fee Earnings History
tags:
- History
/v2/history/affiliate/stats:
get:
description: "Returns affiliate count, swap volume in USD in specified interval.\nIf thorname is not specified returns all thornames\n\nHistory endpoint has two modes:\n* With Interval parameter it returns a series of time buckets. From and To dates will\n be rounded to the Interval boundaries.\n* Without Interval parameter a single From..To search is performed with exact timestamps.\n\n\n* Interval: possible values: 5min, hour, day, week, month, quarter, year.\n* count: [1..400]. Defines number of intervals. Don't provide if Interval is missing.\n* from/to: optional int, unix second.\n\nPossible usages with interval.\n* last 10 days: `?interval=day&count=10`\n* last 10 days before to: `?interval=day&count=10&to=1608825600`\n* next 10 days after from: `?interval=day&count=10&from=1606780800`\n* Days between from and to. From defaults to start of chain, to defaults to now.\n Only the first 400 intervals are returned:\n `interval=day&from=1606780800&to=1608825600`\n\nPagination is possible with from&count and then using the returned meta.endTime as the\nFrom parameter of the next query.\n\nPossible configurations without interval:\n* exact search for one time frame: `?from=1606780899&to=1608825600`\n* one time frame until now: `?from=1606780899`\n* from chain start until now: no query parameters\n"
operationId: GetAffiliateStats
parameters:
- description: Return history given thorname. Returns sum of all thornames if missing.
in: query
name: thorname
schema:
type: string
- description: Interval of calculations
example: day
in: query
name: interval
schema:
enum:
- 5min
- hour
- day
- week
- month
- quarter
- year
type: string
- description: Number of intervals to return. Should be between [1..400].
example: 30
in: query
name: count
schema:
type: integer
- description: 'End time of the query as unix timestamp. If only count is given, defaults to now.
'
example: 1608825600
in: query
name: to
schema:
format: int64
type: integer
- description: Start time of the query as unix timestamp
example: 1606780800
in: query
name: from
schema:
format: int64
type: integer
responses:
'200':
$ref: '#/components/responses/AffiliateStatsResponse'
summary: Affiliate Volume Stats
tags:
- History
/v2/history/depths/{pool}:
get:
description: "Returns the asset and rune depths and price.\nThe values report the state at the end of each interval.\n\nHistory endpoint has two modes:\n* With Interval parameter it returns a series of time buckets. From and To dates will\n be rounded to the Interval boundaries.\n* Without Interval parameter a single From..To search is performed with exact timestamps.\n\n\n* Interval: possible values: 5min, hour, day, week, month, quarter, year.\n* count: [1..400]. Defines number of intervals. Don't provide if Interval is missing.\n* from/to: optional int, unix second.\n\nPossible usages with interval.\n* last 10 days: `?interval=day&count=10`\n* last 10 days before to: `?interval=day&count=10&to=1608825600`\n* next 10 days after from: `?interval=day&count=10&from=1606780800`\n* Days between from and to. From defaults to start of chain, to defaults to now.\n Only the first 400 intervals are returned:\n `interval=day&from=1606780800&to=1608825600`\n\nPagination is possible with from&count and then using the returned meta.endTime as the\nFrom parameter of the next query.\n\nPossible configurations without interval:\n* exact search for one time frame: `?from=1606780899&to=1608825600`\n* one time frame until now: `?from=1606780899`\n* from chain start until now: no query parameters\n"
operationId: GetDepthHistory
parameters:
- description: Return stats for this single pool.
in: path
name: pool
required: true
schema:
type: string
- description: Interval of calculations
example: day
in: query
name: interval
schema:
enum:
- 5min
- hour
- day
- week
- month
- quarter
- year
type: string
- description: Number of intervals to return. Should be between [1..400].
example: 30
in: query
name: count
schema:
type: integer
- description: 'End time of the query as unix timestamp. If only count is given, defaults to now.
'
example: 1608825600
in: query
name: to
schema:
format: int64
type: integer
- description: Start time of the query as unix timestamp
example: 1606780800
in: query
name: from
schema:
format: int64
type: integer
responses:
'200':
$ref: '#/components/responses/DepthHistoryResponse'
summary: Depth and Price History
tags:
- History
/v2/history/earnings:
get:
description: "Returns earnings data for the specified interval.\n\nHistory endpoint has two modes:\n* With Interval parameter it returns a series of time buckets. From and To dates will\n be rounded to the Interval boundaries.\n* Without Interval parameter a single From..To search is performed with exact timestamps.\n\n\n* Interval: possible values: 5min, hour, day, week, month, quarter, year.\n* count: [1..400]. Defines number of intervals. Don't provide if Interval is missing.\n* from/to: optional int, unix second.\n\nPossible usages with interval.\n* last 10 days: `?interval=day&count=10`\n* last 10 days before to: `?interval=day&count=10&to=1608825600`\n* next 10 days after from: `?interval=day&count=10&from=1606780800`\n* Days between from and to. From defaults to start of chain, to defaults to now.\n Only the first 400 intervals are returned:\n `interval=day&from=1606780800&to=1608825600`\n\nPagination is possible with from&count and then using the returned meta.endTime as the\nFrom parameter of the next query.\n\nPossible configurations without interval:\n* exact search for one time frame: `?from=1606780899&to=1608825600`\n* one time frame until now: `?from=1606780899`\n* from chain start until now: no query parameters\n"
operationId: GetEarningsHistory
parameters:
- description: Interval of calculations
example: day
in: query
name: interval
schema:
enum:
- 5min
- hour
- day
- week
- month
- quarter
- year
type: string
- description: Number of intervals to return. Should be between [1..400].
example: 30
in: query
name: count
schema:
type: integer
- description: 'End time of the query as unix timestamp. If only count is given, defaults to now.
'
example: 1608825600
in: query
name: to
schema:
format: int64
type: integer
- description: Start time of the query as unix timestamp
example: 1606780800
in: query
name: from
schema:
format: int64
type: integer
responses:
'200':
$ref: '#/components/responses/EarningsHistoryResponse'
summary: Earnings History
tags:
- History
/v2/history/liquidity_changes:
get:
description: "Returns withdrawals and deposits for given time interval.\nIf pool is not specified returns for all pools\n\nHistory endpoint has two modes:\n* With Interval parameter it returns a series of time buckets. From and To dates will\n be rounded to the Interval boundaries.\n* Without Interval parameter a single From..To search is performed with exact timestamps.\n\n\n* Interval: possible values: 5min, hour, day, week, month, quarter, year.\n* count: [1..400]. Defines number of intervals. Don't provide if Interval is missing.\n* from/to: optional int, unix second.\n\nPossible usages with interval.\n* last 10 days: `?interval=day&count=10`\n* last 10 days before to: `?interval=day&count=10&to=1608825600`\n* next 10 days after from: `?interval=day&count=10&from=1606780800`\n* Days between from and to. From defaults to start of chain, to defaults to now.\n Only the first 400 intervals are returned:\n `interval=day&from=1606780800&to=1608825600`\n\nPagination is possible with from&count and then using the returned meta.endTime as the\nFrom parameter of the next query.\n\nPossible configurations without interval:\n* exact search for one time frame: `?from=1606780899&to=1608825600`\n* one time frame until now: `?from=1606780899`\n* from chain start until now: no query parameters\n"
operationId: GetLiquidityHistory
parameters:
- description: Return stats for given pool. Returns sum of all pools if missing
in: query
name: pool
schema:
type: string
- description: Interval of calculations
example: day
in: query
name: interval
schema:
enum:
- 5min
- hour
- day
- week
- month
- quarter
- year
type: string
- description: Number of intervals to return. Should be between [1..400]
example: 30
in: query
name: count
schema:
type: integer
- description: 'End time of the query as unix timestamp. If only count is given, defaults to now
'
example: 1608825600
in: query
name: to
schema:
format: int64
type: integer
- description: Start time of the query as unix timestamp
example: 1606780800
in: query
name: from
schema:
format: int64
type: integer
responses:
'200':
$ref: '#/components/responses/LiquidityHistoryResponse'
summary: Liquidity Changes History
tags:
- History
/v2/history/reserve:
get:
description: 'Returns reserve module network fee, outbound fee, and gas reimbursement flow in
bucketed history
'
operationId: GetReserveHistory
parameters:
- description: Interval of calculations
example: day
in: query
name: interval
schema:
enum:
- 5min
- hour
- day
- week
- month
- quarter
- year
type: string
- description: Number of intervals to return. Should be between [1..400].
example: 30
in: query
name: count
schema:
type: integer
- description: 'End time of the query as unix timestamp. If only count is given, defaults to now.
'
example: 1608825600
in: query
name: to
schema:
format: int64
type: integer
- description: Start time of the query as unix timestamp
example: 1606780800
in: query
name: from
schema:
format: int64
type: integer
responses:
'200':
$ref: '#/components/responses/ReserveHistoryResponse'
summary: Reserve income and expenses over bucketed history
tags:
- History
/v2/history/rune:
get:
description: 'Returns rune price history in USD based on the time bucket given
'
operationId: GetRunePriceHistory
parameters:
- description: Interval of calculations
example: day
in: query
name: interval
schema:
enum:
- 5min
- hour
- day
- week
- month
- quarter
- year
type: string
- description: Number of intervals to return. Should be between [1..400].
example: 30
in: query
name: count
schema:
type: integer
- description: 'End time of the query as unix timestamp. If only count is given, defaults to now.
'
example: 1608825600
in: query
name: to
schema:
format: int64
type: integer
- description: Start time of the query as unix timestamp
example: 1606780800
in: query
name: from
schema:
format: int64
type: integer
responses:
'200':
$ref: '#/components/responses/RunePriceHistoryResponse'
summary: Rune price history in USD
tags:
- History
/v2/history/runepool:
get:
description: "Returns RUNEPool members and units.\nThe values report the state at the end of each interval.\n\nHistory endpoint has two modes:\n* With Interval parameter it returns a series of time buckets. From and To dates will\n be rounded to the Interval boundaries.\n* Without Interval parameter a single From..To search is performed with exact timestamps.\n\n\n* Interval: possible values: 5min, hour, day, week, month, quarter, year.\n* count: [1..400]. Defines number of intervals. Don't provide if Interval is missing.\n* from/to: optional int, unix second.\n\nPossible usages with interval.\n* last 10 days: `?interval=day&count=10`\n* last 10 days before to: `?interval=day&count=10&to=1608825600`\n* next 10 days after from: `?interval=day&count=10&from=1606780800`\n* Days between from and to. From defaults to start of chain, to defaults to now.\n Only the first 400 intervals are returned:\n `interval=day&from=1606780800&to=1608825600`\n\nPagination is possible with from&count and then using the returned meta.endTime as the\nFrom parameter of the next query.\n\nPossible configurations without interval:\n* exact search for one time frame: `?from=1606780899&to=1608825600`\n* one time frame until now: `?from=1606780899`\n* from chain start until now: no query parameters\n"
operationId: GetRUNEPoolHistory
parameters:
- description: Interval of calculations
example: day
in: query
name: interval
schema:
enum:
- 5min
- hour
- day
- week
- month
- quarter
- year
type: string
- description: Number of intervals to return. Should be between [1..400].
example: 30
in: query
name: count
schema:
type: integer
- description: 'End time of the query as unix timestamp. If only count is given, defaults to now.
'
example: 1608825600
in: query
name: to
schema:
format: int64
type: integer
- description: Start time of the query as unix timestamp
example: 1606780800
in: query
name: from
schema:
format: int64
type: integer
responses:
'200':
$ref: '#/components/responses/RUNEPoolHistoryResponse'
summary: RUNEPool total members and units History
tags:
- History
/v2/history/savers/{pool}:
get:
description: "Returns savers depths and units.\nThe values report the state at the end of each interval.\n\nHistory endpoint has two modes:\n* With Interval parameter it returns a series of time buckets. From and To dates will\n be rounded to the Interval boundaries.\n* Without Interval parameter a single From..To search is performed with exact timestamps.\n\n\n* Interval: possible values: 5min, hour, day, week, month, quarter, year.\n* count: [1..400]. Defines number of intervals. Don't provide if Interval is missing.\n* from/to: optional int, unix second.\n\nPossible usages with interval.\n* last 10 days: `?interval=day&count=10`\n* last 10 days before to: `?interval=day&count=10&to=1608825600`\n* next 10 days after from: `?interval=day&count=10&from=1606780800`\n* Days between from and to. From defaults to start of chain, to defaults to now.\n Only the first 400 intervals are returned:\n `interval=day&from=1606780800&to=1608825600`\n\nPagination is possible with from&count and then using the returned meta.endTime as the\nFrom parameter of the next query.\n\nPossible configurations without interval:\n* exact search for one time frame: `?from=1606780899&to=1608825600`\n* one time frame until now: `?from=1606780899`\n* from chain start until now: no query parameters\n"
operationId: GetSaversHistory
parameters:
- description: Return stats for this single pool.
in: path
name: pool
required: true
schema:
type: string
- description: Interval of calculations
example: day
in: query
name: interval
schema:
enum:
- 5min
- hour
- day
- week
- month
- quarter
- year
type: string
- description: Number of intervals to return. Should be between [1..400].
example: 30
in: query
name: count
schema:
type: integer
- description: 'End time of the query as unix timestamp. If only count is given, defaults to now.
'
example: 1608825600
in: query
name: to
schema:
format: int64
type: integer
- description: Start time of the query as unix timestamp
example: 1606780800
in: query
name: from
schema:
format: int64
type: integer
responses:
'200':
$ref: '#/components/responses/SaversHistoryResponse'
summary: Savers Units and Depth History
tags:
- History
/v2/history/swaps:
get:
description: "Returns swap count, volume, fees, slip in specified interval.\nIf pool is not specified returns for all pools\n\nHistory endpoint has two modes:\n* With Interval parameter it returns a series of time buckets. From and To dates will\n be rounded to the Interval boundaries.\n* Without Interval parameter a single From..To search is performed with exact timestamps.\n\n\n* Interval: possible values: 5min, hour, day, week, month, quarter, year.\n* count: [1..400]. Defines number of intervals. Don't provide if Interval is missing.\n* from/to: optional int, unix second.\n\nPossible usages with interval.\n* last 10 days: `?interval=day&count=10`\n* last 10 days before to: `?interval=day&count=10&to=1608825600`\n* next 10 days after from: `?interval=day&count=10&from=1606780800`\n* Days between from and to. From defaults to start of chain, to defaults to now.\n Only the first 400 intervals are returned:\n `interval=day&from=1606780800&to=1608825600`\n\nPagination is possible with from&count and then using the returned meta.endTime as the\nFrom parameter of the next query.\n\nPossible configurations without interval:\n* exact search for one time frame: `?from=1606780899&to=1608825600`\n* one time frame until now: `?from=1606780899`\n* from chain start until now: no query parameters\n"
operationId: GetSwapHistory
parameters:
- description: Return history given pool. Returns sum of all pools if missing.
in: query
name: pool
schema:
type: string
- description: Interval of calculations
example: day
in: query
name: interval
schema:
enum:
- 5min
- hour
- day
- week
- month
- quarter
- year
type: string
- description: Number of intervals to return. Should be between [1..400].
example: 30
in: query
name: count
schema:
type: integer
- description: 'End time of the query as unix timestamp. If only count is given, defaults to now.
'
example: 1608825600
in: query
name: to
schema:
format: int64
type: integer
- description: Start time of the query as unix timestamp
example: 1606780800
in: query
name: from
schema:
format: int64
type: integer
responses:
'200':
$ref: '#/components/responses/SwapHistoryResponse'
summary: Swaps History
tags:
- History
/v2/history/tvl:
get:
description: "Returns total pool depths, total bonds, and total value locked in specified interval.\n\nTotal Value Locked = Total Bonds + 2 * Total Pool Depths\n\nHistory endpoint has two modes:\n* With Interval parameter it returns a series of time buckets. From and To dates will\n be rounded to the Interval boundaries.\n* Without Interval parameter a single From..To search is performed with exact timestamps.\n\n* Interval: possible values: 5min, hour, day, week, month, quarter, year.\n* count: [1..400]. Defines number of intervals. Don't provide if Interval is missing.\n* from/to: optional int, unix second.\n\nPossible usages with interval.\n* last 10 days: `?interval=day&count=10`\n* last 10 days before to: `?interval=day&count=10&to=1608825600`\n* next 10 days after from: `?interval=day&count=10&from=1606780800`\n* Days between from and to. From defaults to start of chain, to defaults to now.\n Only the first 400 intervals are returned:\n `interval=day&from=1606780800&to=1608825600`\n\nPagination is possible with from&count and then using the returned meta.endTime as the\nFrom parameter of the next query.\n\nPossible configurations without interval:\n* exact search for one time frame: `?from=1606780899&to=1608825600`\n* one time frame until now: `?from=1606780899`\n* from chain start until now: no query parameters\n"
operationId: GetTVLHistory
parameters:
- description: Interval of calculations
example: day
in: query
name: interval
schema:
enum:
- 5min
- hour
- day
- week
- month
- quarter
- year
type: string
- description: Number of intervals to return. Should be between [1..400].
example: 30
in: query
name: count
schema:
type: integer
- description: 'End time of the query as unix timestamp. If only count is given, defaults to now.
'
example: 1608825600
in: query
name: to
schema:
format: int64
type: integer
- description: Start time of the query as unix timestamp
example: 1606780800
in: query
name: from
schema:
format: int64
type: integer
responses:
'200':
$ref: '#/components/responses/TVLHistoryResponse'
summary: Total Value Locked History
tags:
- History
components:
schemas:
ItemThorname:
properties:
count:
description: 'Int64, The count of affiliates with the same thorname during the time interval
'
type: string
thorname:
description: thorname of the affiliate
type: string
volume:
description: 'Int64(e8), The volume of affiliates with the same thorname detonated in RUNE
'
type: string
volumeUSD:
description: 'Int64(e2), The volume of affiliates with the same thorname
denoted in USD price of the rune in each swap
'
type: string
required:
- thorname
- count
- volume
- volumeUSD
type: object
EarningsHistoryItem:
properties:
avgNodeCount:
description: float64, Average amount of active nodes during the time interval
type: string
blockRewards:
description: Int64(e8), Total block rewards emitted during the time interval
type: string
bondingEarnings:
description: Int64(e8), Share of earnings sent to nodes during the time interval
type: string
earnings:
description: 'Int64(e8), System income generated during the time interval. It is the sum of
liquidity fees and block rewards
'
type: string
endTime:
description: Int64, The end time of interval in unix timestamp
type: string
liquidityEarnings:
description: Int64(e8), Share of earnings sent to pools during the time interval
type: string
liquidityFees:
description: 'Int64(e8), Total liquidity fees, converted to RUNE, collected during the time interval
'
type: string
pools:
description: Earnings data for each pool for the time interval
items:
$ref: '#/components/schemas/EarningsHistoryItemPool'
type: array
runePriceUSD:
description: 'Float, the price of Rune based on the deepest USD pool at the end of the interval.
'
type: string
startTime:
description: Int64, The beginning time of interval in unix timestamp
type: string
required:
- startTime
- endTime
- liquidityFees
- blockRewards
- earnings
- bondingEarnings
- liquidityEarnings
- avgNodeCount
- runePriceUSD
- pools
type: object
TVLHistoryItem:
properties:
endTime:
description: Int64, The end time of bucket in unix timestamp
type: string
poolsDepth:
items:
$ref: '#/components/schemas/DepthHistoryItemPool'
type: array
runePriceUSD:
description: 'Float, the price of Rune based on the deepest USD pool at the end of the interval.
'
type: string
startTime:
description: Int64, The beginning time of bucket in unix timestamp
type: string
totalValueBonded:
description: 'Int64(e8), the total amount of bonds (both active and standby) at the end of
the interval
'
type: string
totalValueLocked:
description: 'Int64(e8), total value locked in the chain (in rune)
This equals `totalPooledValue + totalBondedValue`, as it combines the liquidity
pools and bonds of the nodes.
'
type: string
totalValuePooled:
description: 'Int64(e8) in rune, the total pooled value (both assets and rune) in all of the pools at
the end of the interval.
Note: this is twice the aggregate Rune depth of all pools.
'
type: string
required:
- startTime
- endTime
- totalValuePooled
- runePriceUSD
- poolsDepth
type: object
RUNEPoolHistoryIntervals:
items:
$ref: '#/components/schemas/RUNEPoolHistoryItem'
type: array
SaversHistoryMeta:
properties:
endSaversCount:
# --- truncated at 32 KB (67 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/thorchain/refs/heads/main/openapi/thorchain-history-api-openapi.yml