Products / WarpNew

On-chain events, pushed to you the moment they land.

A held-open connection over WebSocket or SSE. Filtered event, address, coin and object streams, with no polling loop and no public endpoint to expose.

wss://mainnet-api.inodra.com/v1/warp/{id}/ws
WEBSOCKET
const ws = new WebSocket(
`wss://mainnet-api.inodra.com/v1/warp/{id}/ws`)
ws.onmessage = (e) => {
const msg = JSON.parse(e.data)
handle(msg.data)
ws.send(JSON.stringify(
{ type: 'ack', id: msg.id })) // exactly once
}

What people actually build on it.

01

A dashboard that updates itself

Prices, fills and balances arrive as the chain commits them, so the UI moves without a polling loop hammering a read endpoint every second.

event and coin streams
02

Critical actions that must not double-fire

On WebSocket you ACK each message, so a liquidation or a payout is delivered exactly once even across a reconnect.

WebSocket with client ACKs
03

A stream from the browser, with nothing to host

The connection is outbound from the client, so a mobile or browser app subscribes directly. There is no public HTTPS endpoint to stand up like a webhook needs.

SSE or WebSocket

A stream bills on two things, both small.

You pay for the events you actually receive after filtering, plus the time the connection stays open. A filter that drops what you do not need lowers both.

WHAT IS METERED
WHEN
CREDITS
Event delivered
Each event that passes your filter and reaches your client
2
Connection held open
Charged every 5 seconds the stream stays connected
4 per 5s
Reconnect and replay
Resuming from lastEventId and replaying missed events
included

A quiet stream costs almost nothing but the connection.See what every call costs on the pricing page ->

WebSocket or SSE, your call.

WebSocket for exactly-once

Client ACKs mean a message is only cleared once you confirm it. Nothing critical slips through, even if the socket drops mid-delivery.

SSE for a plain HTTP read

No ACK protocol, no upgrade handshake. A single GET that streams, at-least-once, native in every browser and every fetch client.

Resume, do not restart

Every message carries lastEventId. Reconnect with it and the missed events replay in order, so a dropped connection is not a gap in your data.

How many streams you can hold at once.

Free1 stream
Team5 streams
Growth20 streams
Professional50 streams
Business100 streams
EnterpriseCustom streams

Streams and webhooks share one number per plan. Compare every plan ->

Open a stream and stop polling.

Get your API key

Free tier includes one live stream, no card required.