Carrydesk

io.github.pelazasPublished by GitHub account pelazasv0.1.2Updated Oct 24, 2026

Funding-carry rankings for Hyperliquid perps, metered per call in USDC via x402.

VerifiedSTDIODesktop onlyFinanceData & Analytics

Overview

AI-generated overview

Carrydesk gives an assistant Hyperliquid perpetuals funding-carry rankings, with free delayed snapshots and paid live data metered in USDC per call.

What you can do
Retrieve the free carry snapshot (top five long and short legs, delayed 24 hours) and the methodology and health endpoints for no charge. Fetch the full live ranking with a tunable k, archived rank and funding history for a single coin, and the liquid perp universe by volume, open interest and funding. Read the spread figures, including trimmed and median variants and an outlier flag, alongside the headline number. Paid calls are metered through x402: the server returns a payment requirement, the client pays USDC on Base and retries.
When to use it
Useful when you want an assistant to pull Hyperliquid funding-carry rankings and per-coin history for research or monitoring, and you are comfortable with per-call USDC payments for live data. A wallet-less install still gives the free delayed snapshot and methodology.
Requirements
Runs locally as a Python package via uvx, so Python and uv are needed. Network access to the default API base is required; CARRYDESK_API_BASE can override it. No account or API key. Paid tools need CARRYDESK_PRIVATE_KEY, a hot wallet private key holding USDC on Base.
Before you install
Paid tools spend real USDC on Base automatically when CARRYDESK_PRIVATE_KEY is set, so a funded hot wallet key is exposed to the local process. The data is informational only, not investment advice; spreads can go negative and figures are gross of fees, slippage and borrow. Read the trimmed and median variants before acting on the headline spread.

Installation

In SourceWeft

  1. Open Carrydesk in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

carrydesk

Cross-sectional funding-carry rankings for Hyperliquid perpetuals, sold per call in USDC.

Every hour, rank the liquid Hyperliquid perp universe by trailing 14-day mean funding. The most negative names pay you to hold them long; the most positive pay you to short them. The spread between those two legs is the carry — a structural risk premium, not a prediction.

This is the same signal a live market-neutral book trades, published as an API.


Endpoints

EndpointPrice
freeGET /v1/free/carry — top 5 each leg, delayed 24h—
freeGET /v1/method — how it is computed, and the caveats—
freeGET /health—
paidGET /v1/carry/rankings — full live ranking, tunable k$0.05
paidGET /v1/carry/history/{coin} — archived rank + funding$0.02
paidGET /v1/universe — liquid perps by volume, OI, funding$0.01

Paid endpoints are metered with x402: the server answers 402 with payment requirements, your client pays USDC on Base, retries, and gets the data. No account, no API key, no invoice.


Quick start

bash
curl -s https://carry.pelazas.com/v1/free/carry | jq
json
{  "carry_spread_annualized": 0.3901,  "carry_spread_annualized_trimmed": 0.2231,  "carry_spread_annualized_median": 0.0955,  "headline_vs_typical": 4.09,  "outlier_dominated": true,  "longs":  [{"coin": "PENGU", "mean_funding_annualized": -0.0636}, ...],  "shorts": [{"coin": "SAGA",  "mean_funding_annualized":  1.9886}, ...]}

Three spread numbers, always, plus two that say how far apart they are. The headline mean is what an equal-weighted book earns; the median is what a typical coin pays. headline_vs_typical is the multiple between them — about 4 in the sample above, and around 4 in practice — and outlier_dominated fires when the median drops below half the mean. On the reading above, SAGA alone accounts for most of the gap — that is exactly the kind of thing a single number would hide.


MCP

bash
claude mcp add carrydesk -- uvx --from carrydesk carrydesk-mcp

No clone, no virtualenv — uvx fetches and runs it.

Six tools: carry_snapshot, carry_method, carry_health (free) and carry_rankings, carry_history, carry_universe (paid). It talks to https://carry.pelazas.com by default — override with CARRYDESK_API_BASE.

Set CARRYDESK_PRIVATE_KEY to let the agent pay automatically. Without it the free tools work and paid tools return the price instead of failing, so a wallet-less install is still useful.


Local development

bash
uv venv --python 3.12 && uv pip install -e ".[dev]".venv/bin/python -m uvicorn carrydesk.api:app --reload   # open, no paywall.venv/bin/python -m pytest -q                            # full suite, no network

With X402_PAY_TO unset the service runs fully open — that is the dev default. Set it to turn the paywall on. See .env.example.


For agents and crawlers

/llms.txt describes the whole service in plain text. /openapi.json is the full spec, /archive is every snapshot ever published, and the public page carries schema.org Dataset markup. Crawlers are explicitly welcome — the free tier exists to be read, indexed and quoted.

Honest limitations

  • The carry spread can and does go negative. This is compensation for absorbing crowded leverage, not a forecast.
  • All figures are gross of fees, slippage and borrow. Taker fees alone can erase the edge; the reference book is maker-only for that reason.
  • Funding is Hyperliquid's own, with no cross-venue reconciliation yet.
  • Illiquid names dominate the headline spread more often than not. Read the trimmed and median variants before sizing anything.
  • Informational only. Not investment advice.

Repo docs

FileWhat
BACKLOG.mdDeliberately deferred work, with the reason for each
AGENTS.mdOnboarding for an AI agent picking this up cold — gotchas, rules, what is unverified
STATUS.mdCurrent state, what is blocked, what is next
DECISIONS.mdWhy each significant choice was made

Source: README.md at commit 8766f71

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.2LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts