# Infrastructure Overview

{% hint style="danger" %}
**Outdated Documentation:** This page covers the architecture used for USC V1, which was deprecated on 2026-03-30. For the latest documentation, please visit: [usc documentation](https://docs.creditcoin.org/usc)[on](https://docs.creditcoin.org/usc)
{% endhint %}

## Infrastructure Components

The Creditcoin Oracle is intended for use by DApp builders. However, in order to use the oracle *effectively* those teams will need to set up some infrastructure of their own.

### Source Chain Smart Contract

> This can be on a network such as <img src="/files/7JS1nXRkaVNdby4MMITR" alt="" data-size="line"> `Ethereum`**.**

This contract supports DApp-specific logic on the source chain and emits *events* which can be converted into Creditcoin oracle queries. For example, to support a token bridge DApp the source chain smart contract might be an ERC20 contract which emits `transfer` events.

### Universal Smart Contract

> Deployed to the execution chain, <img src="/files/ZABpsfb0M5qJd9lXhaEc" alt="" data-size="line"> `Creditcoin`

This contract is responsible for *interpreting* and *acting upon* [oracle](/usc/usc-v1/dapp-builder-infrastructure/infrastructure-overview.md#oracle-worker) results specific to the DApp team's use case by forwarding its request to the [DApp Business logic Smart Contracts](#dapp-business-logic-smart-contracts). In the example of a token bridge DApp the USC would interpret oracle provided data corresponding to a `transfer` event on Sepolia.

### DApp Business Logic Smart Contracts

> Deployed to the execution chain, <img src="/files/ZABpsfb0M5qJd9lXhaEc" alt="" data-size="line"> `Creditcoin`

One or more DApp business logic smart contracts on Creditcoi&#x6E;**.** **This is where the state and logic of your DApp will live**. The universal smart contract (USC) for your DApp can be given a special administrator role within your business logic contracts so that the USC can seamlessly trigger actions across your DApp based on [oracle results](/usc/usc-v1/dapp-builder-infrastructure/infrastructure-overview.md#oracle-worker).

### Oracle Worker

> Deployed :computer: `offchain`

This [offchain worker](/usc/usc-v1/dapp-builder-infrastructure/offchain-oracle-workers.md) follows events on a DApp's [source chain contract](#source-chain-smart-contract) and automatically submits queries to the Creditcoin oracle. The worker also detects when oracle query processing is complete and submits a [USC call](/usc/usc-v1/dapp-builder-infrastructure/universal-smart-contracts.md) to make use of oracle results. This reduces the number of transactions an end user has to sign from 3 to 1, greatly improving UX.

With these contracts and worker in place a transaction on a source chain can automatically trigger DApp logic on Creditcoin, allowing for entirely seamless interoperability!

## Next Steps

[Source Chain Smart Contracts](/usc/usc-v1/dapp-builder-infrastructure/source-chain-smart-contracts.md)

*Check out* [*this tutorial*](https://github.com/gluwa/ccnext-testnet-bridge-examples) *for an example of how to use the Creditcoin stack to set up a decentralized trustless bridge.*


---

# 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.creditcoin.org/usc/usc-v1/dapp-builder-infrastructure/infrastructure-overview.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.
