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
}| Field | Type | Description |
|---|---|---|
instrument_name | string | Perpetual instrument (e.g. ETH_USDC-PERP) |
period | string | Funding period: current or previous |
rate_yearly | string | Annualized funding rate as decimal string |
rate_hourly | string | Hourly funding rate as decimal string |
timestamp_ms | integer | Server 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.
| Channel | Why |
|---|---|
| Index Price | Spot component of the basis. Funding is derived from perp price - index. |
| Perps BBO | Perp component of the basis. BBO mid - index = basis, the primary input to the funding formula. |
| Options BBO | Options market data for the same underlying. |
| Trades (Perps) | Public perps trade tape for the same instrument. |
Updated about 2 months ago
