getPrice

getPrice method is used to fetch the latest price for a single or multiple tokens

Get the latest price for a single token

getPrice(symbol: string, opts?: GetPriceOptions): _Promise<_PriceData>

Returns the latest price for a single symbol

Parameters:

Name

Type

Description

symbol

string

Token symbol (string)

opts?

GetPriceOptions

Optional params (object)

  • opts.provider: provider name (string)

  • opts.verifySignature: enable signature verification (boolean)

Returns: Promise<PriceData>

The latest price for the token

Get the latest price for multiple tokens

getPrice(symbols: string[], opts?: GetPriceOptions): Promise<{ [token: string]: PriceData; }>

Returns the latest price for several symbols

Parameters:

Name

Type

Description

symbols

string[]

Token symbols (array of strings)

opts?

GetPriceOptions

Optional params (object)

  • opts.provider: provider name (string)

  • opts.verifySignature: enable signature verification (boolean)

Returns: Promise<{ [token: string]: PriceData; }>

The latest price for the tokens

Examples

Get the latest price for a single token

const price = await redstone.getPrice("AR");

console.log(price.value); // latest price value for AR token (in USD)
console.log(price.timestamp); // the exact timestamp of the price

All the prices are denominated in USD. You can fetch price data for BTC, ETH, AR, EUR and any other of 100+ supported tokens

Price data format

  {
    value: 123.23, // Number: Price value in USD
    timestamp: 1617146511173, // Number: Timestamp (ms) for price
    provider: "I-5rWUehEv-MjdK9gFw09RxfSLQX9DIHxG614Wf8qo0", // String: Provider arweave address
    permawebTx: "V8FUU0BG4kVOJwKWHzgkn1aEFm-eanhqqEXfPFY7pmI", // String: Arweave transaction id
    source: {"coingecko": 123,"sushiswap": 123.23,"uniswap": 123.35}, // Object: Prices from different sources
  }

Fetch price using promises

  // As async/await is only a syntactic sugar on Javascript
  // Promises you can use them in a "standard" way
  const price = redstone.getPrice("AR").then((price) => {
    console.log(price.value); // latest price value for AR token
  });

Get the latest prices for multiple tokens

To fetch prices for multiple tokens use the getPrice method and pass an array with a subset of supported tokens.

const prices = await redstone.getPrice(["BTC", "ETH", "AR", "EUR"]);

console.log(prices); // Example output below
/*
{
  "BTC": {
    value: 58953.39,
    timestamp: 1617152802779,
    ...
  },
  "ETH": {
    value: 1856.75,
    timestamp: 1617152802779,
    ...
  },
  ...
}
*/


console.log(prices["BTC"].value); // latest price value for BTC
console.log(prices["ETH"].value); // latest price value for ETH
console.log(prices["AR"].value); // latest price value for AR

Last updated