> For the complete documentation index, see [llms.txt](https://docs.creditcoin.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.creditcoin.org/usc/usc-v1/dapp-builder-infrastructure/infrastructure-overview.md).

# 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.*
