Funding Rate

market:funding

Live funding rate updates for perpetual instruments, published per period.

Channel: market:funding:{period}:{instrument} Example: market:funding:current:ETH_USDC-PERP Periods: current, previous

Cached — subscribe with since: {} to receive the last known rate immediately.

Payload

{
  "instrument_name": "ETH_USDC-PERP",
  "period": "current",
  "rate_yearly": "0.05",
  "rate_hourly": "0.0000057",
  "timestamp_ms": 1704067200100
}
FieldTypeDescription
instrument_namestringPerpetual instrument (e.g. ETH_USDC-PERP)
periodstringFunding period: current or previous
rate_yearlystringAnnualized funding rate as decimal string
rate_hourlystringHourly funding rate as decimal string
timestamp_msintegerServer emission timestamp in milliseconds

Subscribe — Protobuf SDK

import { Centrifuge } from "centrifuge/build/protobuf";

const client = new Centrifuge("wss://staging.kyan.sh/stream/websocket?format=protobuf");
const sub = client.newSubscription("market:funding:current:ETH_USDC-PERP", { since: {} });

sub.on("publication", (ctx) => {
  const data = ctx.data instanceof Uint8Array
    ? JSON.parse(new TextDecoder().decode(ctx.data))
    : ctx.data;

  const { instrument_name, period, rate_yearly, rate_hourly, timestamp_ms } = data;
  // rate_yearly and rate_hourly are strings — parse to number or Decimal as needed
});

sub.subscribe();
client.connect();

Recovery

Subscribe with since: {} to receive the last known rate on subscribe. On reconnect, the SDK automatically recovers.

Related channels

Channels providing related data.

ChannelWhy
Index PriceSpot component of the basis. Funding is derived from perp price - index.
Perps BBOPerp component of the basis. BBO mid - index = basis, the primary input to the funding formula.
Options BBOOptions market data for the same underlying.
Trades (Perps)Public perps trade tape for the same instrument.