# Record Schema

## `TRACE Authentication`

This event is emitted upon mint or creator token transfer and indicates the on-chain authentication to TRACE chips. This is typically auto-emitted by the TRACE contract

```markdown
{
  "trace": {
    "type": "trace_authentication"
  }
}
```

## `Creation`

This event SHOULD only be emitted once and indicates when the physical piece was created. Allows for backdating.

```markdown
{
  "trace": {
    "type": "creation",
    "timestamp": int
  }
}
```

## `Freeform`

Freeform data, typically restricted to the creator.

```markdown
{
  "trace": {
    "type": "freeform"
  }
}
<FREEFORM MARKDOWN DATA>
```

## `Media`

Media to meant to be displayed in a carousel

```markdown
{
  "trace": {
    "type": "media",
    "mime_type": "str",
    "uri": "str"
  }
}
```

## `Sale`

An event indicating a sale

```markdown
{
  "trace": {
    "type": "sale",
    "sold_from": "str",
    "sold_to": "str",
    "sale_type": "str",
    "sold_at": "str",
    "value": "str",
    "timestamp": int,
    "uri": "str"
  }
}
```

## `Trade`

An event indicating a trade

```markdown
{
  "trace": {
    "type": "trade",
    "traded_from": "str",
    "traded_to": "str",
    "timestamp": int
  }
}
```

## Transfer

An event indidicating a generic transfer

```
{
  "trace": {
    "type": "transfer",
    "transfer_from": "str",
    "transfer_to": "str",
    "timestamp": int
  }
}
```

## `Exhibition`

An event indicating an exhibition

```markdown
{
  "trace": {
    "type": "exhibition",
    "timestamp": int,
    "end_timestamp": int,
    "exhibitor": "str",
    "location": "str",
    "uri": "str"
  }
}
```

## `Alteration`

An event indicating an alteration took place

```markdown
{
  "trace": {
    "type": "alteration",
    "timestamp": int
  }
}
<Freeform markdown summarizing alteration>
```

## `LEGAL`

An event indicating that legal copy was attached

```markdown
{
  "trace": {
    "type": "legal"
  }
}
<Freeform markdown for legal purposes>
```

## `Appraisal`

An event indicating that an appraisal took place

```markdown
{
  "trace": {
    "type": "appraisal",
    "appraiser": "str",
    "value": "str",
    "timestamp": int
  }
}
<Freeform markdown for appraisal, which can include links>
```

## `Third Party Authentication`

An event indicating that a 3rd party authenticated the physical asset/artwork

```markdown
{
  "trace": {
    "type": "third_party_authentication",
    "timestamp": int
  }
}
<Freeform markdown describing authentication, which can be used for history of a piece and more>
```
