# Routers

### Overview

Routers are specialized contracts that enable Nodes to interact with different types of yield-bearing vaults and DeFi protocols. They abstract away the complexity of various asset interfaces, providing a standardized way for Nodes to manage different types of assets while maintaining security and consistency.

### Adding New Routers to the Protocol

1. **Registry Owner Actions**
   * Deploy the new Router implementation
   * Add Router address to NodeRegistry using `setRegistryType`
   * Whitelist initial supported components using `batchSetWhitelistStatus`
   * Set appropriate tolerance values for the Router
2. **Node Owner Actions**
   * Add Router to Node using `addRouter`
   * Add desired components using `addComponent`
   * Configure component allocations and parameters
   * Update liquidation queue if necessary

### Adding New Components to Routers

1. **Security Review**
   * Verify component contract code and security
   * Ensure component implements required interfaces (ERC4626/ERC7540)
   * Validate component's risk parameters and behavior
2. **Registry Owner Actions**
   * Review component for protocol compatibility
   * Whitelist component on appropriate Router using `setWhitelistStatus`
   * Set any component-specific parameters
3. **Node Owner Actions**
   * Add component to Node using `addComponent`
   * Set target allocation and maximum delta
   * Specify Router for component interaction
   * Update liquidation queue position if needed


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://nashpoint.gitbook.io/nashpoint/routers.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
