# What are Traits?

Traits are the building blocks of NFTs. Instead of considering NFTs as single, indivisible entities, traits represent the individual data objects that compose each NFT. This approach allows for a dynamic and modular system, offering unparalleled flexibility for creators and collectors.

#### What are Traits?

A trait is a tokenized data object that can move freely between NFTs, forming a composite of all the traits associated with it. This means that as new traits are added or removed, the 'whole NFT' is updated accordingly. Traits can represent various data objects, such as clothing, rewards, badges, identifiers, backgrounds, or accessories, creating unique and dynamic NFTs.

#### Benefits of Trait-based Architecture

A Trait-based architecture offers benefits beyond flexibility. It also enables greater transparency and accountability in the NFT world. By creating an unalterable record of every change to an NFT's metadata, the provenance and value of assets can be better determined. Moreover, the use of traits allows for granular addition or removal of traits to NFTs without relying on centralized servers or updating the base URI.

#### Code Snippet

Here's an example of a unique Background trait in JSON code:

```json
{
  "value": "Background 01",
  "trait_type": "Background",
  "render_order": "1",
  "image_url": "https://arweave.net/4bvRkfaClkLosqJsXylLeE1n2oabIg5k2gKVc6xLInQ"
}
```

Traits represent a fundamental shift in how we perceive NFTs. By treating NFTs as composites of individual, tokenized data objects, we can create a more dynamic, customizable, and transparent ecosystem for both creators and collectors.


---

# 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://docs.playground.ooo/degen-engine/concepts/what-are-traits.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.
