Trades (LTP) Stream
Streams every public trade. Useful for tracking last-traded price (LTP) and trade tape.
| Subject (all markets) | v1.f.public.futures.ltp.> |
| Subject (one market) | v1.f.public.futures.ltp.BTC/USDT |
| Auth | Public — no signature. |
Subscribe
- Python
- Java
- Go
- Node.js
import asyncio
import nats
async def main():
nc = await nats.connect("wss://pc-nats-prod.coinswitch.co")
sub = await nc.subscribe("v1.f.public.futures.ltp.>")
async for msg in sub.messages:
print(msg.subject, msg.data.decode())
asyncio.run(main())
// implementation 'io.nats:jnats:2.17.4' on Maven Central.
import io.nats.client.*;
Connection nc = Nats.connect("wss://pc-nats-prod.coinswitch.co");
Dispatcher d = nc.createDispatcher(msg -> {
System.out.println(new String(msg.getData()));
});
d.subscribe("v1.f.public.futures.ltp.>");
Thread.currentThread().join(); // block forever
import (
"log"
"github.com/nats-io/nats.go"
)
nc, err := nats.Connect("wss://pc-nats-prod.coinswitch.co")
if err != nil { log.Fatal(err) }
defer nc.Drain()
_, err = nc.Subscribe("v1.f.public.futures.ltp.>", func(m *nats.Msg) {
log.Printf("%s %s\n", m.Subject, string(m.Data))
})
if err != nil { log.Fatal(err) }
select {} // block forever
// npm install nats
const { connect, StringCodec } = require('nats');
const nc = await connect({ servers: 'wss://pc-nats-prod.coinswitch.co' });
const sc = StringCodec();
const sub = nc.subscribe('v1.f.public.futures.ltp.>');
for await (const m of sub) {
console.log(m.subject, sc.decode(m.data));
}
Update payload — single market
When you subscribe to a specific market (...ltp.BTC/USDT), each message is a single trade object:
{
"t": 1756475616499,
"p": 0.0904,
"q": 32.8,
"m": "AEVO/USDT",
"e": "COINSWITCHX",
"E": 1756475616547,
"id": 0,
"isMarketMaker": false
}
Update payload — wildcard
When you subscribe with the wildcard (...ltp.>), each message is an array of trades batched together:
[
{
"t": 1756475616499,
"p": 0.0904,
"q": 32.8,
"m": "AEVO/USDT",
"e": "COINSWITCHX",
"E": 1756475616547,
"id": 0,
"isMarketMaker": false
},
{
"t": 1756475616499,
"p": 1.0904,
"q": 33.8,
"m": "BTC/USDT",
"e": "COINSWITCHX",
"E": 1756475616547,
"id": 0,
"isMarketMaker": false
}
]
Fields
| Field | Type | Description |
|---|---|---|
t | integer | System timestamp (Unix ms). |
E | integer | Exchange-side timestamp (Unix ms). |
p | number | Trade price. |
q | number | Trade quantity (base asset). |
m | string | Market — BASE/QUOTE. |
e | string | Exchange identifier. |
id | integer | Trade ID. |
isMarketMaker | boolean | true if the maker side initiated the resting order. |