Here is the short version, and you can check every part of it in the open subnet-22 repository: Desearch's Subnet 22 on Bittensor no longer answers search queries. Its job is to build Desearch's web index. Independent miners crawl pages, validators check part of that work themselves, and only pages that pass go into the collection the search index is built from. When you search with Desearch, your query never waits on a miner.
This post explains what that means, why we changed it, and how the pieces fit together.
What is a decentralized search engine?
A search engine needs two things: a store of pages worth searching, and a way to search them. In a decentralized setup, the hard, repetitive work of gathering those pages is spread across many independent participants instead of one company's servers. Those participants are paid for work that can be checked, so nobody has to trust them on their word.
At Desearch, that gathering work runs on Bittensor as Subnet 22. Miners crawl, validators verify, and the verified pages become our web index. Our team then runs search on top of that index.
Why Desearch moved from answering queries to building an index
In the first version of Desearch, miners answered search requests and validators judged the answers. It worked, but it had real problems. Answers could arrive too late. Some of them depended on outside search providers. And very little of the work lasted once a query was answered.
Desearch 2.0 flips the order. Information is prepared before a query arrives. Miners crawl pages ahead of time, the network checks them, and the passed pages stay useful long after any single search. Crawling is now Subnet 22's work, replacing AI and X search on the subnet.
How Subnet 22 works now
In plain words, the loop looks like this:
- Pages worth keeping are found and turned into crawl tasks.
- A miner takes a task, crawls the assigned pages, uploads the result and reports the task complete.
- Validators randomly check part of each miner's pages by fetching them and comparing the text.
- Pages that pass go into the collection Desearch's search index is built from.
The crawl starts with selected sources such as company websites, news, articles, blogs and documentation.
What miners do
A miner claims crawl tasks, fetches every assigned page through its own proxies, extracts the text and uploads the result. For each page it delivers the extracted text (title, dates, headings and main text) plus the page HTML.
Miners do not serve search queries, and a miner needs no open port. It is a crawler, not a search server.
How validators check the work
A validator randomly checks part of a miner's pages. It fetches those pages itself, compares the text with what the miner uploaded, and reports pass or fail. A task fails only when the mismatch is significant, so small natural differences between two fetches of the same page do not sink honest work.
Validators then set weights themselves, from the record of every miner's uploads, at the rate their own checks paid.
How rewards are worked out
A miner's reward share is its verified pages compared with every other miner's over a recent window. More verified pages relative to everyone else means a larger share.
A failed check takes back what was paid since that miner's last passed check. A task score is not a fixed token payment, and no role on the subnet has permanent rewards or guaranteed profit.
If you want the practical side of this, our guide on how to earn on Desearch Subnet 22 walks through it from a miner's point of view.
How the network stays honest
Several design choices make cheating a bad bet:
- Rounds are fixed in advance.
- Actions are signed.
- Uploads go straight to storage.
- Which work gets checked is decided by chance, after the upload.
- Failed checks take back earlier pay.
- Results are public.
A miner cannot know which of its pages will be checked, so the only safe strategy is to return the real page every time.
What comes next: embedding
The subnet is also built to embed pages, not only crawl them. That part is built but not open yet. It opens when Desearch's own embedding model ships, and there is no date yet. You can read more about the plan in Desearch 2.0: our embedding model, crawl and embed.
How developers use Desearch
If you are building an app or an AI agent, you do not run a miner to use Desearch. You use the search API, which you manage through the Desearch Console. Our AI Search tools cover the web and X. See the Search API and the Web Search API to get started.
The subnet-22 repository is a different thing: it is the code for running miners and validators, not a search library to embed in your app.
Open source by design
Subnet 22 is open source. The README and architecture doc describe the mechanism, and anyone can read the miner and validator code that runs it.
FAQ
Do Subnet 22 miners answer search queries?
No. Miners crawl pages for Desearch's web index. Search queries are served from the index, and they never wait on miner work.
What do Subnet 22 miners do?
They claim crawl tasks, fetch the assigned pages through their own proxies, extract the text and upload it with the page HTML, then report the task complete.
How are Subnet 22 miners rewarded?
By their share of verified pages compared with every other miner over a recent window. A failed check takes back what was paid since the last passed check. Rewards are not guaranteed.
How do validators check miner work?
A validator randomly checks part of a miner's pages by fetching them itself and comparing the text. A task fails only when the mismatch is significant.
Is Desearch open source?
Yes. The subnet code is public in the subnet-22 repository.
How can I use Desearch search in my app?
Use the Desearch search API through the Console. Start with the Search API page.
