Build

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.

On this 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

ParamValuesDefault
interval1m 5m 15m 1h 4h 1d15m
typecandles hollow heikin bars line areacandles
modeprice or mcapprice
curusd (dollars when a rate exists) or quote (the pool's own unit, ETH on a native pool)usd
log1 for a log price axisoff
themelight or darkfollows the frame's own saved theme, light by default
bar0 hides the toolbarshown
indcomma list, each kind:param:param, params in the indicator's own ordernone
linescomma list of prices to draw as plain linesnone
bandlo:hi, a tinted range between two linesnone
tp, slone price each, drawn green and rednone
keyyour white-label keynone

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). price is the last close in the quote unit.
  • riu:level { id, value, done } while a level is dragged; done is true on release. Ids are line-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.