🚨 Wave 2 is LIVE.
🔎 This time, we’re indexing escrows.
🧪 7 spikes. 3 networks. Real experience. Join the campaign.
🔥 OnlyDust Wave 2 is Here
After a killer first wave where we shipped contract upgrades, dashboards, and explorer tools — we’re back with Wave 2 on OnlyDust.
This time, the theme is data:
Make escrow activity observable, searchable, and composable.
We’ve launched 7 open spikes focused on indexing the full lifecycle of an escrow on Stellar + Soroban — using SubQuery, The Graph, and Goldsky.
If you're a builder, Rust dev, indexer hacker, or just curious about the Stellar data layer...
This is for you.
🧠 Why Indexing?
Trustless Work is non-custodial escrow infrastructure — but smart contracts alone aren’t enough.
To support dashboards, explorers, and composable integrations, we need:
- Soroban events emitted by the contract
- Stellar effects (like
account_credited
) tracked off-chain - Indexers that stream, store, and expose that data
We’re building that observability layer — and Wave 2 is your chance to help shape it.
🔁 Same Data, Three Networks
Each of the 7 spikes tackles the same challenge: indexing escrow activity.
What changes? The tool.
Here’s how each indexing tool maps:
-
SubQuery
- ✅ Event indexing via
EventHandler
- ✅ Effect indexing via
EffectHandler
- ✅ Event indexing via
-
The Graph (with Substreams)
- ✅ Streams events from Soroban into subgraphs
- ✅ Parses ledger data for balance effects
-
Goldsky
- ✅ No-code event listener with GraphQL
- ✅ No-code effect tracker for direct funding
It’s a learning playground for anyone building with Stellar, Soroban, or Web3 data infra.
🛠️ The 7 Spikes (Open Now)
Each task is scoped and ready on GitHub and OnlyDust:
📦 Contract Layer
1. Emit Events in Smart Escrow
Add env.events().publish(...)
at key points: init_esc
, fund_esc
, release
.
Enables all event-based indexing going forward.
⚙️ SubQuery Indexing
2. Index Events with SubQuery
Parse Soroban logs into Postgres with SubQuery’s EventHandler
.
3. Detect Direct Funding via Effects
Catch account_credited
when users skip fund_escrow()
.
Real-time contract monitoring — even without events.
🧬 The Graph
4. Index Events via Substreams
Stream event data with Rust → map into subgraph with AssemblyScript.
5. Detect Direct Funding via Substreams
Use low-level Stellar data to catch escrow USDC transfers.
Fully decentralized indexing flow.
⚡ Goldsky
6. Track Events via Goldsky
GraphQL endpoint for contract logs like init_esc
.
7. Detect Direct Funding via Goldsky
Configure an effect listener for external USDC transfers into escrows.
Fastest path to working queries.
✨ Learn by Building
This is open-source work designed to also be a sandbox for learning:
- How Stellar effects work
- How to index Soroban events
- How Substreams, SubQuery, and Goldsky differ
- How escrow flows get composable and auditable
You’ll walk away with real repo PRs, deep indexing knowledge, and a clearer understanding of Web3 observability.
👉 How to Join
🛠 Claim a bounty:
Go to OnlyDust → Trustless Work and apply.
🌐 Explore the Product Repo for more Spikes:
GitHub – Open-source and testnet-ready
📘 Learn the smart escrow flow:
Docs – Role logic, lifecycle, API, and config
Let’s build the data layer for programmable trust.
Let’s make smart escrows observable.
Pura Vida!
🧠💥