PriceStr is a cryptographically signed Bitcoin price feed built natively for the Nostr protocol.
It delivers median‑aggregated exchange prices as verifiable Nostr events from these sources:
- Coinbase: USD-BTC spot
- Binance: BTCUSDT
- Kraken: XBTUSD
- Chainlink: https://etherscan.io/address/0xf4030086522a5beea4988f8ca5b36dbc97bee88c
- Uniswap: WBTC/USDC (0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599/0xA0b86991c6218b36c1d19d4a2e9eb0ce3606eb48)
- Hyperliquid: perp mid prices for BTC market
dApp developers often end up using centralized API endpoints for price data because on‑chain oracles are cumbersome and public APIs require API keys, rate limits, and trust.
PriceStr flips the model:
- Aggregate – pull real‑time prices from multiple exchanges, compute the median.
- Sign – sign the result with a dedicated Nostr keypair (deterministic, any Nostr library can verify).
- Broadcast – publish the signed event to the Nostr relay network.
- Consume – your frontend fetches from any relay, verifies the signature in one function call.
No backend needed for the free tier. No database. No API key.
- BTC/USD price – 10‑second updates
- Median aggregation from Coinbase, Binance, Kraken, Chainlink, Uniswap, Hyperliquid
- Forex pairs
- Public relays only (no authentication)
- Open‑source aggregation logic
- Choose any Nostr relay that stores PriceStr events (e.g., wss://relay.damus.io, wss://relay.primal.net, or our relay wss://relay.pricestr.xyz).
- Subscribe to events from PriceStr’s pubkey with kind 30078.
- Verify the signature using nostr-tools or any Nostr library.
- Read the price from the content field or the price tag.
import { Relay } from 'nostr-tools';
const relay = await Relay.connect('wss://relay.pricestr.xyz');
relay.subscribe([{
kinds: [30078],
"#t": ['pricestr']
}], {
onevent(event) {
console.log(event.content;
}
});That’s it. No API key, no backend, no database.
MIT