Crypto funding rate arbitrage screener and carry book
Open one screen each morning to see which coins pay the widest funding spreads across exchanges, then track every carry position you put on.
Build me a funding carry desk app that I open every morning to decide where to park a delta neutral position. All market data is read live from CoinGlass. The carry book I keep is mirrored into a Google Sheet so it survives outside the app.
The main screen is a sortable screener of funding rate spreads across exchanges. Build the rows from Get Funding Rate Arbitrage, and cross check the current per venue rates with Get Funding Rate by Exchange. Each row shows the coin, the cheapest venue to short on, the richest venue to long, the spread in annualized percent, and then open interest and 24 hour volume so I can filter out illiquid pairs. Take the leg pairing from the arbitrage data rather than re deriving it, and show both legs' individual funding rates next to the spread so I can see which side is carrying the trade. Every column sorts, and the default sort is the widest annualized spread first.
Join open interest and 24 hour volume onto each row by coin from Get Futures Coins Markets. Bake in a configurable minimum liquidity filter: an open interest floor I can set in the app, defaulting to something sensible like 10 million dollars, persisted so I do not reset it every morning. Rows below the floor are hidden by default with a count of how many were filtered out, and one click reveals them. A wide spread on a pair nobody trades is noise and I do not want it at the top of my screen.
Show funding annualized by default rather than per settlement interval. This matters and it is easy to get wrong: CoinGlass returns funding per settlement interval, and the interval is venue specific, usually 8 hours but sometimes 1 or 4. The handler must apply each venue's own interval when annualizing, so annualized percent equals the rate per interval multiplied by 8760 divided by the interval hours, which is a multiplier of 1095 for an 8 hour venue and 8760 for a 1 hour venue. Do not hardcode 8 hours for everything. Give me a toggle to flip the whole table back to the raw per interval numbers, and label the unit clearly wherever a rate is displayed.
Put a staleness stamp at the top of the screen showing when the data was last refreshed, as both a timestamp and a relative age like 42 minutes ago. Funding only settles every few hours, so I need to know whether I am looking at a fresh print or something from before the last settlement. Give me a manual refresh button, and make the stamp visually go stale once the data is older than the shortest settlement interval on screen.
Clicking a row opens a detail view for that opportunity. It has three parts: a funding history chart for the pair from Get Funding Rate OHLC History, plotted for both legs so I can see the spread over time rather than one venue in isolation, defaulting to 30 days with a shorter 7 day option; the per venue breakdown from Get Futures Pairs Markets showing every exchange that lists the coin with its funding rate, open interest and volume; and open interest by exchange from Get Open Interest by Exchange. The whole purpose of this view is answering whether the spread is persistent or a one print fluke, so surface a simple read on that, such as how many of the last N settlements the spread stayed above my threshold, alongside the chart.
A second tab is my carry book. From any screener row or detail view I click Track, enter the size I am putting on, and the app saves the coin, both venues, the entry spread in annualized percent, the size, and the date. Save it in the app's own storage so the tab renders instantly without a round trip, and have the handler also append that row to a Google Sheets tab using Append Values. Let me configure the spreadsheet and tab name in the app, and write a header row on first use if the tab is empty.
Append Values returns the range it wrote to, so store that row reference on the entry. When I mark an entry closed, the handler uses Update Values against that exact stored range to write the close date, the exit spread, and the realized carry, and to flip the status to closed. The book lists open entries first, each showing days held and the entry spread next to the current spread for that same pair pulled from the live screener data, so I can immediately see which positions have decayed and are worth unwinding. Closed entries stay visible in a collapsed section below.
Keep the whole thing dense, fast and legible. This is a desk tool I scan in 60 seconds before I start trading, not a marketing dashboard, so favor tight tables and real numbers over large cards and decorative charts.
What does this prompt do?
- Ranks funding rate spreads across exchanges in one sortable table: the coin, which venue to short, which venue to long, and what the spread is worth annualized.
- Filters out illiquid pairs using open interest and 24 hour volume, with a minimum liquidity floor you set once and keep.
- Opens a detail view for any opportunity with funding history, a venue by venue breakdown, and open interest by exchange, so you can tell a persistent spread from a one off print.
- Keeps a carry book of every position you track, mirrored to a Google Sheet so the record lives outside the app and you can mark entries closed later.
What do I need to use this?
- A CoinGlass account with an API plan. API access is paid and plans start around $29 a month.
- A Google account and a spreadsheet you want to use as your carry book.
- A rough idea of the minimum open interest you are willing to trade against, so the liquidity filter starts somewhere sensible.
How can I customize it?
- Change the minimum open interest floor, or add a 24 hour volume floor, to match how much size you actually trade.
- Switch the default view between annualized and per settlement interval funding, and change which column the screener sorts on when it opens.
- Point the carry book at a different spreadsheet or tab, and add your own columns such as fees, leverage, or venue notes.
FAQs
Do I need a paid CoinGlass plan?
Does this place trades for me?
Why does it show annualized rates instead of the raw 8 hour rate?
Will my carry book survive if I stop using the app?
How fresh is the data?
Related templates
Stop buying stale lists. Reps run a saved search, work the results like an inbox, and only the accounts they approve ever reach your CRM.
Drag creators through Sourced to Wrapped on a board grouped by campaign, with audience stats on every card and a one-click brief for each creator.
Pick a repricing rule, send an assistant out to check competitor pages, then approve the new prices that clear your margin floor.
See the projected bounce rate for any outbound send before it goes out, and keep the launch button locked until the list is clean enough to be safe.
Pick any date range and see what each device in your home actually cost to run, not just how many kilowatt-hours it used.
Search three months of global coverage on your topic, rank the outlets actually writing about it, and draft a tailored pitch for each one.
Stop tabbing between exchange pages to find funding spreads.
Get one screener and one carry book you open every morning, built on live CoinGlass data and backed by a Google Sheet you own.