DEV Community

Pound Eater
Pound Eater

Posted on

Where to Buy and Trade RBNT

RBNT (Redbelly Network's native coin) trades across four centralized exchanges, one native chain DEX, and three separate wrapped-token markets. None of that was written down in one place, cross-checked, or kept up to date. This post covers TASK-20 for the Redbelly DAO Community Task Board: a canonical, dated reference document plus a live price feed built on top of it.

Live site: https://redbellydaotask20-one.vercel.app/
Source: https://github.com/poundeater/task20/

The problem

RBNT trades in two forms that get confused constantly. Native RBNT is the coin on Redbelly Network's own chain. Wrapped RBNT (wRBNT) is a separate, bridged token used for DeFi trading on other chains. A change to one does not mean the other has changed, and most public listings don't say which one they're actually quoting.

On top of that, aggregators disagree with each other, listings go stale within days, and at least one exchange that used to be listed (BitMart) didn't reconfirm as live in the latest pass and had to be dropped rather than carried forward out of habit.

The deliverable needed to be a snapshot that states its own limits: what was checked, how it was checked, and when.

What's in the reference doc

Four sections, each independently verified against the venue's own page and cross-checked against at least two independent sources (CoinGecko, CoinCodex, CoinMarketCap, and on-chain explorers):

  • Native RBNT, centralized exchanges: Gate, MEXC, BYDFi, WhiteBIT. WhiteBIT is flagged thin (listed, but no trades in the hours before verification) instead of being dropped or silently trusted.
  • Native RBNT, on-chain: Reddex, the official liquidity hub for Redbelly Network, the only venue confirmed for trading RBNT and wRBNT directly without bridging.
  • Wrapped RBNT, three chains: Ethereum, Base, and Solana, each with its own contract address, price-impact figures at real trade sizes, and DEX venues. The Base contract in particular got re-verified independently on BaseScan before shipping, because a canonical reference document is the wrong place to ship an unconfirmed address.
  • Bridges: the two official routes (Lucid Labs Bridge, Reddex Bridge) for moving RBNT and stablecoins in and out of the network.

No futures market is listed, on purpose. Several exchanges carry generic marketing copy referencing futures trading that appears on every token page regardless of whether a market exists. That's not evidence, so the doc says plainly that no futures market is confirmed instead of leaving the gap for someone to assume one exists.

The doc ships as both DOCX and PDF, built with the DAO Task Board's own brand kit (Kinetic Consensus): dark slate surfaces, one accent color, Be Vietnam Pro for text, JetBrains Mono for anything machine-generated like contract addresses and timestamps, status shown as a small dot plus a label rather than a colored pill.

The live price feed

The doc is a snapshot. The website needed something that doesn't go stale between snapshots, so the Spot table now carries a live price column.

A small Node backend on a VPS holds a WebSocket connection open to each exchange that actually exposes one, and republishes a unified feed:

{ "mexc": "0.003143", "gate": "0.003126", "whitebit": "0.003123", "bydfi": null, "ts": 1234567890 }
Enter fullscreen mode Exit fullscreen mode

Three of the four venues work as expected. The fourth doesn't, and the honest answer mattered more than a workaround:

  • MEXC and WhiteBIT expose a public WebSocket. Straightforward push feed, no issues.
  • Gate dropped every WebSocket connection with a 1006 immediately after the handshake. Turned out to be a permessage-deflate compression negotiation that Gate's OpenResty-based server doesn't handle cleanly, hard-resetting the connection mid-handshake. Disabling client-side compression didn't fully resolve it, so Gate now runs on a REST poll every five seconds instead of a push connection. Same output shape to the frontend, slightly higher latency, but correct and stable.
  • BYDFi has no public price API. No REST ticker, no WebSocket, nothing. Their own trade page renders its price from an internal frontend API that isn't meant for third-party consumption, and reverse-engineering it would be both fragile and against their ToS. Rather than fake a number or scrape something undocumented, the frontend shows "Check exchange" for BYDFi, styled as informational, not an error state. Three out of four live is the honest, realistic ceiling here, and pretending otherwise would put a number on the page that nobody actually verified in real time.

On the frontend, each row prices in JetBrains Mono, right-aligned, and grays out to a "last known" state with automatic reconnect if the socket drops, rather than going blank.

What I'd flag to anyone building something similar

The two most useful lessons weren't about React or WebSockets:

  1. A canonical reference document is a liability if it's wrong. Cross-checking every address and every listing against a second independent source, and catching your own mistake before shipping (an unverified contract address, a guessed URL format instead of the one actually established) is the actual job, not a nice-to-have on top of it.
  2. "No" is a valid engineering answer. BYDFi genuinely does not have a way to get this data safely. Building a scraper against an undocumented internal API to fill in a fourth number would have looked more complete and been strictly worse: fragile, against the exchange's terms, and quietly wrong the first time their frontend changed.

Repo has the full build, including the price-feed server and the doc-generation script. Feedback and issues welcome.

Top comments (0)