Feeds

Personalized feeds, built and deployed in minutes

Write your feed as code — or let the AI builder write it for you. Search live onchain indices, boost by each wallet's interests, and serve ranked, hydrated results with a single API call.

console.mbd.xyz/feed-configdraft
Feed config
MAIN ALGO
Wallet Tags Boost · w 1
PRIMARY FALLBACK
minifeed
MAIN CACHE
7200s
PAGE SIZE
25
▶ Serve feed
Preview · POST /deploy/serve
Bitcoin Up or Down — Mar 29boost ×5 · wallet tags
Up 100¢ · $99,885 24h
Counter-Strike: M80 vs NIP (BO3)whale entered
48¢ · $314 in
US Election — swing state marginconvergence · P0
65¢ → 73¢ (+12.3%)
175M+
ranking calls served
2.5x
engagement lift
200ms
typical serve, cache-first
50K
DAUs served
The Problem

Generic feeds are killing your engagement

01

One-size-fits-all feeds don't convert

Every user sees the same content regardless of their interests, trading history, or risk profile. Most of it is irrelevant noise.

02

Building recs in-house takes years

ML pipelines, feature stores, model training, A/B testing infrastructure. Most teams don't have the data science headcount or the onchain training data.

03

Cold start kills new user retention

New users see generic content, get no personalization, and churn before your system learns anything about them. By then it's too late.

Why Feeds

Turn passive browsing into active engagement

Engagement

2.5x engagement lift

Personalized feeds surface the content each user actually cares about. More relevant items = more clicks, more swaps, more time in app.

Retention

A feed worth coming back to

When every session shows fresh, relevant content tailored to their interests, users build a daily habit. Generic explore pages don't create that.

Revenue

Discovery to Fees

Every feed item is a CTA. Users discover tokens, markets, and content they wouldn't have found, and act on it. Direct path to transaction revenue.

How It Works

From idea to production feed in minutes

Compose the algorithm, blend and deploy it as a feed config, and serve — from the Console or the API.

Step 1

Build Your Algorithm

Write it in the Studio DSL: search any live index, filter, and boost by the wallet's AI-labeled interests — or describe the feed in plain English and the AI builder generates the code for you.

ALGORITHM · STUDIO DSL
// Candidates: active, liquid markets
const candidates = await mbd.search()
.index("polymarket-items")
.include()
.term("active", true)
.numeric("volume_1wk", ">=", 10000)
.exclude()
.term("closed", true)
.boost()
.groupBoost("polymarket-wallets",
"ai_labels_med", polymarketWallet,
"label", 1, 5, 10)
.execute();
mbd.addCandidates(candidates);
Step 2

Rank, Blend & Deploy

Mix scores with weights and diversity rules, then group algorithms into a feed config — weighted blending, two fallback tiers for cold start, cache TTLs, and impression-aware exclusion rules. Preview real output, then deploy.

RANK & DEPLOY
// Blend signals, keep variety
const ranking = await mbd.ranking()
.sortingMethod("mix")
.mix("topic_score", "desc", 40)
.mix("user_affinity_score", "desc", 40)
.mix("score_trending", "desc", 20)
.diversity("semantic")
.lambda(0.5).horizon(20)
.execute();
mbd.addRanking(ranking);
// Save it, then group algorithms into
// a feed config: weighted blend, two
// fallback tiers, caching, exclusions
// POST /v3/studio/deploy/configs
Step 3

Serve via API

One REST call with a wallet address. Cache-first responses with session pagination and a new-items endpoint for pull-to-refresh badges. Every item arrives hydrated with live context.

SERVE · REST
POST /v3/studio/deploy/serve
{
"config_id": "feed_abc123",
"inputs": {
"polymarketWallet": "0xab2...e44"
}
}
// -> { served_id, num_pages, feed: [...] }
// paginate a session
GET /deploy/serve/page?page=2
// "N new items" for pull-to-refresh
GET /deploy/serve/new_items
Feed Types

One platform, every feed type

Same pipeline, same DSL — different indices: markets, tokens, trades, wallets, and positions across Polymarket, Kalshi, Hyperliquid, and DEXs on Base, Ethereum, and Solana.

Trading Feeds

Personalized token discovery based on each wallet's trading history. Surface trending tokens, new listings, and smart money moves, ranked by relevance to each user.

Trending tokens by wallet affinity
New listing alerts
Smart money convergence

Prediction Market Feeds

Recommend markets each user is likely to trade on. Rank by volume, relevance, and past betting patterns across Polymarket and Kalshi.

Markets ranked by user interest
Trending categories
High-volume opportunities

Smart-Money & Wallet Feeds

Feeds built from ranked trader profiles and live positions. Surface top-trader leaderboards, whale moves, and the trades of wallets most similar to each user.

Top-trader leaderboards
Live wallet positions
Similar-wallet activity
Technology

A recommendation pipeline purpose-built for onchain data

Not a generic ML platform — an engine designed around wallets, markets, and live trading behavior.

Live data
Streaming ingestion keeps every index current, and trader scores across all venues refresh every 15 minutes.
Personalization
Each wallet carries a profile — AI-labeled interests, semantic embeddings, similar-wallet affinity — applied at query time as boosts and features.
Serving
Cache-first serving with background rebuilds, tiered warmup for your most active users, and dual fallbacks so no one ever sees an empty feed.
Composable Ranking
Weighted score mixing, semantic diversity, and per-field caps — plus optional ML re-ranking for prediction markets.
Hydrated Items
Every market or token card ships with context attached: smart-money trades, stories, and price moves — ready to render.
Semantic Retrieval
768-dimension embeddings power search by meaning — "liquid election markets with active discussion" is a valid query.
Your Data, Joined In
Push your own users, items, and engagement events through the Data Sources API and reference them directly in algorithms.
Integration

Live in production in under two weeks

1
Get your API key
Sign up at console.mbd.xyz. Free tier available.
2
Build & deploy your feed
Use the Studio DSL or AI feed builder. Get a config ID.
3
Call the serve endpoint
One REST call with wallet address + config ID. Ranked, hydrated results, cache-first.
4
Render in your UI
Standard JSON response. Use your own components and design.
Proven at Scale

Battle-tested on real crypto data

Coinbase Base App · Production

Powered the Base App social feed

Our models re-ranked the Base App feed in real time using in-app events + on-chain data. At peak, 50% of transactions originated from personalized feeds, with 2.5x engagement lift.

2.5x
Engagement lift
50%
Tx from feed
100+
Algo recipes
Why This Matters

Years of ML infra, now an API

The largest crypto exchange spent years and a full ML team building user embeddings, a targeting engine, and an ML notification platform. We put the same capability in an API you integrate in two weeks.

"What took a dedicated ML team years to build internally, you can now ship with a single API integration."
FAQ

Common questions

Today we primarily serve prediction market feeds and trading feeds. Rank prediction markets by relevance to each wallet, surface trending tokens personalized to each user's trading history, and recommend assets based on onchain behavior. The platform is composable, so you can combine search, scoring, and ranking to fit your use case.

The largest crypto companies have spent years building internal ML personalization: user embedding models, targeting engines, feature stores, and ranking platforms. That requires a dedicated ML team, streaming infrastructure, and ongoing maintenance. Embed delivers the same capability via API. What takes an internal team years to build, you integrate in two weeks.

Embed's engine is built on three layers: (1) Live indices of markets, tokens, trades, wallets, and positions — streaming-updated, with trader scores refreshed every 15 minutes. (2) Wallet-level personalization: AI-labeled interests, semantic embeddings, and similar-wallet affinity computed against each candidate. (3) A composable ranking stage with weighted mixing, diversity rules, and optional ML re-ranking for prediction markets. Serving is cache-first with tiered warmup, so production calls typically return in the low hundreds of milliseconds.

Nothing to get started. Our models are pre-trained on onchain data. For personalization, we use the wallet address your user connects with. No PII, no user accounts. If you want to incorporate in-app events (clicks, views, swaps), you can send those via our ingestion API to improve relevance.

Minimal. Call a REST endpoint or use our TypeScript SDK. Most teams integrate in 1-2 weeks with no changes to existing infrastructure. We plug into your stack, not replace it.

General-purpose tools like AWS Personalize or Algolia Recommend don't understand crypto. They have no concept of wallet behavior, protocol interactions, or onchain trading patterns. Embed is crypto-native: our models are trained on prediction market bets, token swaps, and onchain activity. We understand what a wallet does across the ecosystem, not just within one app.

Yes, that's a core feature. Inside one algorithm you chain search filters, boosts, and ranking strategies — search trending markets, score by wallet affinity, re-rank with diversity rules. Then a feed config blends multiple algorithms with weights (say 70/30) and adds fallback tiers, caching, and exclusion rules. The whole thing serves under one config ID.

Pricing scales with your usage, not your user count. We offer flexible structures depending on your use case and growth stage. Get in touch and we'll find the right fit.

Embed was founded by a former AWS and Chainlink data scientist and is backed by a16z crypto, Polymorphic Capital, Mask Network, Forward Research, WAGMI Ventures, and Social Graph Ventures. The team includes ML engineers who've built personalization and recommendation systems at Amazon, Discovery+, and Bloomberg.

Sign up at console.mbd.xyz to get an API key. Build your first algorithm in the Studio DSL, or let the AI feed builder generate one from a natural-language description. Deploy it to get a config ID, and serve it with a single REST call.

Stop showing every user
the same feed

Build, deploy, and serve personalized feeds with a single API. From idea to production in minutes.