Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 43 additions & 0 deletions build-an-oracle/reference/bundled-plugins/domain-indexer.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "domain-indexer"
description: "Domain analysis and entity lookup across the IXO ecosystem — organisations, projects, DAOs, DIDs."

Check warning on line 3 in build-an-oracle/reference/bundled-plugins/domain-indexer.mdx

View check run for this annotation

Mintlify / Mintlify Validation (ixoworld) - vale-spellcheck

build-an-oracle/reference/bundled-plugins/domain-indexer.mdx#L3

Did you really mean 'DAOs'?

Check warning on line 3 in build-an-oracle/reference/bundled-plugins/domain-indexer.mdx

View check run for this annotation

Mintlify / Mintlify Validation (ixoworld) - vale-spellcheck

build-an-oracle/reference/bundled-plugins/domain-indexer.mdx#L3

Did you really mean 'DIDs'?
icon: "database"
---

Expand All @@ -17,7 +17,7 @@

## Summary

Domain analysis and entity lookup across the IXO ecosystem — organisations, projects, DAOs, DIDs. Exposes a sub-agent (`call_domain_indexer_agent`) that searches the IXO Domain Indexer and resolves entity domain cards by DID. Base URL defaults to per-network endpoints (`https://domain-indexer{.testnet|.devnet}.ixo.earth`) resolved from `NETWORK`; override with `DOMAIN_INDEXER_URL`.

Check warning on line 20 in build-an-oracle/reference/bundled-plugins/domain-indexer.mdx

View check run for this annotation

Mintlify / Mintlify Validation (ixoworld) - vale-spellcheck

build-an-oracle/reference/bundled-plugins/domain-indexer.mdx#L20

Did you really mean 'DAOs'?

Check warning on line 20 in build-an-oracle/reference/bundled-plugins/domain-indexer.mdx

View check run for this annotation

Mintlify / Mintlify Validation (ixoworld) - vale-spellcheck

build-an-oracle/reference/bundled-plugins/domain-indexer.mdx#L20

Did you really mean 'DIDs'?

## Environment variables

Expand Down Expand Up @@ -51,6 +51,49 @@
- Looking up a domain card by its DID.
- Discovering entities by topic, category, or keyword.

## Search filters

`domain_indexer_search` accepts a `filters` object that maps directly to the Domain Indexer's `dc.*` query parameters. Two of these come from on-chain data and have exact-match semantics you need to know about.

### `dc.entity_type` — exact compound match

The `entity_type` on each domain card is sourced from the chain `type` field and stored as a single compound token. It is **never split on `/`**, so filter values must match the full compound value:

| Filter value | Matches |
| --- | --- |
| `dc.entity_type=asset/device` | Only entities whose chain type is exactly `asset/device` |
| `dc.entity_type=asset` | Only entities whose chain type is exactly `asset` (not `asset/device`, not `asset/vehicle`) |
| `dc.entity_type=dao/pod` | Only pods |
| `dc.entity_type=dao/protocol` | Only protocol DAOs |

Check warning on line 67 in build-an-oracle/reference/bundled-plugins/domain-indexer.mdx

View check run for this annotation

Mintlify / Mintlify Validation (ixoworld) - vale-spellcheck

build-an-oracle/reference/bundled-plugins/domain-indexer.mdx#L67

Did you really mean 'DAOs'?
| `dc.entity_type=dao` | Only plain DAOs |

Check warning on line 68 in build-an-oracle/reference/bundled-plugins/domain-indexer.mdx

View check run for this annotation

Mintlify / Mintlify Validation (ixoworld) - vale-spellcheck

build-an-oracle/reference/bundled-plugins/domain-indexer.mdx#L68

Did you really mean 'DAOs'?

Passing a partial prefix like `asset` when you want every asset sub-type returns zero results. To match multiple compound types, pass a comma-separated list: `dc.entity_type=asset/device,asset/vehicle`.

### `dc.entity_verified` — chain-verified status

`entity_verified` reflects the on-chain `entityVerified` flag for the entity:

| Filter value | Behaviour |
| --- | --- |
| `dc.entity_verified=true` | Only entities marked verified on chain |
| `dc.entity_verified=false` | Only entities explicitly marked not verified on chain |
| _(omitted)_ | Both verified and unverified entities, plus records that have not yet been backfilled from chain |

Check warning on line 80 in build-an-oracle/reference/bundled-plugins/domain-indexer.mdx

View check run for this annotation

Mintlify / Mintlify Validation (ixoworld) - vale-spellcheck

build-an-oracle/reference/bundled-plugins/domain-indexer.mdx#L80

Did you really mean 'backfilled'?

`null` (not-yet-indexed) is distinct from `false`. Records still awaiting the chain-metadata backfill return `entity_verified: null` in results and are only excluded when you set the filter to `true` or `false`.

### Example

```ts
// Find verified protocol DAOs relevant to "mining"
await tools.domain_indexer_search.invoke({
query: 'mining',
filters: {
'dc.entity_type': 'dao/protocol',
'dc.entity_verified': 'true',
},
});
```

## When NOT to use it

- General web search unrelated to IXO entities — use [`firecrawl`](/build-an-oracle/reference/bundled-plugins/firecrawl).
Expand Down
Loading