MM Flow

Developers · Playground

SDK Playground

The real @mmflow/charts engine, fed live mmflow data through createMmflowFeed() — REST history plus SSE fallback or keyed WebSocket streaming.

SSE
Loading engine…

Live history from /api/hl/candles + SSE updates. /api/v1/streams/trades

The code

import { Chart } from "@mmflow/react";
import { createMmflowFeed } from "@mmflow/sdk";
import { smaStudy, rsiStudy } from "@mmflow/charts";

const feed = createMmflowFeed({
  apiKey: import.meta.env.VITE_MMFLOW_KEY,
  transport: "ws",
});

<Chart
  feed={feed}
  symbol="BTC"
  resolution="1m"
  volume
  indicators={[smaStudy({ period: 50 }), rsiStudy()]}
/>;

Flow Pulse REST

const res = await fetch("/api/v1/flows/summary?coins=BTC");
const { data, meta } = await res.json();

console.log(data.rows[0]?.flowPressureScore, meta.partial);

Flow History REST

const res = await fetch(
  "/api/v1/flows/history?coin=BTC&metric=flowPressureScore&interval=1m",
);
const { data, meta } = await res.json();

console.log(data.enabled, data.points.at(-1), meta.partial);

Flow Signals WebSocket

import { MmflowSocket } from "@mmflow/sdk";

const sock = new MmflowSocket({
  apiKey: import.meta.env.VITE_MMFLOW_KEY,
});

sock.subscribe("flowSignals", "BTC", (payload) => {
  console.log(payload);
});
sock.connect();