BlockBerg — DevPost Submission
Inspiration
Recently, WisdomTree got the approval from the U.S. to utilize blockchain technology for 24/7 trading in their money market funds. When reading this, it seemed like a huge step towards blockchain × fintech, however, why would investors prefer this when they already have investment infrastructure that allows them to invest profitably with traditional money market funds?
Normally, money market funds can only be bought and sold once a day. Blockchain removes that constraint entirely, but to take advantage of that, investors need tooling. This is where BlockBerg comes in to give investors the infrastructure for analytical insights and on-chain transaction info on these tokenized money markets.
What it does
BlockBerg is inspired by the Bloomberg Terminal, but focused specifically on this new category of tokenized money market funds.
The terminal provides:
- Live fund data — TVL, yield, and recent on-chain activity across multiple tokenized MMFs (BUIDL, USYC, USDY, BENJI, WTGXX, and our simulated MMFXX)
- ML yield prediction — an LSTM model forecasts where yields are headed 24–72 hours forward, overlaid as a dashed line on an interactive chart
- Anomaly alerts — IsolationForest flags unusual settlement activity in real time (e.g. oversized redemptions, burst transfer patterns) with severity levels
- Risk scoring — a 0–100 composite score per fund across net worth stress and volatility index sub-scores, visualized as SVG semicircle gauges
- Live XRPL event stream — real-time subscription/redemption/escrow events from the blockchain, with directional glyphs and a LIVE/OFFLINE indicator
- Escrow position tracker — active T+1 escrow positions with countdowns to settlement
The terminal uses a Bloomberg-style resizable panel layout. Users can type commands like ADD ES MMFXX, DEL RG BUIDL, or HELP to dynamically add/remove panels, mimicking the Bloomberg command-line workflow.
How we built it
Frontend
React 19 + Vite 7 + Tailwind v4 + recharts v3 + react-resizable-panels. The terminal is a dynamic multi-panel dashboard where each panel independently tracks its own ticker. A shared theme system (panelTheme.js) provides Bloomberg-style dark color tokens and responsive font sizing via ResizeObserver.
Backend
FastAPI (Python) exposes a clean REST API. All ML endpoints lazy-load their models and fall back to synthetic data if anything fails — the API never returns a 503. A background asyncio task handles escrow settlement automatically, simulating real-world T+1 windows cycling through in demo time.
XRPL Integration
We issued a simulated tokenized money market fund token on XRPL Testnet using MPT (Multi-Purpose Token) — XRPL's modern RWA token standard. The fund wallet and subscriber wallets interact live on-chain. We used Token Escrow (XLS-85) to simulate the settlement window: subscribers lock MPT tokens in escrow with a time-release condition, mirroring T+1 settlement in real tokenized MMFs.
Machine Learning
- Yield Predictor — LSTM model trained on U.S. Treasury yield data (the underlying asset driving MMF yields).
- Anomaly Detector — IsolationForest on the live XRPL transaction stream. Features: transaction volume, settlement latency, transfer size. Fallback: z-score on rolling window (flag >2.5σ).
- Risk Scorer — Weighted composite heuristic (MinMaxScaler, 0–100). Sub-scores:
nw_stress(TVL size, KYC requirements, minimum investment) andvol_index(yield volatility, network count), each weighted 50%. Real-world fund data sourced from rwapipe.com, rwa.xyz CSV exports, and DefiLlama RWA.
Data Pipeline
Live fund data is pulled from rwapipe.com. Historical yield data comes from rwa.xyz free CSV exports and DefiLlama RWA snapshots. All data flows through FastAPI into the terminal in real time.
Challenges we ran into
- XRPL async conflict —
generate_faucet_walletinternally callsasyncio.run(), which conflicts with FastAPI's already-running event loop. We solved it by running XRPL initialization in a thread pool executor with its own event loop. - LSTM training latency — the model takes 1–2 minutes to train on startup. We solved this with a daemon thread that trains in the background while the API immediately serves historical CSV data, then seamlessly appends predictions once ready.
- Token Escrow subscriber authorization — MPT holders must submit an
MPTokenAuthorizetransaction before they can receive or escrow tokens. Missing this step caused cryptictecOBJECT_NOT_FOUNDerrors duringEscrowCreate. The XRPL docs for this are sparse since the feature is brand new. - Panel layout complexity — building a Bloomberg-style resizable terminal with independent per-slot ticker state, dynamic panel sizing, and localStorage persistence without global state management required careful data flow design in React.
- EscrowFinish amount resolution — on-chain
EscrowFinishtransactions carry no Amount field. We cross-reference theOfferSequenceagainst an in-memory escrow position registry to display the correct amount in the event stream.
Accomplishments that we're proud of
- Used Token Escrow (XLS-85) — a brand new XRPL feature live since February 12, 2026. We believe we're among the first hackathon teams globally to build a product on it.
- End-to-end live blockchain data — real MPT token transactions on XRPL Testnet feed directly into the terminal's event stream and anomaly detector.
- Bloomberg UX fidelity — the command bar (
ADD ES MMFXX,DEL RG BUIDL,HELP), resizable panels, dark color palette, and live clock authentically recreate the Bloomberg Terminal feel in a 36-hour sprint. - Resilient ML pipeline — all three models (yield prediction, anomaly detection, risk scoring) degrade gracefully to synthetic fallbacks if anything fails, so the demo never breaks.
- Multi-fund coverage — the terminal tracks real-world tokenized MMFs (BlackRock BUIDL, Ondo USYC, Ondo USDY, Franklin BENJI, WisdomTree WTGXX) alongside our simulated XRPL fund, giving it real market context.
What we learned
- XRPL MPT is the right token standard for RWA — the old Issued Currency model has rippling edge cases that make it ill-suited for structured financial products. MPT's unidirectional design is a better fit.
- MMF yields don't move — Treasury yields do — ML on money market fund data directly is nearly impossible because NAV is pegged at $1. Pivoting to U.S. Treasury yields as the training target is both more accurate and more interesting.
- Brand new blockchain features are double-edged — Token Escrow gave us a unique differentiator, but the documentation was sparse and we had to debug authorization flows from first principles.
- Demo resilience matters more than model accuracy — for a hackathon, building graceful fallbacks and synthetic data modes is more valuable than squeezing out extra model accuracy. The demo never needs to break.
What's next for BlockBerg
- Real fund integrations — connect to live XRPL mainnet addresses of actual tokenized MMFs as they go on-chain
- WebSocket live streaming — upgrade from HTTP polling to real-time WebSocket data for sub-second event latency
- Portfolio tracking — let users track their own positions across multiple tokenized MMFs in one dashboard
- Alerts & notifications — push alerts to email/SMS when anomalies or yield thresholds are crossed
- Expanded ML — train yield models per-fund using real historical TVL and transfer data as more funds accumulate on-chain history
- Regulatory overlay — surface KYC requirements, jurisdiction flags, and compliance metadata directly in the terminal panels
Built With
- fastapi
- javascript
- python
- react
- sckit-learn
- xrpl

Log in or sign up for Devpost to join the conversation.