# 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

![](https://2734617986-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FogaTXzUJbd9ErdHY45Ri%2Fuploads%2F8fMpbvnrWJfGWR074GxG%2Fimage.png?alt=media\&token=a0fb8ae5-286e-405c-9827-8f12dd2abb94)
