Feed API
Nunchi publishes public read-only feeds for two related surfaces:
- SWP feeds for funding-rate markets such as BTCSWP, HYPESWP, ETHCSWP, and SPCXSWP.
- ISFR for the composite internet funding-rate benchmark and its sub-indices.
These endpoints are public read-only APIs. They do not place orders and do not require trading authentication.
Feed Directory
| Feed | Market or index | Public base URL | Status |
|---|---|---|---|
| BTCSWP | yex:BTCSWP | https://cfi-api-production.up.railway.app | Live |
| HYPESWP | HYPESWP | https://hypeswp-api-production.up.railway.app | Live |
| ETHCSWP | ETHCSWP | https://ethcswp-api-production.up.railway.app | Live |
| SPCXSWP | SPCXSWP | https://spcx-swp-api-production.up.railway.app | Live feed, market coming soon |
| ISFR | Composite secured funding benchmark | https://house.nunchi.trade/isfr | Live dashboard and API mounted under /isfr |
For browser apps, prefer same-origin proxies on nunchi.trade when available:
| Proxy endpoint | Upstream feed |
|---|---|
GET /api/feeds/btcswp/latest | BTCSWP latest tick |
GET /api/feeds/btcswp/stream | BTCSWP SSE stream |
GET /api/feeds/hypeswp/latest | HYPESWP latest tick |
GET /api/feeds/hypeswp/stream | HYPESWP SSE stream |
GET /api/feeds/ethcswp/latest | ETHCSWP latest tick |
GET /api/feeds/ethcswp/stream | ETHCSWP SSE stream |
GET /api/feeds/spcxswp/latest | SPCXSWP latest tick |
GET /api/feeds/spcxswp/stream | SPCXSWP SSE stream |
SWP Feeds
Use these APIs when you need the current oracle price or streaming ticks for a funding-rate market.
Health
GET /healthz
Example response:
{ "status": "ok" }
Latest Tick
GET /api/latest
/latest is also supported for compatibility.
Example:
curl https://cfi-api-production.up.railway.app/api/latest
Example response:
{
"oracle_px": "74942.980893"
}
Streaming Ticks
GET /api/stream
Accept: text/event-stream
/stream is also supported for compatibility. Each tick is sent as event: price.
Browser example:
const events = new EventSource("https://cfi-api-production.up.railway.app/api/stream");
events.addEventListener("price", (event) => {
const tick = JSON.parse(event.data);
console.log(tick.oracle_px);
});
SWP Response Fields
| Field | Meaning |
|---|---|
oracle_px | Current oracle price for the SWP feed. Use this as the headline price. |
SWP Feed Details
BTCSWP
BTCSWP is the live BTC excess-funding market on YEX.
| Property | Value |
|---|---|
| Market | yex:BTCSWP |
| Instrument | BTCSWP-USDYP |
| Reference asset | Core Hyperliquid BTC |
| Public feed | https://cfi-api-production.up.railway.app/api/latest |
| Stream | https://cfi-api-production.up.railway.app/api/stream |
See BTCSWP for market mechanics and oracle parameters.
HYPESWP
HYPESWP publishes an SWP oracle price for HYPE funding.
| Property | Value |
|---|---|
| Reference asset | Core Hyperliquid HYPE |
| Public feed | https://hypeswp-api-production.up.railway.app/api/latest |
| Stream | https://hypeswp-api-production.up.railway.app/api/stream |
ETHCSWP
ETHCSWP publishes an SWP oracle price for ETH funding.
| Property | Value |
|---|---|
| Reference asset | Core Hyperliquid ETH |
| Public feed | https://ethcswp-api-production.up.railway.app/api/latest |
| Stream | https://ethcswp-api-production.up.railway.app/api/stream |
SPCXSWP
SPCXSWP publishes an SWP oracle price for SPCX funding. The feed is public while the market remains launch-gated.
| Property | Value |
|---|---|
| Reference asset | xyz:SPCX |
| Public feed | https://spcx-swp-api-production.up.railway.app/api/latest |
| Stream | https://spcx-swp-api-production.up.railway.app/api/stream |
ISFR Feed
The Implied Secured Funding Rate (ISFR) feed publishes a composite benchmark across four source classes: lending, structured yield, funding, and staking. It is intended for dashboards, models, risk systems, and yield market pricing.
Public dashboard:
https://house.nunchi.trade/isfr
Public API base:
https://house.nunchi.trade
ISFR Health
GET /isfr/health
Current ISFR
GET /isfr/v1/isfr/current
Example response shape:
{
"isfr_bps": 690,
"rate": 0.06895,
"rate_formatted": "6.90%",
"components": {
"lending": 620,
"structured": 710,
"funding": 1240,
"staking": 320
},
"confidence": 0.876,
"class_weights_effective": {
"lending": 0.6,
"structured": 0.25,
"funding": 0.1,
"staking": 0.05
},
"timestamp": "2026-04-14T11:42:00+00:00",
"version": "v3.0"
}
ISFR History
GET /isfr/v1/isfr/history?days=30
ISFR Sub-Indices
GET /isfr/v1/isfr/subindex/{class_name}
class_name must be one of lending, structured, funding, or staking.
ISFR Sources
GET /isfr/v1/isfr/sources
ISFR OHLC
GET /isfr/v1/isfr/ohlc?days=180&interval=1D
Supported intervals are 1H, 4H, 1D, and 1W.
ISFR Methodology Summary
The ISFR v3.0 composite uses two levels:
- Within each source class, rates are aggregated with a TVL-weighted median and source confidence.
- Across source classes, the default weights are
60%lending,25%structured,10%funding, and5%staking.
If every source in a class fails, that class's weight is redistributed across the remaining healthy classes. The composite continues to publish as long as at least one class has a valid source.
See ISFR Index for the product explanation and methodology context.