One script tag. No account, no API key, no rate limit to apply for, and nothing that tracks your readers. Free to use commercially under CC BY 4.0 — the only condition is that the attribution link stays visible.
Drop these two lines wherever you want it to appear:
<div id="frk-cycle"></div> <script async src="https://www.fraktalicious.com/widget.js"></script>
That is the whole integration. It renders into a shadow root, so your CSS cannot break it and its CSS cannot leak into your page. If our server is unreachable it renders nothing rather than leaving a broken box on your site.
Need more than one on a page, or a different element id? Any element with a
data-frk-cycle attribute is also used as a mount point.
If you would rather render it yourself:
curl https://www.fraktalicious.com/api/public/cycle
CORS is open, so you can call it directly from a browser. Cached for 30 minutes; the underlying call updates once a day.
| Field | Meaning |
|---|---|
asOf | Date of the call, YYYY-MM-DD. |
phase | Machine-readable phase, e.g. WAIT_IN_STABLES. |
label | The same thing in words, e.g. “Wait in stables”. |
score | Composite cycle score. Positive is constructive, negative is defensive. |
btcPrice | Bitcoin price the call was made at, USD. |
percentFromHigh | Distance below the all-time high, percent. |
marketState | Smoothed market-state label. |
history | Last 90 days of {date, score}, for a sparkline. |
CC BY 4.0. Use it commercially, modify it, build products on it. The one requirement is attribution: keep the link the widget renders, or if you use the JSON directly, credit fraktalicious.com visibly near wherever the number appears.
We would rather you embedded this than screenshotted a chart, so the terms are deliberately permissive. If the licence is the thing stopping you, tell us what you need.
It is the output of a Bitcoin cycle navigator that decides how much exposure to hold — not a price prediction and not a buy signal. Over three completed cycles it beat buy-and-hold in three of three (1.85× / 1.06× / 2.09×) and cut maximum drawdown every time; the current cycle is still open and reads 1.78× as of 2026-08-25, so treat that figure as a live reading, not a settled result. Over the shorter walk-forward windows the return edge is closer to a coin flip — beating buy-and-hold in 11 of 18 walk-forward folds (the year folds and cycle folds tile the same span, so they are not independent of each other) — while it took less drawdown than holding in all 18 of them; that fold count on its own isn't proof of timing skill (a no-timing portfolio at the model's own market exposure scores the same), so read it as a consistency check, not the headline. The edge is cycle-length, not month-to-month.
Every call it has made is published, unedited, on the public call ledger — including the days it was wrong and the periods where the machinery misbehaved. If you are going to put this on your site, read that page first so you know exactly what you are vouching for.