# Fully On-Chain Architecture

So you might be asking yourself, why is Crappy special?

Well, I’m afraid once we start answering this question we might not run out of reasons at all. I’d like to emphasize some of the more technical aspects here. The whole ecosystem was designed by a gaming studio having user experience as the main priority. The design of UI, the sound effects, the visual identity: there’s a reason behind everything.&#x20;

And we’re just getting started. One of the priorities that we had was to build a transparent game. We pride ourselves with being the first fully on-chain crash game, we have no backend and the way you interact with our game is by using our frontend client which makes calls to several smart contracts we deployed for the game. We use 6 solidity smart contracts which anyone can inspect should they want in order to understand and see how the game works for themselves:<br>

{% stepper %}
{% step %}

### The Crappy Achievements contract

{% hint style="info" %}
Tracks in-game achievements.
{% endhint %}

▶︎ 0x8e746E48641E8F9A7713C3c06E526dbe20590Dd2
{% endstep %}

{% step %}

### The Crappy Skins contract

{% hint style="info" %}
Manages skin purchases and claims.
{% endhint %}

▶︎ 0xe32E56d8B6dFDa37Fdf32AA3946744CD3049b9a4
{% endstep %}

{% step %}

### The Crappy Cousins contract

{% hint style="info" %}
Deals with all of Crappy’s Cousins in the game, from activating them to upgrading them so that you can collect Crap Tokens (Crapps).
{% endhint %}

▶︎ 0x200dBEC90D7034D708D952f1C9D60eb1A6ce4E3f
{% endstep %}

{% step %}

### The Crapps Token contract

{% hint style="info" %}
Keeps track and updates you balance of in-game currency that you can use to upgrade your cousins and purchase different skins.
{% endhint %}

▶︎ 0x3d6127B92871136C345AC0918a61AB5a253D760F
{% endstep %}

{% step %}

### The Crappy Bird game contract

{% hint style="info" %}
Does everything else, from calculating the multiplier to making the payouts to winning users every round.
{% endhint %}

▶︎ 0x3dD283c4731AB60cb7D3e0be55ff0318B0F1099C
{% endstep %}

{% step %}

### The Crappy Bird token contract

{% hint style="info" %}
Allows you to trade the token itself.
{% endhint %}

▶︎ 0xc8e51Fefd7D595C217C7ab641513FAA4Ad522b26
{% endstep %}
{% endstepper %}

\
Another key feature of Crappy Bird is that it is provably fair, meaning we can’t just change the multiplier after it is calculated, so the result will not change no matter who and how much is winning. You can see the formula according to which the multiplier is calculated in the Crappy Bird game contract. After the betting round ends, we calculate the multiplier and hash it so that you can verify for yourself each particular hash maps to the calculated multiplier.

<br>


---

# 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://crappy-bird.gitbook.io/crappy-bird/bullish-features/fully-on-chain-architecture.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.
