# Audit Layer

**Truebit Verify uses a blockchain-backed Audit Layer to underpin its security model and enforce its core protocols**. The Audit Layer performs several key functions:

## **Node Registry Smart Contract**

**NodeRegistry Address:** `0x1e1802b2807FfE7fF22dCa24E8ff7d30a3a8150c`

Node Registration is set up on the blockchain. **It maintains a transparent list of all active Truebit Verify Nodes.** Registered nodes can participate in the computation of a task solution if selected.

When a node is registered on the Node Registration Ledger, its unique Ethereum (ETH) address is added to the NodeRegistry smart contract's storage; similarly before the shutdown, it needs to de-register to ensure a graceful shutdown.

The NodeRegistry is an EVM-compatible smart contract and it manages the list of active nodes within the Node Registration Ledger. Each position on the list contains one registered Node Address.

## Task Registry Smart Contract

**TaskRegistry Address:** `0x6825142A0e85dDB3cBf872a26eE2beefaedbc465`

Task Registration is set up on the blockchain. **It keeps a clear list of all registered and verifiable** **tasks.** Once registered, tasks can be executed directly using the Truebit API's execute endpoint.

The TaskRegistry is an EVM-compatible smart contract that includes all necessary methods for managing namespaces and tasks, allowing anyone to register their deployed tasks.

## Task Authorization Smart Contract

**TaskAuthorization Address:** `0x6da8eE7DF16BD92eb71F314f4b701C6c5b0b2721`

Task Authorization is set up on the blockchain, **maintaining a clear list of all authorized addresses that can execute tasks within a namespace**. It also keeps a list of registered API\_KEY hashes, allowing other users to execute tasks while making the user who registered the API\_KEY responsible for the task execution payment.

The TaskRegistry is an EVM-compatible smart contract that includes all necessary methods for managing accesses over a namespace.


---

# 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://devs.truebit.io/architecture/audit-layer.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.
