> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kuru.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Indexing SpotRouter

> Discover verified markets and track application-visible market configuration events.

Start at the router's deployment block and process:

| Event | Reducer action |
| - | - |
| `SpotMarketRegistered(orderBook, baseToken, quoteToken, operator)` | Add the market candidate and pair |
| `SpotMarketStateUpdated(orderBook, previousState, newState, operator)` | Replace routed market state and retain operator provenance |
| `SpotTokenWhitelisted(token, status, operator)` | Replace deployment-eligibility metadata |
| `SpotOBImplementationUpdated(oldImplementation, newImplementation, operator)` | Update future-deployment implementation metadata |
| `ManagedContractOwnershipTransferred(managedContract, previousOwner, newOwner, operator)` | Record routed ownership change |

A router registration is the canonical deployment signal. Do not enable settlement until the corresponding AccountCore `SpotMarketRegistered` confirms the orderbook, base, and quote relationship.

For market-state changes, the nested OrderBook `MarketStateUpdated` is the actual market mutation; the later SpotRouter event supplies the initiating operator. Process both in transaction log order.

Cache each market's immutable getters at discovery: base, quote, price and size precision, tick, quote decimals, passive spread, and notional limits. Re-read implementation and market-state pointers after their relevant events.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.