getHistoricalPrice
getHistoricalPrice method is used to fetch historical prices. It can fetch prices in a time range for a single or multiple tokens

Get a single historical price for a single token

getHistoricalPrice(symbol: string, opts: GetHistoricalPriceOptions): Promise<PriceData>
Returns the historical price for a single token
remarks Full list of supported tokens is available here
Parameters:
Name
Type
Description
symbol
string
Token symbol (string)
opts
GetHistoricalPriceOptions
Optional params (object)
  • opts.date: Date for the historical price
  • opts.provider: provider name (string) *
  • opts.verifySignature: enable signature verification (boolean)
Returns: Promise<PriceData>
The historical price for token

Get historical price in a time range for a single token

getHistoricalPrice(symbol: string, opts: GetHistoricalPriceForIntervalOptions): Promise<PriceData[]>
Returns the historical prices for a token in a time range with the specified interval
remarks This method can be used to display charts with historical prices. Full list of supported tokens is available here
Parameters:
Name
Type
Description
symbol
string
Token symbol
opts
GetHistoricalPriceForIntervalOptions
Options object. It must contain startDate, endDate, and interval properties.
  • opts.startDate: Start time for the time range (date | timestamp | string)
  • opts.endDate: End time for the time range (date | timestamp | string)
  • opts.interval: Interval in milliseconds (number)
  • opts.provider: provider name (string)
  • opts.verifySignature: enable signature verification (boolean)
Returns: Promise<PriceData[]>
The historical prices for the symbol with the passed interval

Get a single historical price for several tokens

getHistoricalPrice(symbols: string[], opts: GetHistoricalPriceOptions): Promise<{ [token: string]: PriceData; }>
Returns the historical prices for several tokens
Parameters:
Name
Type
Description
symbols
string[]
Array of token symbols
opts
GetHistoricalPriceOptions
Options object. It must contain the date property.
  • opts.date: Date for the historical price (date | timestamp | string)
  • opts.provider: provider name (string)
  • opts.verifySignature: enable signature verification (boolean)
Returns: Promise<{ [token: string]: PriceData; }>
The historical prices for multiple tokens

Examples

Get the historical price for a single token

To get the historical price use the getHistoricalPrice method.
1
const price = await redstone.getHistoricalPrice("AR", {
2
date: "2021-03-30T12:35:09", // Any convertable to date type
3
});
4
5
console.log(price.value); // AR price for specific time
Copied!
The date argument must be convertable to the Date type. You may pass a date (e.g. new Date(2021-04-01)), a timestamp (e.g. 1617709771289), or just a string (e.g. 2021-04-01 or 2021-04-01T12:30:58)

Get the historical price for several tokens

To fetch the historical price for several tokens pass an array of symbols to getHistoricalPrice method.
1
const symbols = ["AR", "BTC", "UNI", "ETH", "EUR"];
2
const prices = await redstone.getHistoricalPrice(symbols, {
3
date: "2021-03-30T12:35:09",
4
});
5
6
console.log(prices["BTC"].value); // BTC price for specific time
Copied!

Get the historical prices in a time range

To fetch the historical prices in a time range specify token symbol as the first argument of the getHistoricalPrice method, and startDate, endDate and interval as fields of the second argument.
Currently Redstone API supports fetching historical prices in a time range only for a single token
1
const prices = await redstone.getHistoricalPrice("AR", {
2
startDate: "2021-03-29T12:35:09",
3
endDate: "2021-03-30T12:35:09",
4
interval: 3600 * 1000, // 1 hour
5
});
6
7
console.log(prices); // Example output below
8
/*
9
[
10
{
11
value: 28.8,
12
timestamp: 1617016995624,
13
...
14
},
15
{
16
value: 28.59,
17
timestamp: 1617014111705,
18
...
19
},
20
...
21
]
22
*/
Copied!
The startDate and endDate arguments must be convertable to Date type.