> For the complete documentation index, see [llms.txt](https://docs.ecdao.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ecdao.org/auditing/shield/transaction-auditing.md).

# Transaction Auditing

### How Does it Work?

Emerald City hosts a [FLIX ](https://forum.onflow.org/t/blockchain-first-human-readable-messages-for-your-transactions/3646)instance. In short, FLIX is a place to store audited transactions. Anyone can host their own FLIX instance. When a transaction gets run, wallets can query into FLIX instances they trust and display associated audits.

Fortunately, [Emerald City's FLIX instance](https://github.com/emerald-dao/shield) is a *peer* of Flow, meaning any transactions hosted by Flow are automatically hosted by Emerald City, and vice versa. *Note this doesn't necessarily mean the other has audited them, rather they will simply be discoverable from either's endpoint.*

### Shield's API

#### Get Template by ID

With the API you can query Interaction Template by their ID:

```
GET /v1/templates/${template_id}
  => InteractionTemplate
```

#### Get Template by Cadence Code

You can also query for Interaction Template by their cadence body:

```
POST /v1/templates/search
  body (JSON): {
    cadence_base64: "...",
    network: "..." (mainnet | testnet)
  }
  => InteractionTemplate
```

#### Get Template by Name

Interaction Template can be hosted under a static identifer (name), allowing the underlying Interaction Template to change while the way to query for it remained constant:

```
GET /v1/templates?name=transfer-flow
  => InteractionTemplate
```

#### Get Auditor

You can query for known Auditor information for a given network:

```
GET /v1/auditors?network=(mainnet | testnet)
  => [FlowInteractionTemplateAuditor]

  // Flow Interaction Template Auditor
  // {
  //   f_type: "FlowInteractionTemplateAuditor"
  //   f_version: "1.0.0"
  //   address: string
  //   name: string
  //   website_url?: string
  //   twitter_url?: string
  // }
```

#### Endpoint

Emerald City's FLIX service is available at:

```
https://flix.ecdao.org

eg: GET https://flix.ecdao.org/v1/templates?name=transfer-flow
eg: GET https://flix.ecdao.org/v1/templates/${template_id}
eg: POST https://flix.ecdao.org/v1/templates/search
    body (JSON): {
      cadence_base64: "...",
      network: "..." (mainnet | testnet)
    }
```

### Example End Result

![](/files/uiWc934eUoSQyktu1UB0)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.ecdao.org/auditing/shield/transaction-auditing.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
