# Funding (`funding_current`)

> Current perpetual funding, normalized to an eight-hour rate and annualized, with history and a one-year percentile baseline. Positive means longs pay shorts; it is a cost of holding, not a direction forecast.

- Category: Derivatives
- MCP tool: `funding_current`
- REST: `GET /derivatives/funding/{symbol}`
- MCP App: hosts that support MCP Apps render the result as an interactive view
- x402 price: $0.01 per call (USDC on Base)
- HTML: https://www.f1ow.com/docs/tools/funding_current

## What it does

Current perpetual funding rate for one coin (hourly rate plus an annualized estimate), merged across providers, with its 24h and 7d trajectory AND the underlying 8h-bucket series. Positive means longs pay shorts. The trajectory is the point: the same +6% annualized reads as post-flush relief if it fell from +40% and as shorts capitulating if it rose from -20%. The series carries the shape a trailing delta flattens away — a steady drift and a spike that retraced give the same 24h change off opposite tapes — plus the window's own low/high, so the current rate can be judged against where it has actually been rather than an absolute threshold. A 1y line ranks the current rate against a year of daily closes (percentile, low/median/high with dates), so 'high' means high for this coin, not just for the week. Set 'points' to trim the series (omit for the full ~10-day window; 0 to suppress it).

## Parameters

| Name | Type | In | Required | Description |
| --- | --- | --- | --- | --- |
| `symbol` | string | path | yes | Coin symbol, e.g. "BTC". |
| `points` | integer | query | no | How many of the newest 8h buckets to emit. Omit for the full window (30 points ~ 10 days); 0 suppresses the series and returns the summary only. |

## Call it

### cURL

```bash
curl "https://mcp.f1ow.com/v1/derivatives/funding/BTC" \
  -H "Authorization: Bearer $F1OW_API_KEY"
```

### MCP

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "funding_current",
    "arguments": {
      "symbol": "BTC"
    }
  }
}
```

### TypeScript

```ts
const res = await fetch("https://mcp.f1ow.com/v1/derivatives/funding/BTC", {
  headers: { Authorization: `Bearer ${process.env.F1OW_API_KEY}` },
});
const data = await res.json(); // the tool's result as JSON, typed in the OpenAPI spec
console.log(data);
```

### Python

```python
import os, requests

res = requests.get(
    "https://mcp.f1ow.com/v1/derivatives/funding/BTC",
    headers={"Authorization": f"Bearer {os.environ['F1OW_API_KEY']}"},
)
data = res.json()  # the tool's result as JSON, typed in the OpenAPI spec
print(data)
```

### WebSocket

```jsonc
// wss://mcp.f1ow.com/v1/ws — subprotocol "jsonrpc-2.0", Authorization: Bearer <key>
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "funding_current",
    "arguments": {
      "symbol": "BTC"
    }
  }
}

// Or push a fresh result whenever it changes (minimum interval 15 s)
{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "subscriptions/subscribe",
  "params": {
    "name": "funding_current",
    "arguments": {
      "symbol": "BTC"
    },
    "intervalSeconds": 60
  }
}
```

### x402

```bash
# No account: the first call answers 402 with a PAYMENT-REQUIRED challenge;
# an x402 client pays it in USDC on Base and retries.
curl "https://mcp.f1ow.com/x402/v1/derivatives/funding/BTC"
```

## Sample response

Captured 2026-11-13. The JSON is what REST and WebSocket return and the `structuredContent` of an MCP call (trimmed):

```json
{
  "annualizedPct": 1.84398,
  "baseline1y": {
    "atOrAboveMs": 1794441600000,
    "available": true,
    "days": 364,
    "high": 12.501615,
    "highMs": 1787356800000,
    "low": -12.83778,
    "lowMs": 1776124800000,
    "median": 4.641705,
    "percentile": 28.5714285714286
  },
  "basis": "OI-weighted across venues",
  "found": true,
  "ratePctPerHour": 0.0002105,
  "series": {
    "intervalHours": 8,
    "points": [
      {
        "annualizedPct": 11.546775,
        "forming": false,
        "timeMs": 1793721600000
      },
      {
        "annualizedPct": 9.744405,
        "forming": false,
        "timeMs": 1793750400000
      },
      {
        "annualizedPct": 10.331325,
        "forming": false,
        "timeMs": 1793779200000
      },
      {
        "annualizedPct": 5.390685,
        "forming": false,
        "timeMs": 1793808000000
      },
      {
        "annualizedPct": 10.80327,
        "forming": false,
        "timeMs": 1793836800000
      },
      {
        "annualizedPct": 12.20706,
        "forming": false,
        "timeMs": 1793865600000
      },
      "… 24 more"
    ],
    "source": "CoinGlass"
  },
  "symbol": "BTC",
  "trajectory": [
    {
      "changePp": -6.638985,
      "nowAnnualizedPct": 1.84398,
      "priorAnnualizedPct": 8.482965,
      "window": "24h"
    },
    {
      "changePp": -6.28968,
      "nowAnnualizedPct": 1.84398,
      "priorAnnualizedPct": 8.13366,
      "window": "7d"
    }
  ],
  "generatedAt": "2026-11-13T08:05:40.5000918+00:00"
}
```

Over MCP the text report a model reads comes with it:

```text
BTC funding: +0.00021%/h (annualized ~+1.84%, OI-weighted across venues)
  24h  +8.5% -> +1.8% ann (falling)
  7d   +8.1% -> +1.8% ann (falling)
  1y   rate at the 29th percentile of 364 daily closes (CoinGlass OI-weighted) | low -12.8% (2026-04-14) · median +4.6% · high +12.5% (2026-08-22)

Series (8h buckets, 30 points spanning 232h, oldest first, source CoinGlass):
  window low +0.10% / high +12.21% | now at 14% of window range
  2026-11-03 16:00    +11.55% ann           —
  2026-11-04 00:00     +9.74% ann     -1.80pp
  2026-11-04 08:00    +10.33% ann     +0.59pp
  2026-11-04 16:00     +5.39% ann     -4.94pp
  2026-11-05 00:00    +10.80% ann     +5.41pp
  2026-11-05 08:00    +12.21% ann     +1.40pp
  2026-11-05 16:00    +10.77% ann     -1.43pp
  2026-11-06 00:00     +6.67% ann     -4.10pp
  2026-11-06 08:00     +8.13% ann     +1.47pp
  2026-11-06 16:00    +11.10% ann     +2.97pp
  2026-11-07 00:00     +5.35% ann     -5.75pp
  2026-11-07 08:00     +6.21% ann     +0.86pp
  2026-11-07 16:00     +9.45% ann     +3.24pp
  2026-11-08 00:00    +10.21% ann     +0.77pp
  2026-11-08 08:00     +7.07% ann     -3.15pp
  2026-11-08 16:00     +6.42% ann     -0.65pp
  2026-11-09 00:00    +11.54% ann     +5.12pp
  2026-11-09 08:00    +10.13% ann     -1.41pp
  2026-11-09 16:00    +11.03% ann     +0.90pp
  2026-11-10 00:00    +10.66% ann     -0.36pp
  2026-11-10 08:00     +7.56% ann     -3.11pp
  2026-11-10 16:00    +10.93% ann     +3.37pp
  2026-11-11 00:00    +10.93% ann     -0.00pp
  2026-11-11 08:00     +7.08% ann     -3.85pp
  2026-11-11 16:00     +5.15% ann     -1.93pp
  2026-11-12 00:00     +9.95% ann     +4.80pp
  2026-11-12 08:00     +8.48% ann     -1.47pp
  2026-11-12 16:00    +11.67% ann     +3.18pp
  2026-11-13 00:00     +0.10% ann    -11.57pp
  2026-11-13 08:00     +1.84% ann     +1.75pp
```

## Related tools

- [Perp Flow](https://www.f1ow.com/docs/tools/derivatives_flow) — Bucket-by-bucket open interest joined to taker buy/sell volume. Distinguish new positions from short covering and long unwind, with absorbed flow flagged. Coverage is stated; where taker data is unavailable, the read uses price direction and says so.
- [Liquidation History](https://www.f1ow.com/docs/tools/derivatives_liquidations) — Market-wide long/short liquidations and venue splits, ranked against a year of daily totals. A separate order sample reveals timing, cascades and the largest forced exits; its coverage is stated, never scaled up to the whole market.
- [Open Interest](https://www.f1ow.com/docs/tools/derivatives_open_interest) — Cross-exchange perpetual open interest with historical changes and a one-year baseline — how much leverage is committed, not merely how much changed hands. Venue-specific flow is a separate read.
- [Market Regime](https://www.f1ow.com/docs/tools/research_regime) — What kind of market you are trading in. Seven forces — trend, volatility, cycle, sentiment, leverage stress, ETF liquidity, rotation — each voting with its own reasoning and its own threshold for changing the call.
