# Rarities & Randomness

Each Dragobit trait has 100 types: 100 atmospheres, 100 platforms, and 100 species (which may increase in future [deployments](/game/deployments.md)). With the exception of activated [rarity auras](/game/auras.md), all traits share the same rarity. However, since each Dragobit is a unique combination of these traits, it is unlikely to achieve a perfect match of the same atmosphere, platform, and species.

<figure><img src="/files/tRMib5koqZftW5CzyDNF" alt="" width="340"><figcaption><p>Perfect Alien Dragobit</p></figcaption></figure>

In Dragobits Stage 0 and its predecessors, randomness is actually pseudo-randomness, meaning it relies on values that could potentially be influenced by chain operators. On Ethereum L2 chains, this particularly refers to the sequencer. For example, on Base, the sequencer - currently centralized and operated by Coinbase - would need to intervene to manipulate the pseudo-randomness. It is generally assumed that such manipulation is unlikely.

In future versions, the goal is to work with a fully decentralized source of randomness. Several solutions are possible, including:

* Committing to a future value of [Ethereum’s L1 RANDAO](https://ethereum.org/en/developers/docs/consensus-mechanisms/pos/block-proposal/).
* Using an oracle like [Chainlink VRF](https://docs.chain.link/vrf).
* Implementing a verifiable delay function ([VDF](https://vitalik.eth.limo/general/2024/10/29/futures6.html#4)).
* Employing a [zero-knowledge-based](https://zkvrf.com/) source of randomness.


---

# 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.dragobits.com/getting-started/rarities-and-randomness.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.
