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
Stage a batch of filings overnight, then approve each completed form from a screenshot before anything is ever submitted.
Review every conversation Fin closed as resolved, judge which ones actually stuck, and see what the gap is worth against your bill.
Work every return, damage and warranty claim in one queue, with the order, the delivery date and a policy-backed recommendation already on screen.
See exactly which ingredients next week needs based on what you actually sold, adjust anything by hand, then build a one-click grocery cart.
See follower growth, posting cadence, format mix and engagement rate for your brand and every competitor you track, side by side on one board.
Open one screen to see how every service in your Jobber price book actually performed: how often it sold, what you charged, and where prices swing.
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.