WDK logoWDK documentation

API Reference

API for @tetherto/wdk-pricing-bitfinex-http

Package: @tetherto/wdk-pricing-bitfinex-http

Class: BitfinexPricingClient

Simple HTTP pricing client for Bitfinex Public REST API.

Constructor

Create Client
new BitfinexPricingClient(options?)
  • options (optional): reserved for future use

Methods

MethodDescriptionReturns
getCurrentPrice(base, quote)Fetch latest price for base/quote pairPromise<number>
getHistoricalPrice({ from, to, start?, end? })Fetch historical series (downscaled to ≤ 100 points if needed)Promise<any[]>
getCurrentPrice(base, quote)
Current Price
const price = await client.getCurrentPrice('BTC', 'USD')
getHistoricalPrice({ from, to, start?, end? })

If the returned series exceeds 100 points, it is downscaled by powers of two until ≤ 100.

Historical Prices
const series = await client.getHistoricalPrice({
  from: 'BTC',
  to: 'USD',
  start: 1709906400000, // optional
  end:   1709913600000  // optional
})

Package: @tetherto/wdk-pricing-provider

Class: PricingProvider

Cache-aware wrapper providing a unified API over a PricingClient implementation.

Constructor

Create Provider
new PricingProvider({
  client,                 // required: implements PricingClient
  priceCacheDurationMs    // optional: defaults to 1h
})
  • client: instance implementing the PricingClient contract
  • priceCacheDurationMs (number, optional): cache TTL for last price in ms (default 3,600,000)

Methods

MethodDescriptionReturns
getLastPrice(base, quote)Returns cached last price; refreshes when TTL expiresPromise<number>
getHistoricalPrice({ from, to, start?, end? })Delegates to client for historical dataPromise<any[]>
getLastPrice(base, quote)
Last Price with Caching
const provider = new PricingProvider({ client })
const last = await provider.getLastPrice('BTC', 'USD')
getHistoricalPrice({ from, to, start?, end? })
Historical via Provider
const hist = await provider.getHistoricalPrice({ from: 'BTC', to: 'USD' })

Interface: PricingClient (abstract)

Implement this interface to plug your data source into PricingProvider.

MethodSignatureNotes
getCurrentPrice(from: string, to: string) => Promise<number>Should return spot price
getHistoricalPrice(opts: { from: string, to: string, start?: number, end?: number }) => Promise<any[]>Return series for charting

Notes

  • Uses Bitfinex Public HTTP API (/v2/ticker and /v2/candles) under the hood for the Bitfinex client
  • Provider caches last price per pair using in-memory store and TTL

Need Help?

On this page