Embeddable chart
Put the Runitup pro chart on your own site with one iframe, with every interval, chart type and indicator, and drive it from your page.
Any token Runitup indexes can be charted on another site. The chart is the same canvas the pro cockpit uses, in a frame that carries nothing else: no navigation, no wallet, no cookies of ours.
Build the snippet visually at /embed, or write the URL by hand:
https://www.runitup.family/embed/chart/{chain}/{address}?interval=1h&ind=ema:21,volume{chain} is a chain id (4663) or its slug (robinhood). {address} is the token contract.
Parameters
| Param | Values | Default |
|---|---|---|
interval | 1m 5m 15m 1h 4h 1d | 15m |
type | candles hollow heikin bars line area | candles |
mode | price or mcap | price |
cur | usd (dollars when a rate exists) or quote (the pool's own unit, ETH on a native pool) | usd |
log | 1 for a log price axis | off |
theme | light or dark | follows the frame's own saved theme, light by default |
bar | 0 hides the toolbar | shown |
ind | comma list, each kind:param:param, params in the indicator's own order | none |
lines | comma list of prices to draw as plain lines | none |
band | lo:hi, a tinted range between two lines | none |
tp, sl | one price each, drawn green and red | none |
key | your white-label key | none |
Indicator kinds and their parameters: sma:length ema:length wma:length bb:length:stddev
vwap volume rsi:length macd:fast:slow:signal stoch:k:d:smooth atr:length.
Every price in lines, band, tp and sl is in the pool's quote unit, not dollars. The chart
converts for display and converts back when it reports a drag, so the page that drew a level from
chain data gets the same unit back.
Talking to the chart
The frame speaks postMessage. Every message it sends carries source: "runitup-chart".
From the chart to your page:
riu:ready{ chainId, address, ticker }once it is drawing.riu:price{ price, time, interval }on every candle refresh (every 5 s).priceis the last close in the quote unit.riu:level{ id, value, done }while a level is dragged;doneis true on release. Ids areline-1…,band-lo,band-hi,tp,sl.
From your page to the chart, post { type: "riu:set", ... } with any of interval, mode,
band: [lo, hi] | null, tp, sl, lines: number[], or a full levels array.
const frame = document.querySelector("iframe");
window.addEventListener("message", (e) => {
if (e.data?.source !== "runitup-chart") return;
if (e.data.type === "riu:level" && e.data.done) console.log(e.data.id, e.data.value);
});
frame.contentWindow.postMessage({ type: "riu:set", band: [0.00000004, 0.000000045] }, "*");Free and white-label
Framed without a key the chart shows a small "Chart by Runitup" badge linking to the token page, and may be framed from any origin. A key removes the badge and pins the chart to the origins it was issued for, so it cannot be lifted onto another site. Keys are issued per site; write to us for one.
