# Design Components

The Agentic Data Coordination System (ADCS) integrates both on-chain and off-chain components to seamlessly provide off-chain data access to on-chain applications. This hybrid architecture ensures efficient and reliable data flow between decentralized applications (dApps) and external data sources. By harmonizing these components, ADCS supports robust AI-driven decision-making processes, leveraging trustworthy data to enhance the performance and accuracy of on-chain operations. This design not only optimizes data accessibility and processing but also maintains the integrity and scalability essential for dynamic, real-time environments.

Building on this architecture, ADCS employs key off-chain components like the Adaptor, which defines the structure of inference requests, and ADCS Nodes that handle data retrieval, storage, and processing to ensure AI agents receive high-quality data. On the on-chain side, components such as the CoordinatorBase Contract act as a bridge between on-chain applications and off-chain AI agents, the Consumer Contract interfaces with user applications to request and handle inferences, the Oracle Router directs data requests to appropriate oracles, and Oracles securely connect AI agents and smart contracts to external data sources using techniques like Zero-Knowledge Proofs. Together, these components enable ADCS to deliver real-time, reliable data to dApps, fostering effective AI-driven decisions while maintaining scalability and security.


---

# 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://docs.rivalz.ai/adcs-ai-oracles/design-components.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.
