# Data

{% hint style="warning" %}
This part is a little bit more technical.\
Read [#tldr](#tldr "mention") if not interested.
{% endhint %}

\
Let's dive right in with a simple message for a newly deployed token (example):

<figure><img src="/files/kBFxwnamHgrUnP0wMpWj" alt="Screenshot of a message from the Contracts Tool" width="373"><figcaption></figcaption></figure>

## Header

Here you can find the classic info and hyperlinks to buy/sell the token:

* Token **name, symbol.**
* Token **contract.**
* **Deployer etherscan link, Deployer Transaction etherscan link.**
* Links for&#x20;
  * **DexScreener, DexTools, and DexView.**
* Links (referrals) to **buy/sell** the token via
  * **Maestro, Maestro Pro, Banana, Photon.**

## Proxy Of

<figure><img src="/files/KnqgEUcy9f5KGnYPQoNf" alt="" width="335"><figcaption></figcaption></figure>

If this part is present, it means that the deployed token is actually a **proxy of another contract.**

### What is a Proxy?

A **proxy contract** on an EVM blockchain is a smart contract that **forwards calls** to another contract, called the **implementation (or logic) contract**. It acts as a **middle layer** between users and the actual business logic (in our case a Token), allowing developers to **upgrade** or **replace** the implementation without changing the proxy’s address or stored data.

### Why Proxies are sometimes used

Imagine you deploy a **TokenProxy** contract that users interact with — it has the same functions as a normal ERC-20 token (`transfer`, `balanceOf`, etc.), but it doesn’t hold the logic itself. Instead, it **forwards every call** to an **implementation contract** called **TokenV1**.

If later you need to fix a bug or add features (like staking), you can deploy a new **TokenV2** contract and update the proxy to point to it.\
All token balances and addresses remain the same because the **proxy keeps the storage (all the data that make the Token smart contract work)**, while only the **logic** changes.

So users still interact with the **same token address**, but behind the scenes, the behavior can evolve over time.

<mark style="color:$info;">When a proxy is detected, the message report the data for the proxy implementation itself and not the original token contract.</mark>

## Values

For this section, the backend tries to **read values from the unverified smart contract.**

The returned values are reported raw in this section, and allow you to have a quick look at some of the smart contract's storage values.

It's very useful to glance at **max transaction sizes** for sniping, **max wallets**, **internal taxes thresholds** etc.

<mark style="color:$info;">Reminder: the values shown here are RAW, meaning they have not been formatted with the token's decimals.</mark>&#x20;

{% hint style="info" %}
If the total supply is **100000000000000000**, and the decimals are **9**, you need to subtract 9 zeros from the original value: **100000000**.
{% endhint %}

## Other

<figure><img src="/files/v2rkwLcZUCXlRRzaJR9V" alt="" width="237"><figcaption></figcaption></figure>

All the **signatures names and function selectors** that have been been successfully extracted from the smart contract.\
Most of the times these functions are standard and safe, but sometimes, you might spot some weird name or some weird blacklist function that shouldn't be there.\ <mark style="color:$success;">Once again, another way to filter through good contracts and bad ones.</mark>

### Security Evaluation

Each method has prefix an emoji that represents a **best effort approach at determining its safety.**\
This isn’t always precise and should be viewed as an estimate, but it does give a good idea on what to look for when the contracts gets verified on Etherscan and you then can finally take a peek at the code.\
This evaluation is based on historical data from contracts that have been safe for a long time and have not turned out to be rugs.

#### Security Levels

* 🟢 : Generally **safe**.
* 🟡 : Generally **safe**.
* 🟠 : **Medium level of risk**, but not catastrophic. Requires double checking of the source code.
* 🔴 : **Most suspicious of all**. \
  Requires **checking** of the source code to see what the function **reads, writes and does**. If you are interested in sniping this token, and the function is critical for buying and selling inner workings, I would personally refrain from buying before having manually checked.

## Unknown

<figure><img src="/files/XOJf5vqcugUA5TnYgFTx" alt=""><figcaption></figcaption></figure>

These are the function selectors for which a name couldn't be processed.\
These tend to be a little suspicious because they might do something **unintended or malicious** in the code.\
If the number of these is a lot (>5), it might also be a good indicator that a specific smart contract is implementing some new technology or algorithm that we haven't seen before (think about the first time taxes on a token - SafeMoon - were implemented).

## Checksum

<figure><img src="/files/OdwWfAi18r1OSKoT3jxN" alt="" width="212"><figcaption></figcaption></figure>

Proprietary to this tool, the checksum is an **unique string** (similar to a function signature) that represents the smart contract based on its function selectors and allows you to check for similar contracts in the messages.\
Just tap on it and Telegram will **search for contracts with the same checkum** in the chat.\
A number of the amount of contracts that share the same checksum is also displayed.

## TLDR

**Message layout:**

* **Links at the top, also for buying and selling**  [#header](#header "mention")
* **Proxy Contract**  [#proxy-of](#proxy-of "mention")
* **Extracted values for the token**  [#values](#values "mention")
* **Extracted functions' signatures and names**  [#other](#other "mention")\
  **Greener = better.**\
  **Red = check the code once verified**  [#security-levels](#security-levels "mention")
* **Unknown functions**  [#unknown](#unknown "mention")\
  **Less = better.** \
  **A lot = possible new tech.**
* **Checksum for quick lookup of similar contracts**  [#checksum](#checksum "mention")


---

# 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://cerbero-tools.gitbook.io/home/tools/eth-suite/contracts/data.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.
