BRUNE
Reference

Public API

Read BRUNE data from your own app, bot or dashboard. No key required.

Base URL

https://www.brune.tech

All responses are JSON. Amounts are strings of base units: BNB in wei (18 decimals), BTCB in wei (18 decimals, with sats alongside where useful), coins in wei (18 decimals). Market figures are numbers in BTC, and marketCapUsd is the market cap in US dollars.

Endpoints

MethodPathReturns
GET/api/siteNetwork facts: chain, quote token, launch settings, contract addresses
GET/api/coinsA page of coins (see below)
GET/api/coins/{token}One coin with live market figures
GET/api/coins/{token}/tradesIts latest trades
GET/api/coins/{token}/holdersIts top holders on BNB Chain
GET/api/coins/{token}/candles?interval={seconds}Market-cap candles in BTC and USD (60, 300, 900, 3600, 14400 or 86400 seconds)
GET/api/launch/{id}Launch progress (BNB Chain, Rune, bridge)
GET/api/launch/{id}/imageThe coin's image
GET/api/launch/dev-buy?wei={n}Tokens a dev buy of n BNB wei gets at launch
GET/api/portfolio?wallet={address}Coins a wallet created (with creator fees) and holds
GET/api/v1/runesThe price of every BRUNE Rune on Bitcoin, for wallets (see below)
GET/api/v1/runes/{rune}One Rune by Rune ID, name or BNB Chain token address
GET/api/v1/statsBRUNE in numbers: volume, traders, BTC paid out, bridge moves, custody backing
GET/api/v1/activityThe latest trades, launches, BTC payouts and bridge moves, each with its transaction
GET/api/bridge/verifyCustody of every Rune, with the co-signer's code hash and controllers
GET/api/reservesProof of reserves for BTC payouts and BTC accounts (what the Reserves page shows)

Rune prices for wallets

Bitcoin wallets and marketplaces price Runes from Bitcoin marketplace sales. A BRUNE Rune's market is its BNB Chain pool, where every token is backed 1:1 by the Rune in custody, so this feed is its price. Open to any website (CORS), no key, refreshed every 30 seconds.

GET /api/v1/runes
GET /api/v1/runes/972310:1187
GET /api/v1/runes/DOGE•ON•BTC     (spacers optional: DOGEONBTC, DOGE.ON.BTC)
GET /api/v1/runes/0x…7777
{
  "runes": [
    {
      "runeId": "972310:1187",
      "runeName": "DOGEONBTC",
      "spacedRuneName": "DOGE•ON•BTC",
      "symbol": "D",
      "divisibility": 18,
      "ticker": "DOGE",
      "name": "Doge on Bitcoin",
      "priceSats": 0.0061,
      "priceUsd": 0.0000049,
      "change24hPct": 4.1,
      "marketCapSats": "6100000",
      "marketCapUsd": 4980,
      "volume24hSats": "1250000",
      "volume24hUsd": 1020,
      "maxSupply": "1000000000",
      "url": "https://www.brune.tech/rune/0x…7777",
      "bsc": { "token": "0x…7777", "venue": "FLAP", "pairedWith": "BTCB", "graduated": false },
      "bridge": { "enabled": true, "onBitcoinPct": 4.8 }
    }
  ]
}

Prices are for one whole Rune (divisibility applied), in sats and US dollars. The 24-hour figures come from the Rune's trades on BNB Chain.

BRUNE in numbers

The figures on the home page, open to any website (CORS), no key. /api/v1/stats is refreshed every minute, /api/v1/activity every 15 seconds.

{
  "runes": { "listed": 74, "onBitcoin": 74, "bridged": 41, "graduated": 3 },
  "trading": { "trades": 24198, "traders": 3456, "volumeSats": "2244000000", "volumeUsd": 1830687, "volume24hUsd": 64210 },
  "btcPaid": { "sats": "4224702", "usd": 3446, "addresses": 9, "payouts": 57 },
  "bridge": { "toBitcoin": 10, "toBsc": 2 },
  "custody": { "runes": 74, "backed": 74, "cosigned": 74, "cosignerOnline": true }
}

custody is the verify page's summary: Runes whose custody holds at least the Rune for every token on BNB Chain, and Runes at their own 2-of-2 address. Each activity item carries its txHash or btcTxid, so every line can be checked on chain.

Listing coins

GET /api/coins?sort=mcap&limit=24&offset=0
ParameterValuesDefault
sortnew, mcap, graduatingnew
bitcoin1 for coins whose Rune existsall
qName, ticker or token addressnone
limit1 to 10048
offset0 or more0
{
  "coins": [
    {
      "token": "0x…7777",
      "ticker": "ORBIT",
      "name": "Orbit",
      "market": {
        "priceBtc": 6.1e-11,
        "marketCapBtc": 0.061,
        "marketCapUsd": 4980,
        "liquidityBtc": 0.0062,
        "progressPct": 4,
        "graduated": false
      },
      "flap": { "status": "TRADABLE", "progress": "40000000000000000", "reserveWei": "6200000000000000", "circulating": "…" },
      "runeId": "<block>:<tx>",
      "runeName": "AAAAAAAAAAAAAAAAAACHXEPFISW",
      "bridgeEnabled": true
    }
  ],
  "total": 128,
  "offset": 0,
  "limit": 24
}

Identify coins by token or runeId, never by name or ticker: names can repeat (why).

Limits

CallsLimit per IP
All reads600 per minute
/api/v1/runes120 per minute
/api/v1/stats, /api/v1/activity600 per minute
/api/portfolio40 per minute

Over the limit, the API answers 429 with {"error":"RATE_LIMITED"} and a Retry-After header. Endpoints that prepare transactions are reserved for the BRUNE website.