# Cyberscope, a TAC Security Company

Leading Blockchain Security

## Audit

Cyberscope, a TAC Security Company is one of the leading and recognized audit authorities in the crypto space. Its audits are recognized from launchpads like PinkSale, Unicrypt, and DxSale and can earn a badge for your project.

The audit service guarantees to build trust and recognition for your project. It will improve your smart contract security and be the primary building block for all your marketing efforts.

## KYC

KYC is the process of identity verification of project teams. Cyberscope does extensive checks and verifies the identity of the project team members.

✓Verify 2 or more of your team members\
✓State-of-the-art validation algorithms\
✓Data confidentiality


# Overview

Here you'll find everything you need to understand how we protect and support Web3 projects.

Cyberscan AI is a leading blockchain security platform offering end-to-end solutions — from smart contract audits to real-time threat monitoring.

Explore our features to see how we help you stay secure, compliant, and ready to scale. This documentation will guide you through our tools, services, and how to integrate them into your workflow.

#### Jump right in

<table data-view="cards"><thead><tr><th></th><th></th><th></th></tr></thead><tbody><tr><td><h4><i class="fa-bolt">:bolt:</i></h4></td><td><a href="/pages/OpnHSNV9dSc8xMD5WLLo"><strong>Quickstart</strong></a></td><td>Create Your Account</td></tr><tr><td><h4><i class="fa-leaf">:leaf:</i></h4></td><td><a href="/pages/nHcainYzXPHC6cW8T1ab"><strong>Explore the Cyberscan AI</strong></a></td><td>Detect risks with smart automation</td></tr><tr><td><h4><i class="fa-globe-pointer">:globe-pointer:</i></h4></td><td><a href="/pages/KDVUsFdgNxdA1XKbYsNB"><strong>Scan Contract</strong></a></td><td>Get a quick look at scan contract</td></tr></tbody></table>


# Quickstart

Create your Cyberscan AI account to get started

First, navigate to the signup page and fill in all the required details to create your account.

After completing registration, you will receive a verification email. Enter the verification code provided in the email into the form and submit it. Once your account is verified, you will be automatically redirected to the dashboard, where you can begin using the platform.

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

### Import

Cyberscan AI supports importing content from many popular writing tools and formats. If your content already exists, you can upload a file or group of files to be imported.

### Sync a repository

Cyberscan AI also provides seamless integration with GitHub and GitLab. This allows your team to connect repositories, manage authentication, and keep your security workflows and project data in sync across platforms.


# Explore the Cyberscan AI

Once you’ve completed registration and verified your account, you’ll be redirected to the **Cyberscan AI** dashboard. From here, you can begin analyzing smart contracts using multiple input methods, including contract URLs, token addresses, manual upload of Solidity (.sol) files, or directly importing code from GitHub and GitLab repositories.

**Cyberscan AI** processes these inputs to perform automated security analysis, helping you identify vulnerabilities and ensure your smart contracts are secure and production-ready.<br>

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

### Sidebar Navigation

The sidebar includes options such as Dashboard and Apps. Within the Apps section, users can access various contract scanning tools categorized by type, including Cyberscan, Safescan, Similarityscan, and Signaturescan.


# Scan Contracts

Contract Scanning Overview

### Cyberscan AI – Contract Scanning Overview

On the Cyberscan AI page, users can scan blockchain contracts by entering a contract URL or token address in the input field. If the provided token or contract is invalid, the system will display an error message. If the validation is successful, users are redirected to the project details page where all detected vulnerabilities are shown.

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

### **Steps to Scan a Contract on** Cyberscan AI

{% stepper %}
{% step %}

#### **Go to the** Cyberscan AI **page from the dashboard or Home Page.**

{% endstep %}

{% step %}

#### In the input box, enter your contract using one of the following methods:

* Contract URL
* Token address
* Upload a Solidity (.sol) file
* Import from **GitHub** repository
* Import from **GitLab** repository
  {% endstep %}

{% step %}

### **Click Scan to start the validation process.**

{% endstep %}

{% step %}

### The system will check and validate the contract.

If the input is invalid, an error message will be shown
{% endstep %}

{% step %}

### **Contract Details page.**

If validation is successful, you will be redirected to the Contract Details page.
{% endstep %}

{% step %}

### Analysis vulnerabilities

View the full analysis including vulnerabilities, security score, and detailed findings.
{% endstep %}

{% step %}

### **AI chat feature**

Use the **AI chat feature** to explore issues and get suggestions for fixing vulnerabilities.
{% endstep %}
{% endstepper %}


# Github & Gitlab Integration

Github & Gitlab Integration

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

When you click on **Connect Projects**, select the **Connect** button. A popup will appear, allowing you to add links to your public repositories. For **private** repositories, only GitHub integration is supported.<br>

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

\
When you provide a **GitHub & GitLab** repository link, the system automatically verifies whether the repository is public or private.

<figure><img src="/files/9Ut8l7Jgo8hzVlIFPSxB" alt=""><figcaption></figcaption></figure>

In the next step, you can select either a contract file or a ZIP file. If a ZIP file is uploaded, the system checks whether it contains a .sol file. If no .sol file is found, only the relevant .sol files should be uploaded, and other file types will be ignored.

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

For Github private repositories, the system automatically detects their status and displays a Connect button. When the user clicks this button, they are redirected to the GitHub page for authentication.

On the GitHub page, you can choose which repositories to grant access to the authorized application. All required permissions are displayed in the popup, allowing you to review and select the repositories you want to connect

You can view the connected private GitHub repositories in the popup displayed below the CyberScan AI page, under the “Connect Your Projects” section.


# Upload Contract Files

upload contracts files -

On the **Cyberscan AI page**, users can upload a contract file by clicking the **plus (+) icon** in the input box. This action opens a pop-up window where the file can be selected and submitted for analysis. Once the file is successfully validated and processed, users are redirected to the details page, where they can review all identified vulnerabilities and analysis results.

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

{% hint style="info" %}
If your project contains multiple files, you can upload them as a <mark style="color:$warning;">ZIP archive</mark>. The system will automatically validate the contents and check whether <mark style="color:$primary;">Solidity (.sol)</mark> files are included.
{% endhint %}

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


# CyberScan - Score API

Retrieve Contract Score of an address.

<mark style="color:green;">`GET`</mark> `https://app.cyberscope.io/api/score`

This endpoint returns the security score for a given blockchain address. To access this API, you must provide the blockchain **address** and **network** as query parameters, and include your **x-api-key** in the request headers and [`supported chains`](https://docs.cyberscope.io/cyberscan-ai/supported-chains)

Example:\
`https://app.cyberscope.io/api/score?address=0xB8c77482e45F1F44dE1745F52C74426C631bDD52&network=ETH`

#### Headers Params

| Name                                        | Type   | Description                                                             |
| ------------------------------------------- | ------ | ----------------------------------------------------------------------- |
| x-api-key<mark style="color:red;">\*</mark> | String | Include the API key in the header of your API requests to authenticate. |

#### Query Params

| Name                                      | Type   | Description                                                                                   |
| ----------------------------------------- | ------ | --------------------------------------------------------------------------------------------- |
| address<mark style="color:red;">\*</mark> | String | <p><code>address</code> <br>The blockchain wallet address for which the request is made</p>   |
| network<mark style="color:red;">\*</mark> | String | The blockchain network associated with the provided address `(e.g. ETH, BNB,POL ,ARB, BASE).` |

### **Request Examples**

{% tabs %}
{% tab title="cURL" %}

```shellscript
curl --location 'https://app.cyberscope.io/api/score?address=0xB8c77482e45F1F44dE1745F52C74426C631bDD52&network=ETH' \
--header 'x-api-key: <your-api-key>'
```

{% endtab %}

{% tab title="Node.js (Axios)" %}

```js
const axios = require('axios');

let config = {
  method: 'get',
  maxBodyLength: Infinity,
  url: 'https://app.cyberscope.io/api/score?address=0xB8c77482e45F1F44dE1745F52C74426C631bDD52&network=ETH',
  headers: { 
    'x-api-key': '<your-api-key>'
  }
};

axios.request(config)
.then((response) => {
  console.log(JSON.stringify(response.data));
})
.catch((error) => {
  console.log(error);
});

```

{% endtab %}

{% tab title="Python (requests)" %}

```python
import requests

url = "https://app.cyberscope.io/api/score?address=0xB8c77482e45F1F44dE1745F52C74426C631bDD52&network=ETH"

payload = {}
headers = {
  'x-api-key': '<your-api-key>'
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)

```

{% endtab %}

{% tab title="Java (Java 11+ HttpClient)" %}

```java
OkHttpClient client = new OkHttpClient().newBuilder()
  .build();
MediaType mediaType = MediaType.parse("text/plain");
RequestBody body = RequestBody.create(mediaType, "");
Request request = new Request.Builder()
  .url("https://app.cyberscope.io/api/score?address=0xB8c77482e45F1F44dE1745F52C74426C631bDD52&network=ETH")
  .method("GET", body)
  .addHeader("x-api-key", "<your-api-key>")
  .build();
Response response = client.newCall(request).execute();
```

{% endtab %}
{% endtabs %}

### **Response**

{% tabs %}
{% tab title="200" %}

```json
{
    "success": true,
    "message": "Score fetched successfully",
    "score": 82
}
```

{% endtab %}

{% tab title="400" %}

```json
{
    "success": true,
    "message": "Bad Request",
    "score": null
}
```

{% endtab %}

{% tab title="401" %}

```json
{
  "success": false,
  "message": "Invalid API key or API key not found"
}
```

{% endtab %}
{% endtabs %}

### **Steps to Create a API Key**

{% stepper %}
{% step %}

#### **Log in** to the Dashboard. If you don't have an account, **sign up** to create one.

<figure><img src="/files/AWpNmEdQZvNGoDASIzIP" alt="" width="563"><figcaption></figcaption></figure>
{% endstep %}

{% step %}

#### From the sidebar, navigate to API Key Generation.

<figure><img src="/files/0p6R5wvdwReF7m0Aeck3" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

#### Click Create API Key to generate a new API key.

{% endstep %}

{% step %}

#### Copy the generated API key and use the API key to authenticate and test the Out Score API.

<figure><img src="/files/KWsJm1QLsmByCDsiN8k1" alt=""><figcaption></figcaption></figure>
{% endstep %}
{% endstepper %}


# Supported Chains

<table data-search="false"><thead><tr><th width="188">Chain Name</th><th width="404">Chain Symbol</th><th width="584">Chain ID</th></tr></thead><tbody><tr><td>Ethereum</td><td>ETH</td><td>1</td></tr><tr><td>Ethereum</td><td>SEPOLIA</td><td>11155111</td></tr><tr><td>Ethereum</td><td>HOODI</td><td>560048</td></tr><tr><td>BNB Chain</td><td>BSC</td><td>56</td></tr><tr><td>BNB Chain</td><td>BSC_TESTNET</td><td>97</td></tr><tr><td>Polygon</td><td>MATIC</td><td>137</td></tr><tr><td>Polygon</td><td>AMOY_TESTNET</td><td>80002</td></tr><tr><td>Base</td><td>BASE</td><td>8453</td></tr><tr><td>Base</td><td>BASE_SEPOLIA</td><td>84532</td></tr><tr><td>Arbitrum</td><td>ARBITRUM</td><td>42161</td></tr><tr><td>Arbitrum</td><td>ARBITRUM_SEPOLIA</td><td>421614</td></tr><tr><td>Linea</td><td>LINEA</td><td>59144</td></tr><tr><td>Linea</td><td>LINEA_SEPOLIA</td><td>59141</td></tr><tr><td>Blast</td><td>BLAST</td><td>81457</td></tr><tr><td>Blast</td><td>BLAST_SEPOLIA</td><td>1.69E+08</td></tr><tr><td>Optimism</td><td>OPTIMISM</td><td>10</td></tr><tr><td>Optimism</td><td>OPTIMISM_SEPOLIA</td><td>11155420</td></tr><tr><td>Avalanche</td><td>AVAX</td><td>43114</td></tr><tr><td>Avalanche</td><td>AVAX_FUJI</td><td>43113</td></tr><tr><td>BitTorrent</td><td>BTTC</td><td>199</td></tr><tr><td>BitTorrent</td><td>BTTC_TEST</td><td>1029</td></tr><tr><td>Celo</td><td>CELO</td><td>42220</td></tr><tr><td>Celo</td><td>CELO_SEPOLIA</td><td>11142220</td></tr><tr><td>Frax</td><td>FRAX</td><td>252</td></tr><tr><td>Frax</td><td>FRAX_HOODI</td><td>2523</td></tr><tr><td>Gnosis</td><td>XDAI</td><td>100</td></tr><tr><td>Mantle</td><td>MANTLE</td><td>5000</td></tr><tr><td>Mantle</td><td>MANTLE_SEPOLIA</td><td>5003</td></tr><tr><td>Memecore</td><td>MEMECORE</td><td>4352</td></tr><tr><td>Memecore</td><td>MEMECORE_TESTNET</td><td>43521</td></tr><tr><td>Moonbeam</td><td>GLMR</td><td>1284</td></tr><tr><td>Moonbeam</td><td>MOVR</td><td>1285</td></tr><tr><td>Moonbeam</td><td>MOONBASE</td><td>1287</td></tr><tr><td>opBNB</td><td>OP_BNB</td><td>204</td></tr><tr><td>opBNB</td><td>OP_BNB_TESTNET</td><td>5611</td></tr><tr><td>Scroll</td><td>SCROLL</td><td>534352</td></tr><tr><td>Scroll</td><td>SCROLL_TESTNET</td><td>534351</td></tr><tr><td>Taiko</td><td>TAIKO</td><td>167000</td></tr><tr><td>Taiko</td><td>TAIKO_HOODI</td><td>167013</td></tr><tr><td>XDC</td><td>XDC</td><td>50</td></tr><tr><td>XDC</td><td>XDC_APOTHEM</td><td>51</td></tr><tr><td>ApeChain</td><td>APE</td><td>33139</td></tr><tr><td>ApeChain</td><td>APE_TESTNET</td><td>33111</td></tr><tr><td>World Chain</td><td>WORLD</td><td>480</td></tr><tr><td>World Chain</td><td>WORLD_SEPOLIA</td><td>4801</td></tr><tr><td>Sonic</td><td>SONIC</td><td>146</td></tr><tr><td>Sonic</td><td>SONIC_TESTNET</td><td>14601</td></tr><tr><td>Unichain</td><td>UNI</td><td>130</td></tr><tr><td>Unichain</td><td>UNI_TESTNET</td><td>1301</td></tr><tr><td>Abstract</td><td>ABS</td><td>2741</td></tr><tr><td>Abstract</td><td>ABS_SEPOLIA</td><td>11124</td></tr><tr><td>Berachain</td><td>BERA</td><td>80094</td></tr><tr><td>Berachain</td><td>BERA_TESTNET</td><td>80069</td></tr><tr><td>Swell</td><td>SWELL</td><td>1923</td></tr><tr><td>Swell</td><td>SWELL_TESTNET</td><td>1924</td></tr><tr><td>Monad</td><td>MONAD</td><td>143</td></tr><tr><td>Monad</td><td>MONAD_TESTNET</td><td>10143</td></tr><tr><td>Hyperliquid</td><td>HYPER_EVM</td><td>999</td></tr><tr><td>Katana</td><td>KATANA</td><td>747474</td></tr><tr><td>Katana</td><td>KATANA_BOKUTO</td><td>737373</td></tr><tr><td>Sei</td><td>SEI</td><td>1329</td></tr><tr><td>Sei</td><td>SEI_TESTNET</td><td>1328</td></tr><tr><td>Stable</td><td>STABLE</td><td>988</td></tr><tr><td>Stable</td><td>STABLE_TESTNET</td><td>2201</td></tr><tr><td>Plasma</td><td>PLASMA</td><td>9745</td></tr><tr><td>Plasma</td><td>PLASMA_TESTNET</td><td>9746</td></tr><tr><td>MegaETH</td><td>MEGAETH</td><td>4326</td></tr><tr><td>MegaETH</td><td>MEGAETH_TEST</td><td>6342</td></tr></tbody></table>


# KYC

Know Your Customer

<figure><img src="/files/SyfcsslPIx7CuCgmcxVk" alt=""><figcaption><p>Cyberscope's KYC Certificate</p></figcaption></figure>

Our KYC process is designed to provide thorough verification of project teams, ensuring legitimacy and transparency. Here's what you need to know:

### **What is the Cyberscope KYC Service**

Our KYC service involves a comprehensive verification process for project teams and individuals involved in blockchain projects. We aim to prevent fraud, enhance transparency, and promote ethical practices within the crypto space.

### **How Our KYC Process Works**

1. **Team Verification:** We verify the identities of project team members through official documents and identity checks.
2. **Background Checks:** Our process includes background checks to ensure that team members have a clean track record.
3. **Risk Assessment:** We assess potential risks associated with team members, to make sure that there is limited risk for potential investors.

### **Benefits for Project Owners**

By utilizing our KYC service, project owners can:

* **Boost Credibility:** Display the Cyberscope KYC Verified Badge, showing that your team has undergone a thorough verification process.
* **Attract Investors:** Investors value projects that prioritize transparency and legitimacy, making your project more appealing.
* **Ensure Compliance:** Align with regulatory standards by conducting proper due diligence on team members.

### **Benefits for Investors**

Investors benefit from the Cyberscope KYC Service by:

* **Reducing Risks:** Invest in projects with verified team members, reducing the likelihood of scams and fraudulent activities.
* **Ensuring Transparency:** Support projects that prioritize transparency and ethical practices, contributing to a healthier crypto ecosystem.

At Cyberscope, we're committed to elevating the standards of integrity and security in the crypto industry. Our KYC service is a critical step toward building a trustworthy and transparent blockchain environment.

### Contact for KYC

Please contact [@raf\_cyberscope](https://t.me/raf_cyberscope) to apply to get KYC with us or for any further information you may need.

### Do you want to report a Scam Incident?

Please be so kind as to fill out this [form ](https://forms.gle/q1Wof4EnhGwPJZhX8)in order to help us investigate the incident.

### Disclaimer

A project receiving the KYC badge does not mean in any way that we approve or recommend that project. Please always DYOR before investing.


# Audit

Leading blockchain audit authority

<figure><img src="/files/MDEi41VfhdBksjlRBx6d" alt=""><figcaption><p>Cyberscope's Audit Certificate</p></figcaption></figure>

Our audit process is designed to provide comprehensive insights into the security and reliability of blockchain projects. Here's what you need to know:

### **What is the Cyberscope Audit Service**

Our audit service is a thorough examination of blockchain projects to identify vulnerabilities, assess risks, and ensure overall security. We combine advanced technology with expert analysis to deliver accurate and actionable results.

### **How We Conduct Audits**

1. **Automated Analysis:** We perform automated contract analysis, for potential vulnerabilities and weak points in the code.
2. **Human Expertise:** Our cybersecurity experts conduct manual reviews to further evaluate the project's security posture, identifying vulnerabilities that automated tools might miss.
3. **Risk Assessment:** We perform a comprehensive risk analysis to provide project owners and investors with a clear understanding of potential security issues, found within the smart contract's code.

### **Benefits for Project Owners**

By choosing our audit service, project owners can:

* **Enhance Trust:** Display the Cyberscope Audit Badge on your project, showcasing your commitment to security and transparency.
* **Attract Investors:** A successful audit can attract more investors who value security and due diligence.
* **Build Reputation:** Stand out in the competitive crypto landscape by demonstrating your dedication to a secure environment.

### **Benefits for Investors**

Investors can confidently engage with projects audited by Cyberscope, as they:

* **Mitigate Risks:** Audits reduce the likelihood of investing in projects with vulnerabilities or potential security breaches.
* **Verify Claims:** Ensure that projects align with their stated security measures and commitments.
* **Support Transparency:** Invest in projects that prioritize transparency and security, fostering a safer ecosystem.

At Cyberscope, we're committed to making Web 3.0 a safer space for everyone involved. Our audit service plays a pivotal role in creating a secure environment for projects and investors alike.&#x20;

Choose Cyberscope, and let's build a resilient and secure crypto future together.

### Contact for Audit

Please contact [@raf\_cyberscope](https://t.me/raf_cyberscope) to get an Audit with us or for any further information you may need.

### Disclaimer

We can’t tell the future and know in which way a project will use the admin functions of the smart contract. We will only audit the smart contract and flag the threats for investors to read. An audit is an aggressive form of code review and not a project review, so always do your own research before investing in a project.​


# Audit Voucher

Elevate your project's security by utilizing our audit voucher

As part of our commitment to fostering a secure blockchain ecosystem, we're thrilled to offer Cyberscope Audit Voucher. This voucher grants you discounted access to our renowned audit services, ensuring your project meets the highest standards of security and transparency.<br>

<figure><img src="/files/yYZGt6BROOnkhnH1cl7N" alt=""><figcaption><p>Cyberscope's Audit Voucher</p></figcaption></figure>

### **Who Qualifies for the Audit Voucher**

Our audit vouchers are extended to a select group of projects that meet specific criteria, including:

* **Polygon Village Projects:** We're proud to support the Polygon ecosystem by offering audit vouchers to qualifying projects within the Polygon Village.
* **Hackathon Participants/Winners:** As a token of our appreciation, participants and winners of recognized hackathons are eligible for audit vouchers.
* **Selected Partnerships:** We extend audit vouchers to projects that partner with us to enhance security and innovation in the crypto space.

### **What Does the Audit Voucher Cover**

The Cyberscope Audit Voucher provides you with a comprehensive audit of your project's security and code quality. Our experts will review your project to identify vulnerabilities, ensure compliance, and recommend best practices for a robust solution.

At Cyberscope, we believe in empowering projects with the tools they need to thrive in a secure environment. Your audit voucher is a testament to our commitment to your project's success. Choose Cyberscope to elevate your security and build a safer blockchain future.

### **Voucher Amount and Terms**

The value of the audit voucher and the associated terms may vary based on the specific program or partnership. For detailed information about the voucher amount and terms, please refer to this pdf

{% file src="/files/UWTkGWtUo5mvfV0KtGGB" %}

### **How to Redeem Your Voucher**

Please contact [@raf\_cyberscope](https://t.me/raf_cyberscope) to get a quote for your project's smart contract audit, redeem the voucher, or for any further information you may need.


# Redeem Audit Credits

Audit Credits represent redeemable coupons that you can trade in for discounted Audits

### How To Use <a href="#how-to-use" id="how-to-use"></a>

For any queries, DM @aggelos\_cyberscope on Telegram or email to <info@cyberscope.io>​

### Highlight <a href="#highlight" id="highlight"></a>

With this exclusive voucher, you are entitled to receive a discount on your Smart Contract Audit. Enhance the security and reliability of your projects while enjoying substantial savings through this offer. We support Solidity, Rust, and development Audit.&#x20;

The leading Blockchain Security company.

✔️ Reputable Security Company recognized by platforms and organizations

✔️ Affordable prices and fast delivery times

✔️ Work with professionals and industry leaders devs and auditors

✔️ Premium networking opportunities through our wide partner list

### Terms and Conditions <a href="#terms-and-conditions" id="terms-and-conditions"></a>

These Audit Vouchers, herein referred to as "Vouchers," are redeemable coupons issued by Cyberscope to conduct security audits.

* Redemption Value:

Each Audit Voucher has a predetermined redemption value, denoted in USDT. This value represents a credit applicable towards the total cost of a smart contract audit conducted by Cyberscope

* Reduction in Audit Cost:

The redemption of an Audit Voucher results in a proportional reduction in the overall audit cost. For example, if the standard audit fee is $1,500 and the Audit Voucher is valued at $1,000, the client is required to pay only $500 after applying the voucher.

* Validity Period:

Audit Vouchers are valid for 3 months. Clients must redeem the vouchers within this timeframe to avail themselves of the associated benefits.

* Single Use:

Each Audit Voucher is designed for a single-use case. Once redeemed for a specific project, the voucher cannot be reused for any subsequent audits.

* No Cash Value:

Audit Vouchers hold no cash value and cannot be exchanged for monetary compensation. They are exclusively intended for reducing the cost of smart contract audits conducted by Cyberscope.

* Minimum Fee:

Audit Vouchers can't reduce the total price for less than $500


# CEX Audit

Ensure the security, transparency, and integrity of your exchange platform.

Our CEX audit service is designed to identify vulnerabilities and best practices in order to foster a secure trading environment for users. Here's what you need to know:

### **What is Cyberscope CEX Audit**

Our CEX audit service involves a comprehensive assessment of your centralized exchange platform to uncover potential security weaknesses, operational risks, and compliance gaps. We provide actionable insights to enhance the overall security posture of your exchange.

### **How Our CEX Audit Works**

1. **In-Depth Analysis:** We conduct a thorough review of your exchange's architecture, systems, and protocols to identify vulnerabilities.
2. **Risk Assessment:** Our experts assess potential operational and compliance risks that might impact your exchange's functionality and reputation.
3. **Comprehensive Reporting:** You'll receive detailed reports outlining vulnerabilities, risks, and recommended steps to address them.

### **Benefits for Exchange Owners**

By selecting our CEX audit service, exchange owners can:

* **Ensure User Trust:** Demonstrate your commitment to security, assuring users that their funds and data are protected.
* **Mitigate Risks:** Identify vulnerabilities before they are exploited by malicious actors, minimizing potential breaches.
* **Enhance Reputation:** Uphold a positive reputation in the market by prioritizing security and compliance.

At Cyberscope, we understand the critical role centralized exchanges play in the crypto ecosystem. Our CEX audit service aims to bolster the security of these platforms, creating a safer and more trustworthy trading environment for all participants. Choose Cyberscope to elevate the standards of security on your exchange.

### Contact us for a quote

Please contact [@raf\_cyberscope](https://t.me/raf_cyberscope) to get a quote for your CEX audit or for any further information, you may need.


# Penetration Testing

A crucial step in ensuring the utmost security for blockchain and cryptocurrency projects.

Our penetration testing service goes beyond code analysis, simulating real-world attacks to identify vulnerabilities. Here's what you need to know:

### **What is Penetration Testing at Cyberscope**

Penetration testing, often referred to as ethical hacking, involves simulating attacks on a project's systems to uncover potential vulnerabilities and weaknesses. Our experts use their skills to replicate the tactics of malicious hackers, providing actionable insights to safeguard your project's security.

### **How Our Penetration Testing Works**

1. **In-Depth Analysis:** Our skilled penetration testers thoroughly analyze your project's infrastructure, applications, and network configurations.
2. **Simulation of Attacks:** We employ a variety of techniques to simulate real-world attacks, identifying weak points that might be exploited by malicious actors.
3. **Comprehensive Reporting:** Our detailed reports provide you with a clear understanding of vulnerabilities, along with recommended strategies to mitigate risks.

### **Benefits for Project Owners**

By opting for our penetration testing service, project owners can:

* **Identify Hidden Weaknesses:** Discover vulnerabilities that may not be apparent through traditional security assessments.
* **Enhance Defenses:** Strengthen your project's security measures based on actionable insights from simulated attacks.
* **Proactive Approach:** Address vulnerabilities before they can be exploited by malicious entities, safeguarding your project's reputation.

At Cyberscope, we believe that robust security is paramount in the crypto space. Our penetration testing service ensures that your project is resilient against a wide range of potential threats. Choose Cyberscope for comprehensive security solutions that go beyond code analysis.

### Contact us for a quote

Please contact [@raf\_cyberscope](https://t.me/raf_cyberscope) to get a quote for your project's penetration testing or for any further information you may need.


# Bug Bounty

Discover, Report, Earn: Join our Bug Bounty Program

Our bug bounty service is a collaborative effort to identify vulnerabilities and ensure the utmost security. Here's what you need to know:

### **What is the Cyberscope Bug Bounty Program**

Our bug bounty program is an open invitation to security experts, developers, and enthusiasts to actively participate in improving the security of blockchain projects. By incentivizing the discovery of vulnerabilities, we create a safer environment for projects and investors.

### **How Our Bug Bounty Works**

1. **Community Engagement:** We welcome ethical hackers from around the world to examine projects and identify potential vulnerabilities.
2. **Reporting Vulnerabilities:** Participants report discovered vulnerabilities through our secure channels, helping us assess and address potential risks.
3. **Rewards and Recognition:** Valid vulnerabilities are rewarded with bounties, acknowledging the valuable contribution of the security community.

### **Benefits for Project Owners**

By embracing our bug bounty program, project owners can:

* **Harness Global Talent:** Leverage the skills of ethical hackers to uncover vulnerabilities that might otherwise be overlooked.
* **Proactive Defense:** Address vulnerabilities before malicious actors can exploit them, strengthening your project's security.
* **Build Community Trust:** Demonstrate your commitment to security and transparency by engaging the broader security community.

### **Benefits for Security Enthusiasts**

Security enthusiasts and ethical hackers benefit from our bug bounty program by:

* **Monetary Rewards:** Earn bounties for responsibly disclosing vulnerabilities, and contributing to the security ecosystem.
* **Skill Enhancement:** Enhance your skills by actively testing and identifying security weaknesses in real-world scenarios.
* **Community Impact:** Make a positive impact by ensuring the security of projects that drive innovation in the crypto space.

At Cyberscope, we recognize the power of collaboration in fortifying security. Our bug bounty program embodies this spirit, uniting experts and enthusiasts in a common goal: a more secure crypto landscape. Choose Cyberscope to be part of the solution, where your skills make a tangible difference.

### Contact us for a quote

Please contact [@raf\_cyberscope](https://t.me/raf_cyberscope) to get a quote for your project's bug bounty program or for any further information you may need.


# Development

Providing Secure and Innovative Blockchain Solutions

Our smart contract development service is designed to create secure, efficient, and reliable solutions for the evolving crypto landscape. Here's what you need to know:

### **What is Cyberscope Smart Contract Development?**

Our smart contract development service is a comprehensive solution for building and deploying smart contracts on various blockchain platforms. Smart contracts are self-executing agreements with the potential to revolutionize industries by automating processes and enhancing transparency.

### **How Our Smart Contract Development Works**

1. 1.**Requirements Analysis:** We collaborate with you to understand your project's objectives, ensuring that the smart contract aligns with your vision.
2. 2.**Code Creation:** Our experienced developers write clean, efficient, and secure smart contract code that meets industry standards.
3. 3.**Security Audits:** Every smart contract undergoes rigorous security audits to identify vulnerabilities and ensure the highest level of security.

### **Benefits for Project Owners**

By choosing our smart contract development service, project owners can:

* **Innovate with Confidence:** Develop complex decentralized applications and solutions that leverage the power of blockchain technology.
* **Ensure Security:** Benefit from our expertise in creating secure smart contracts, minimizing the risk of vulnerabilities and breaches.
* **Custom Solutions:** Tailor-made smart contracts that precisely fit your project's unique requirements.

At Cyberscope, we're passionate about driving blockchain innovation through secure and efficient smart contract development. Choose us as your partner to transform your ideas into reality while maintaining the highest standards of security and reliability.​​

### Contact us for a quote <a href="#contact-us-for-a-quote" id="contact-us-for-a-quote"></a>

There are 3 forms that you can fill, for 3 different types of contracts. Our team will then reach out to you with an estimation.

* [Token Contract](https://forms.gle/GxiGh8r3pCJiqYx38)
* [NFT Contract](https://forms.gle/YN4aE2sJyaCJcJeT8)
* [Staking Contract](https://forms.gle/F6uFjuVPJGbGmWRGA)

​​Or contact [@raf\_cyberscope](https://t.me/raf_cyberscope) for any other type or further information you may need.​​


# API

Find all API information of our tools


# Cyberscan

A convenient tool that helps investors to quickly gain insight into a given project

## Cyberscan V2

<mark style="color:green;">`POST`</mark> `https://www.cyberscope.io/api/cyberscan`

This API endpoint provides detailed information about an address, including automated smart contract audit and security analysis. By submitting a POST request to this endpoint, users can retrieve comprehensive data related to the project's audit scores, smart contract details, market performance, social media presence, and more.

The request body must contain the contract's address (`address`), and either the network identifier (`network`) or the chain id (`chainId`) that the address is deployed.

Example:\
<https://www.cyberscope.io/cyberscan?address=0xd41c4805a9a3128f9f7a7074da25965371ba50d5&chainId=56>

Request body example:\
`{ "address": "0xd41c4805a9a3128f9f7a7074da25965371ba50d5", "network": "BSC" }`

**Rate Limit**

The endpoint has a rate limit of 5 calls/minute, you may get a key for unrestricted access by contacting us at [@raf\_cyberscope](https://t.me/@raf_cyberscope).

#### Headers

| Name      | Type   | Description                                                                                                      |
| --------- | ------ | ---------------------------------------------------------------------------------------------------------------- |
| x-api-key | String | Include the API key in the header of your API requests to authenticate and authorize access without rate limits. |

#### Request Body

| Name                                      | Type   | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| ----------------------------------------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| address<mark style="color:red;">\*</mark> | String | An EVM compatible address. e.g.  `0xd41c4805a9a3128f9f7a7074da25965371ba50d5`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| chainId                                   | Number | <p>The id of the chain that the address is deployed. Either network or chainId should be used.<br></p><p>1 (ETH), 56 (BSC), 137 (MATIC), 43114 (AVAX), 42161 (ARBITRUM), 81457 (BLAST), 2000 (DOGE), 25 (CRO), 8453 (BASE), 1666600000 (ONE), 250 (FTM), 321 (KCC), 8217 (KLAY), 40 (TELOS), 1285 (MOVR), 1284 (GLMR), 42220 (CELO), 106 (VLX), 61 (ETC), 10 (OPTIMISM), 100 (XDAI), 15551 (LOOP), 324 (ZKSYNC), 59144 (LINEA), 534352 (SCROLL), 167000 (TAIKO), 204 (OP\_BNB), 5000 (MANTLE), 1116 (CORE), 122 (FUSE), 42262 (ROSE), 5 (GOERLI), 97 (BSC\_TESTNET), 80001 (POLYGON\_MUMBAI)</p> |
| network                                   | String | <p>The network identifier that the address is deployed. Either network or chainId should be used. Default: BSC</p><p><br>ETH, BSC, MATIC, AVAX, ARBITRUM, BLAST, DOGE, CRO, BASE, ONE, FTM, KCC, KLAY, TELOS, MOVR, GLMR, CELO, VLX, ETC, OPTIMISM, XDAI, LOOP, ZKSYNC, LINEA, SCROLL, TAIKO, OP\_BNB, MANTLE, CORE, FUSE, ROSE, GOERLI, BSC\_TESTNET, POLYGON\_MUMBAI</p>                                                                                                                                                                                                                       |

{% tabs %}
{% tab title="200: OK The response contains comprehensive data related to the project's audit scores, smart contract details, market performance, social media presence, and more." %}

<pre class="language-json"><code class="lang-json">{
	"auditLayout": {
		"id": "65414ba50f32ceb989ec83fc",
		"slug": "coin-shiba-inu",
		"addressDetails": {
			"0x95ad61b0a150d79219dcf64e1e6cc01f0b64c4ce": {
				"balance": 246719335835.16473,
				"contract": true,
				"label": ""
			},
			"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": {
				"balance": 1465516633.868282,
				"contract": true,
				"label": "Wrapped Ether"
			},
			"0xdac17f958d2ee523a2206206994597c13d831ec7": {
				"balance": 73323602.02657662,
				"contract": true,
				"label": "Tether USD"
			},
      			...
		},
		"auditSlug": "",
		"bitcointalk": "",
		"coingecko": {
			"rank": 12,
			"id": "shiba-inu"
		},
		"coinmarketcap": {
			"rank": 11,
			"slug": "shiba-inu"
		},
		"coinscope": null,
		"communityScore": 90,
		"contract": {
			"updatedAt": "2024-06-12T19:19:22.633Z",
			"network": "ETH",
			"address": "0x95ad61b0a150d79219dcf64e1e6cc01f0b64c4ce",
			"contractName": "TokenMintERC20Token",
			"contractVersion": "v0.5.0+commit.1d4f565a",
			"runs": "200",
			"licenseType": "None",
			"proxy": false,
			"unverified": false,
			"renounced": false,
			"contractOwner": "",
			"decimals": 18,
			"deadAmount": 4.348231779270411e28,
			"symbol": "SHIB",
			"totalSupply": 9.999823552829798e32,
			"error": "",
			"commonAddresses": [],
			"geckoTerminalUrl": "https://www.geckoterminal.com/eth/pools/0x95ad61b0a150d79219dcf64e1e6cc01f0b64c4ce",
			"geckoTerminalUrlUpdatedAt": "2024-06-12T19:19:22.633Z"
		},
		"createdAt": "2023-10-31T18:47:00.930Z",
		"decentralisationScore": 71,
		"description": "Shiba Inu (SHIB) is a cryptocurrency and operates on the Ethereum platform. Shiba Inu has a current supply of 589,519,939,797,375.6 with 589,271,535,917,799.1 in circulation. The last known price of Shiba Inu is 0.00002277 USD and is up 6.49 over the last 24 hours. It is currently trading on 830 active market(s) with $917,628,019.14 traded over the last 24 hours. More information can be found at https://shibatoken.com/.",
		"dextools": {
			"chain": "ether",
			"pair": "0xe8dc5dac5f19d9eb0787673e0079f95ac49d8830"
		},
		"discord": "https://discord.com/invite/shibatoken",
		"domainInfo": {
			"lighthouse": {
				"audits": {
					"is-on-https": {
						"title": "Uses HTTPS",
						"description": "All sites should be protected with HTTPS, even ones that don't handle sensitive data. This includes avoiding [mixed content](https://developers.google.com/web/fundamentals/security/prevent-mixed-content/what-is-mixed-content), where some resources are loaded over HTTP despite the initial request being served over HTTPS. HTTPS prevents intruders from tampering with or passively listening in on the communications between your app and your users, and is a prerequisite for HTTP/2 and many new web platform APIs. [Learn more about HTTPS](https://developer.chrome.com/docs/lighthouse/pwa/is-on-https/).",
						"score": 1
					},
					...
				},
				"metrics": {
					"performance": 0.63,
					"accessibility": 0.86,
					"bestPractices": 0.95,
					"seo": 0.8,
					"pwa": 0.29,
					"security": 0.78
				}
			},
			"whois": {
				"creationDate": "2020-08-03T18:18:25.000Z"
			},
			"dns": {
				"missingSPF": false,
				"missingDMARC": true,
				"missingDKIM": true,
				"ineffectiveSPF": false,
				"softfailWithoutDMARC": true,
				"nameServerVersion": false,
				"recursiveQueries": false,
				"cNameInNS": false,
				"mxPrivateIPs": false,
				"mxInvalidChars": false
			}
		},
		"facebook": "",
		"fundamentalsScore": 71.75704519163243,
		"github": "https://github.com/shytoshikusama",
		"githubRepositoryStats": {
			"owner": "shytoshikusama",
			"contributionsPerDay": [
				{
					"week": 1683763200,
					"total": 0,
					"days": [0, 0, 0, 0, 0, 0, 0]
				},
        			...
				{
					"week": 1714003200,
					"total": 0,
					"days": [0, 0, 0, 0, 0, 0, 0]
				}
			],
			"totalRepositories": 7,
			"contributors": 145,
			"organizationAge": "2021-02-18T10:16:46.000Z",
			"stars": 100,
			"forks": 22,
			"openIssues": 5,
			"watchers": 29,
			"commits": 13592
		},
		"logo": "https://s2.coinmarketcap.com/static/img/coins/64x64/5994.png",
		"marketScore": 97,
		"marketcap": 12980049031.674652,
		"name": "Shiba Inu",
		"pools": {
			"pairs": [
				{
					"address": "0x2f62f2b4c5fcd7570a709dec05d68ea19c82a9ec",
					"factory": "0x1f98431c8ad98523631ae4a59f267346ea31f984",
					"worth": 2635852,
					"tokenPrimary": "0x95ad61b0a150d79219dcf64e1e6cc01f0b64c4ce",
					"token": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
					"reserve0": 81761746969.34808,
					"reserve1": 233.1304799100179,
					"price0": 2.2e-7,
					"price1": 35.90667316,
					"reversed": false,
					"v3Fee": 3000
				},
        			...
			],
			"tokens": [
				{
					"address": "0x95ad61b0a150d79219dcf64e1e6cc01f0b64c4ce",
					"decimals": 18,
					"name": "SHIBA INU",
					"symbol": "SHIB"
				},
        			...
			],
			"dexes": [
				{
					"address": "0x5c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f",
					"router": "0x7a250d5630b4cf539739df2c5dacb4c659f2488d",
					"name": "Uniswap",
					"icon": "assets/images/swap/uniswap.png"
				},
				...
			]
		},
		"price": 2.199919563598345e-7,
		"projectAge": "2020-08-01T00:00:00.000Z",
		"rank": "Very Low",
		"rawCommunityScore": 90,
		"rawDecentralisationScore": 71,
		"rawFundamentalsScore": 92,
		"rawMarketScore": 100,
		"rawSecurityScore": 100,
		"rawTotalScore": null,
		"reddit": "https://reddit.com/r/SHIBArmy",
		"securityScore": 69.9520634524036,
		"similarity": {
			"ranks": [],
			"contracts": [
				{
					"name": "IERC20",
					"start": 322,
					"end": 2947,
					"score": 0.9611562782294489,
					"origin": "openzeppelin",
					"file": "IERC20.sol"
				}
			]
		},
		"slowPollUpdatedAt": "2024-05-05T16:15:07.108Z",
		"smartAudit": {
			"burn": [
				{
					"range": [16196, 16272]
				}
			],
			"mint": [],
			"blacklist": [],
			"blacklistMany": [],
			"whitelist": [],
			"setFees": [],
			"maxTxAmount": [],
			"pause": [],
			"cooldown": [],
			"reflections": false,
			"rebase": false,
			"pinksaleAntiBot": false,
			"autogeneratedPool": false,
			"dividendDistributor": false,
			"buyback": false,
			"safeMath": true,
			"redundantSafeMath": false,
			"nonImmutables": [],
			"nonDescriptiveErrorMessages": [],
			"multiplePragmaVersions": [
				{
					"range": [140, 162]
				},
				{
					"range": [3016, 3038]
				},
				{
					"range": [6721, 6743]
				},
				{
					"range": [14758, 14780]
				}
			],
			"interfaces": 1,
			"libraries": 1,
			"contracts": 2,
			"versions": ["^0.5.0"],
			"lines": 492
		},
		"socialCounters": {
			"twitter": 3886501,
			"telegram": 121725
		},
		"taxes": { // see Fields Schema
			"buyTax": 0,
			"sellTax": 0,
			"transferTax": 0,
			"buyGas": 115271,
			"sellGas": 96323,
			"transferGas": 26341,
			"error": ""
		},
		"telegram": "https://t.me/ShibaInu_Dogecoinkiller",
		"tokenCreation": {
			"contractCreator": "0xb8f226ddb7bc672e27dffb67e4adabfa8c0dfa08",
			"value": 0.11649382,
			"generatedAt": "2020-07-31T18:32:43.000Z",
			"txHash": "0x0a4022e61c49c59b2538b78a6c7c9a0e4bb8c8fce2d1b4a725baef3c55fb7363"
		},
		"topHolders": {
			"total": 1395278,
			"addresses": [
				"0xdead000000000000000042069420694206942069",
				"0xf3b0073e3a7f747c7a38b36b805247b222c302a3",
				...
			]
		},
		"totalScore": 88,
		"tradingVolume": 751913589.8770559,
		"twitter": "https://twitter.com/shibtoken",
		"updatedAt": "2024-06-12T19:19:27.131Z",
		"website": "https://shibatoken.com/",
		"expiresAt": null,
		"linkedin": "",
		"auditFindings": null,
		"communityScoreHistory": [
			{
				"v": 90,
				"t": "2024-05-18T07:00:17.800Z"
			},
			...
		],
		"communityScorePercentile": 91.25320102432778,
		"decentralisationScoreHistory": [
			{
				"v": 71,
				"t": "2024-05-18T07:00:17.800Z"
			},
			...
		],
		"decentralisationScorePercentile": 95,
		"fundamentalsScoreHistory": [
			{
				"v": 71.18513708030319,
				"t": "2024-05-18T07:00:17.800Z"
			},
			...
		],
		"fundamentalsScorePercentile": 95,
		"marketScoreHistory": [
			{
				"v": 69,
				"t": "2024-05-18T07:00:17.800Z"
			},
			...
		],
		"marketScorePercentile": 99.86395646606914,
		"securityScoreHistory": [
			{
				"v": 70.60350803924516,
				"t": "2024-05-18T07:00:17.800Z"
			},
			...
		],
		"securityScorePercentile": 95,
		"totalScorePercentile": 99.895966709347,
		"totalScoresHistory": [
			{
				"v": 88,
				"t": "2024-05-18T07:00:17.800Z"
			},
			...
		],
		"address": "0x95ad61b0a150d79219dcf64e1e6cc01f0b64c4ce",
		"network": "ETH",
		"addressDescriptors": [
			{
				"network": "ETH",
				"address": "0x95ad61b0a150d79219dcf64e1e6cc01f0b64c4ce"
			}
		],
		"discordMembers": 146199,
		"discordMembersHistory": [
			{
				"v": 146700,
				"t": "2024-05-18T07:00:17.800Z"
			},
			...
		],
		"facebookLikes": null,
		"facebookLikesHistory": [],
		"redditMembers": null,
		"redditMembersHistory": [],
		"telegramMembers": 121725,
		"telegramMembersHistory": [
			{
				"v": 126048,
				"t": "2024-05-18T07:00:17.800Z"
			},
			...
		],
		"topHoldersHistory": [
			{
				"v": 1396345,
				"t": "2024-05-18T07:00:17.800Z"
			},
			...
		],
		"twitterFollowers": 3886501,
		"twitterFollowersHistory": [
			{
				"v": 3895024,
				"t": "2024-05-18T07:00:17.800Z"
			},
			...
		],
		"geckoTerminalUrl": "https://www.geckoterminal.com/eth/pools/0x95ad61b0a150d79219dcf64e1e6cc01f0b64c4ce",
		"onChainInfo": {
			"price": 2.199919563598345e-7
		},
		"override": {},
		"medium": "https://medium.com/@allhailtheshiba/all-hail-the-shiba-an-experiment-in-decentralization-87e3792e92f2",
		"price30": -5.572862,
		"price60": -10.10044808,
		"tokenProgram": null // applicable for Solana, see Fields Schema
		"lockers": null // see Fields Schema
		
	},
	"auditResource": null
<strong>}
</strong></code></pre>

{% endtab %}

{% tab title="400: Bad Request If the address does not belong to an ERC20 applicable coin" %}

```json
{
    "message": "Invalid Network" // "Invalid Network" or "Invalid Address"
}
```

{% endtab %}

{% tab title="403: Forbidden Access is forbidden due to an invalid API\_KEY. Please provide a valid API key for authorization." %}

```json
{
    "message": "Invalid API_KEY"
}
```

{% endtab %}

{% tab title="429: Too Many Requests Too many requests. The allowed limit for API calls has been exceeded." %}

```json
{
    "message": "Too Many Requests"
}
```

{% endtab %}

{% tab title="500: Internal Server Error In the event of an internal server error, a status 500 response will be returned. Please contact our support team to investigate and resolve the issue promptly." %}

{% endtab %}
{% endtabs %}

#### **Fields Schema**&#x20;

{% tabs %}
{% tab title="tokenProgram" %}

<pre class="language-javascript" data-full-width="true"><code class="lang-javascript">/*
Finding Codes:

- STMA, Can mint
- STFA, Can freeze accounts
- STUA, Can Update
- ST2PDA, Contains Permanent Delegate Authority
- ST2THE, Contains Transfer Hook Execution
- ST2MDAS, Can Mutable Default Account State
- ST2FDAS, Contains FrozenDefault Account State
- ST2ETFC, Can set fees
- ST2IBTC, Contains Interest Bearing Tokens Configuration
- ST2UMA, Can Update Metadata Address
- ST2TMM, Has Token Modifiable Metadata
- ST2NTT, Contains Non Transferable Token

/api/cyberscan?address=DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263&#x26;network=SOL
*/
<strong>{
</strong>    "updatedAt": "2024-08-18T15:44:20.312Z",
    "createdAt": "2024-08-18T15:44:20.312Z",
    "findingCodes": [
        "STUA"
    ]
    "error": "",
    "updateAuthorityAddress": "9AhKqLR67hwapvG8SA2JFXaCshXc9nALJjpKaHZrsbkw",
    "metadata": {
        "name": "Bonk",
        "symbol": "Bonk",
        "image": "https://arweave.net/hQiPZOsRZXGXBJd_82PhVdlM_hACsT_q6wqwf5cSY7I",
        "description": "The Official Bonk Inu token",
        "creator": {
            "name": "DEXLAB MINTING LAB",
            "site": "https://www.dexlab.space"
        }
    },
    "isMutable": true,
    "primarySaleHappened": true,
    "sellerFeeBasisPoints": 0,
    "editionNonce": 255,
    "tokenStandard": 2,
    "metadataAddress": "FDZZbyY9XGpL3CNKUZxLk3wFTTQYL3TkDiDzqxrizcPN",
    "creators": [],
    "model": "mint",
    "isWrappedSol": false,
    "namespace": "spl-token",
    "type": "tokenProgram",
    "address": "DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263",
    "name": "Bonk",
    "symbol": "Bonk",
    "uri": "https://arweave.net/QPC6FYdUn-3V8ytFNuoCS85S2tHAuiDblh6u3CIZLsw",
    "decimals": 5,
    "totalSupply": 92887590516036,
    "owner": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
    "freezeAuthorityAddress": "",
    "mintAuthorityAddress": "",
    "isInitialized": false,
    "extensions": {
        "permanentDelegate": null,
        "transferHook": null,
        "defaultAccountState": null,
        "nonTransferable": null,
        "transferFeeConfig": null,
        "interestBearingMintConfig": null,
        "metadataPointer": null,
        "tokenMetadata": null,
        "mintCloseAuthority": null,
        "groupPointer": null,
        "memberPointer": null
    }
}
</code></pre>

{% endtab %}

{% tab title="lockers" %}

```javascript
/*
vestMode: varying | linear
provider: Coinscope | PinkSale | Unicrypt
type: token | lpv2 | lpv3
*/

// ARBITRUM, 0x912ce59144191c1204e64559fe8253a0e49e6548
[
    {
        "address": "",
        "beneficial": "0x87ac7699e675baa07531f2861b98ff06a6dcfd46",
        "createdAt": "2023-03-28T15:10:17.000Z",
        "unlockedAt": "2025-09-30T15:05:00.000Z",
        "totalAmountLocked": 200,
        "currentAmountLocked": 200,
        "withdrawableAmount": 0,
        "vest": false,
        "vestMode": "varying",
        "vestCliff": "2024-08-12T13:20:44.062Z",
        "vestCliffAmount": 0,
        "vestAmount": 0,
        "vestPeriod": 0,
        "provider": "PinkSale",
        "type": "token"
    },
    {
        "address": "",
        "beneficial": "0x2f0d5918af0d12631df3fd45270ac3153c48f38b",
        "createdAt": null,
        "unlockedAt": 1730286000000,
        "totalAmountLocked": 870.5470738893564,
        "currentAmountLocked": 870.5470738893564,
        "withdrawableAmount": 0,
        "vest": false,
        "vestMode": "linear",
        "vestCliff": "2024-08-12T13:20:46.154Z",
        "vestCliffAmount": 0,
        "vestAmount": 0,
        "vestPeriod": 0,
        "provider": "Unicrypt",
        "type": "token"
    },
    {
        "address": "",
        "beneficial": "0xcc537a2a824634c1d2e0d839b1cdc751f8b25f1d",
        "createdAt": null,
        "unlockedAt": 1692504000000,
        "totalAmountLocked": 423.31904774,
        "currentAmountLocked": 0,
        "withdrawableAmount": 0,
        "vest": false,
        "vestMode": "linear",
        "vestCliff": "2024-08-12T13:20:46.154Z",
        "vestCliffAmount": 0,
        "vestAmount": 0,
        "vestPeriod": 0,
        "provider": "Unicrypt",
        "type": "token"
    }
]

// ARBITRUM, 0x38c2fbdf53b451ae5c4027711d6fe5e1b2191b1c
[
    {
        "address": "",
        "beneficial": "0xb0267cfa5ed01d048edec4ca520a7406773c5de2",
        "createdAt": "2023-05-11T18:19:44.000Z",
        "unlockedAt": "2026-02-15T12:00:00.000Z",
        "totalAmountLocked": 62831853071795864,
        "currentAmountLocked": 35814156250923644,
        "withdrawableAmount": 0,
        "vest": true,
        "vestMode": "varying",
        "vestCliff": "2023-06-01T12:00:00.000Z",
        "vestCliffAmount": 628318530717958.6,
        "vestAmount": 1884955592153876,
        "vestPeriod": 2592000000,
        "provider": "PinkSale",
        "type": "token"
    }
]
```

{% endtab %}

{% tab title="taxes(honeypot)" %}
{% code overflow="wrap" %}

```javascript
/*
"error" values:

- SELL_FAILED, cannot sell, seems like a honeypot
- BUY_FAILED , cannot buy
- TRANSFER_FAILED, cannot transfer tokens to other address
- POOL_NOT_FOUND, cannot find an pool to trade
- INSUFFICIENT_LIQUIDITY, the pool does not have enough liquidity to trade
- INVALID_TOKEN_ADDRESS, the address is not valid
- QUOTE_ERROR, cannot calculate the tradable amount
- UNCAUGHT_ERROR, generic error
*/

// BSC, 0xd41c4805a9a3128f9f7a7074da25965371ba50d5
{
    "buyTax": 5,
    "sellTax": 5,
    "transferTax": 5,
    "buyGas": 242161,
    "sellGas": 151168,
    "transferGas": 71952,
    "error": ""
}

// BSC, 0x1e7e0efb87e609b87f12f1cea1dac48569da2328
{
    "buyTax": 0,
    "sellTax": null,
    "transferTax": 0,
    "buyGas": 185809,
    "sellGas": 47154,
    "transferGas": 26027,
    "error": "SELL_FAILED"
}
```

{% endcode %}
{% endtab %}
{% endtabs %}

## Cyberscan V1 (Deprecated)

<mark style="color:green;">`POST`</mark> `https://www.coinscope.co/api/search/contract`

Creates an automated audit report and similarity analysis for an address or a source code.

Example:\
<https://www.cyberscope.io/cyberscan?address=0xd41c4805a9a3128f9f7a7074da25965371ba50d5&chainId=56>

Address type request example:\
`{ "type": "address", "address": "0xd41c4805a9a3128f9f7a7074da25965371ba50d5", "network": "BSC" }`

Source code type request example:\
`{ "type": "source", "source": "contract ERC20 {...}" }`

#### Request Body

| Name                                   | Type   | Description                                                                                                                                                                                                                                                                                                                                                                                  |
| -------------------------------------- | ------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| type<mark style="color:red;">\*</mark> | String | <p><code>address</code> or <code>source</code>.<br>Specifies if the Cyberscan will run in a deployed address or a source code.</p>                                                                                                                                                                                                                                                           |
| address                                | String | An EVM compatible address. e.g.  `0xd41c4805a9a3128f9f7a7074da25965371ba50d5`                                                                                                                                                                                                                                                                                                                |
| chainId                                | Number | <p>The id of the chain that the address is deployed.<br>1 (ETH), 56 (BSC), 137 (MATIC), 43114 (AVAX), 25 (CRO), 2000 (DOGE), 1666600000 (ONE), 250 (FTM), 1285 (MOVR), 1284 (GLMR), 42220 (CELO), 42161 (ARBITRUM), 61 (ETC), 10 (OPTIMISM), 100 (XDAI), 5 (GOERLI), 97 (BSC\_TESTNET), 80001 (POLYGON\_MUMBAI), 4 (RINKEBY), 3 (ROPSTEN), 42 (KOVAN), 321 (KCC), 106 (VLX), 8217 (KLAY)</p> |
| source                                 | String | <p>Applied if <code>type=source</code><br>The source code of a smart contract.</p>                                                                                                                                                                                                                                                                                                           |

{% tabs %}
{% tab title="200: OK The response contains 4 objects, the smartAudit, ranks, contract, and coin." %}

```json
{
    "price": 0.003086551068923805,
    // The coin field is optionally returned if the coin address is 
    // listed on the coinscope. It provides useful information about the coin
    "coin": {
        "name": "Coinscope",
        "symbol": "coinscope",
        "icon": "https://firebasestorage.googleapis.com/v0/b/coinscopeassets.appspot.com/o/1636569818560_9a21b28c-e632-4a78-b4bb-0cafafc559bf?alt=media&token=3809731e-7387-4113-a138-2dc4cf37532f",
        "address": "0xd41c4805a9a3128f9f7a7074da25965371ba50d5",
        "network": "BSC",
        "customSwap": "",
        "customChart": "",
        "deployedAt": "2021-11-17T18:00:00.000Z",
        "createdAt": "2021-11-10T18:54:54.946Z",
        "launchedAt": null,
        "totalVotes": 800177,
        "slug": "coinscope",
        "promoted": false,
        "auditUrl": "https://github.com/coinscope-co/audits/blob/main/coinscope/audit.pdf",
        "auditScore": 98,
        "extraDailyVotes": 0,
        "priceRetries": 0,
        "warning": false,
        "marketCap": 541023,
        "facebook": "https://www.facebook.com/Coinscopecrypto",
        "instagram": "https://www.instagram.com/coinscopecrypto/",
        "telegramGroup": "https://t.me/coinscope_announce",
        "totalRecentVotes": 0,
        "trending": {
            "position": 8
        },
        "watchlists": 9571,
        "badges": [
            "airdrop",
            "kyc",
            "audit",
            "todaysBest",
            "vote5000"
        ],
        "votes": 800177,
        "price": 0.003101809307997085,
        "dollarPrice": "$0.0031",
        "marketcap": "$282,756",
        "coingecko": "https://www.coingecko.com/en/coins/coinscope",
        "cmc": "https://coinmarketcap.com/currencies/coinscope",
        "todaysBestAt": "2022-12-06T00:00:00.000Z",
        "kyc": {
            "finished": true,
            "finishedAt": "2022-03-17T14:20:36.223Z"
        },
        "audit": {
            "finishedAt": "2022-03-17T16:48:24.973Z",
            "progressedAt": "2021-12-22T20:07:33.383Z"
        },
        "totalSupply": 100000000,
        "deadAmount": 8841368,
        "airdrop": {
            "winners": 50,
            "totalParticipants": 0,
            "totalVotes": 4,
            "status": "finished",
            "twitter": "cyberscope_io",
            "telegram": "coinscope_co",
            "airdropContract": "0xAD5b6Be69fb0DAF4AA7aAFD0CBeC1371549F00Bb",
            "merkle": true,
            "delivered": true,
            "startDate": "2023-08-29T21:00:00.000Z",
            "endDate": "2023-09-18T21:00:00.000Z",
            "amount": 240000,
            "participate": false
        },
        "priceChanges": {
            "hour24": 0.11,
            "hour1": 0.01,
            "min1d": "$0.003049425680962988",
            "max1d": "$0.003169110785203298"
        }
    },
    "pools": {
        "pairs": [
            {
                "address": "0xad1ba361e6db979e367aebcb32cb47485877dd0e",
                "factory": "0xca143ce32fe78f1f7019d7d551a6402fc5350c73",
                "worth": 425147,
                "tokenPrimary": "0xd41c4805a9a3128f9f7a7074da25965371ba50d5",
                "token": "0xbb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c",
                "reserve0": 68904289.64578776,
                "reserve1": 353.61431821458063,
                "price0": 0.0030850599428840575,
                "price1": 597.6773073009035,
                "reversed": true,
                "v3Fee": 0
            },
            {
                "address": "0xd001369a2f74d8a6cac9eb0d5299daf3ad43c160",
                "factory": "0x0841bd0b734e4f5853f0dd8d7ea041c241fb0da6",
                "worth": 9250,
                "tokenPrimary": "0xd41c4805a9a3128f9f7a7074da25965371ba50d5",
                "token": "0xbb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c",
                "reserve0": 1479345.57048239,
                "reserve1": 7.696324854968652,
                "price0": 0.003126410639048261,
                "price1": 119.98608241566983,
                "reversed": true,
                "v3Fee": 0
            },
            {
                "address": "0x6007c7869acea062e209c77b6375cb9e3cb9a181",
                "factory": "0x858e3312ed3a876947ea49d572a7c42de08af7ee",
                "worth": 8444,
                "tokenPrimary": "0xd41c4805a9a3128f9f7a7074da25965371ba50d5",
                "token": "0xbb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c",
                "reserve0": 1354210.20755517,
                "reserve1": 7.029520604628748,
                "price0": 0.003117963520222865,
                "price1": 529.6504820948219,
                "reversed": true,
                "v3Fee": 0
            }
        ],
        "tokens": [
            {
                "address": "0xd41c4805a9a3128f9f7a7074da25965371ba50d5",
                "decimals": 18,
                "name": "Coinscope",
                "symbol": "COINSCOPE"
            },
            {
                "address": "0xbb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c",
                "decimals": 18,
                "name": "Wrapped BNB",
                "symbol": "WBNB"
            }
        ],
        "dexes": [
            {
                "address": "0xca143ce32fe78f1f7019d7d551a6402fc5350c73",
                "router": "0x10ed43c718714eb63d5aa57b78b54704e256024e",
                "name": "PancakeSwap",
                "icon": "assets/images/swap/pancakeswap.png"
            },
            {
                "address": "0x0841bd0b734e4f5853f0dd8d7ea041c241fb0da6",
                "router": "0xcf0febd3f17cef5b47b0cd257acf6025c5bff3b7",
                "name": "ApeSwap",
                "icon": "assets/images/swap/apeswap.png"
            },
            {
                "address": "0x858e3312ed3a876947ea49d572a7c42de08af7ee",
                "router": "0x3a6d8ca21d1cf76f653a67577fa0d27453350dd8",
                "name": "Biswap",
                "icon": "assets/images/swap/biswap.png"
            }
        ]
    },
    "score": 63,
    "rank": "Neutral",
    "contract": {
        "id": "623f300dd8d104d6a5aa1d15",
        "updatedAt": "",
        "createdAt": "2022-03-28T10:15:39.582Z",
        "totalSupply": 100000000,
        "deadAmount": 9134915,
        "decimals": 18,
        "source": "// SPDX-License-Identifier: Unlicensed\r\n\r\n/** \r\nCoinscope token!\r\n\r\nCoinscope.co helps people to find the best new cryptocurrency projects, tokens and coins. \r\nWay before they pump up to the big exchanges, those projects are listed here. \r\nPeople can use Coinscope to explore trending projects, vote their favorite tokens \r\nand reward their project with unique permanent voting Badges. \r\nCoinscope offers access to exclusive tools like Audit Reports, \r\ntracking coins value with Portfolio, watching coins in the Watchlist, \r\nparticipating in Airdrops and NFT marketplace for the art enthusiasts.\r\n*/\r\n\r\n/*\r\n *Main features*\r\n * 2 % Burn\r\n * 3 % Liquidity Fee\r\n * 3 % Marketing wallet\r\n */\r\n\r\npragma solidity 0.8.9;\r\n\r\ninterface IERC20 {\r\n    function totalSupply() external view returns (uint256);\r\n\r\n    /**\r\n     * @dev Returns the amount of tokens owned by `account`.\r\n     */\r\n    function balanceOf(address account) external view returns (uint256);\r\n\r\n    /**\r\n     * @dev Moves `amount` tokens from the caller's account to `recipient`.\r\n     *\r\n     * Returns a boolean value indicating whether the operation succeeded.\r\n     *\r\n     * Emits a {Transfer} event.\r\n     */\r\n    function transfer(address recipient, uint256 amount)\r\n        external\r\n        returns (bool);\r\n\r\n    /**\r\n     * @dev Returns the remaining number of tokens that `spender` will be\r\n     * allowed to spend on behalf of `owner` through {transferFrom}. This is\r\n     * zero by default.\r\n     *\r\n     * This value changes when {approve} or {transferFrom} are called.\r\n     */\r\n    function allowance(address owner, address spender)\r\n        external\r\n        view\r\n        returns (uint256);\r\n\r\n    /**\r\n     * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.\r\n     *\r\n     * Returns a boolean value indicating whether the operation succeeded.\r\n     *\r\n     * IMPORTANT: Beware that changing an allowance with this method brings the risk\r\n     * that someone may use both the old and the new allowance by unfortunate\r\n     * transaction ordering. One possible solution to mitigate this race\r\n     * condition is to first reduce the spender's allowance to 0 and set the\r\n     * desired value afterwards:\r\n     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\r\n     *\r\n     * Emits an {Approval} event.\r\n     */\r\n    function approve(address spender, uint256 amount) external returns (bool);\r\n\r\n    /**\r\n     * @dev Moves `amount` tokens from `sender` to `recipient` using the\r\n     * allowance mechanism. `amount` is then deducted from the caller's\r\n     * allowance.\r\n     *\r\n     * Returns a boolean value indicating whether the operation succeeded.\r\n     *\r\n     * Emits a {Transfer} event.\r\n     */\r\n    function transferFrom(\r\n        address sender,\r\n        address recipient,\r\n        uint256 amount\r\n    ) external returns (bool);\r\n\r\n    /**\r\n     * @dev Emitted when `value` tokens are moved from one account (`from`) to\r\n     * another (`to`).\r\n     *\r\n     * Note that `value` may be zero.\r\n     */\r\n    event Transfer(address indexed from, address indexed to, uint256 value);\r\n\r\n    /**\r\n     * @dev Emitted when the allowance of a `spender` for an `owner` is set by\r\n     * a call to {approve}. `value` is the new allowance.\r\n     */\r\n    event Approval(\r\n        address indexed owner,\r\n        address indexed spender,\r\n        uint256 value\r\n    );\r\n}\r\n\r\n/**\r\n * @dev Wrappers over Solidity's arithmetic operations with added overflow\r\n * checks.\r\n *\r\n * Arithmetic operations in Solidity wrap on overflow. This can easily result\r\n * in bugs, because programmers usually assume that an overflow raises an\r\n * error, which is the standard behavior in high level programming languages.\r\n * `SafeMath` restores this intuition by reverting the transaction when an\r\n * operation overflows.\r\n *\r\n * Using this library instead of the unchecked operations eliminates an entire\r\n * class of bugs, so it's recommended to use it always.\r\n */\r\n\r\nlibrary SafeMath {\r\n    /**\r\n     * @dev Returns the addition of two unsigned integers, reverting on\r\n     * overflow.\r\n     *\r\n     * Counterpart to Solidity's `+` operator.\r\n     *\r\n     * Requirements:\r\n     *\r\n     * - Addition cannot overflow.\r\n     */\r\n    function add(uint256 a, uint256 b) internal pure returns (uint256) {\r\n        uint256 c = a + b;\r\n        require(c >= a, \"SafeMath: addition overflow\");\r\n\r\n        return c;\r\n    }\r\n\r\n    /**\r\n     * @dev Returns the subtraction of two unsigned integers, reverting on\r\n     * overflow (when the result is negative).\r\n     *\r\n     * Counterpart to Solidity's `-` operator.\r\n     *\r\n     * Requirements:\r\n     *\r\n     * - Subtraction cannot overflow.\r\n     */\r\n    function sub(uint256 a, uint256 b) internal pure returns (uint256) {\r\n        return sub(a, b, \"SafeMath: subtraction overflow\");\r\n    }\r\n\r\n    /**\r\n     * @dev Returns the subtraction of two unsigned integers, reverting with custom message on\r\n     * overflow (when the result is negative).\r\n     *\r\n     * Counterpart to Solidity's `-` operator.\r\n     *\r\n     * Requirements:\r\n     *\r\n     * - Subtraction cannot overflow.\r\n     */\r\n    function sub(\r\n        uint256 a,\r\n        uint256 b,\r\n        string memory errorMessage\r\n    ) internal pure returns (uint256) {\r\n        require(b <= a, errorMessage);\r\n        uint256 c = a - b;\r\n\r\n        return c;\r\n    }\r\n\r\n    /**\r\n     * @dev Returns the multiplication of two unsigned integers, reverting on\r\n     * overflow.\r\n     *\r\n     * Counterpart to Solidity's `*` operator.\r\n     *\r\n     * Requirements:\r\n     *\r\n     * - Multiplication cannot overflow.\r\n     */\r\n    function mul(uint256 a, uint256 b) internal pure returns (uint256) {\r\n        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the\r\n        // benefit is lost if 'b' is also tested.\r\n        // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522\r\n        if (a == 0) {\r\n            return 0;\r\n        }\r\n\r\n        uint256 c = a * b;\r\n        require(c / a == b, \"SafeMath: multiplication overflow\");\r\n\r\n        return c;\r\n    }\r\n\r\n    /**\r\n     * @dev Returns the integer division of two unsigned integers. Reverts on\r\n     * division by zero. The result is rounded towards zero.\r\n     *\r\n     * Counterpart to Solidity's `/` operator. Note: this function uses a\r\n     * `revert` opcode (which leaves remaining gas untouched) while Solidity\r\n     * uses an invalid opcode to revert (consuming all remaining gas).\r\n     *\r\n     * Requirements:\r\n     *\r\n     * - The divisor cannot be zero.\r\n     */\r\n    function div(uint256 a, uint256 b) internal pure returns (uint256) {\r\n        return div(a, b, \"SafeMath: division by zero\");\r\n    }\r\n\r\n    /**\r\n     * @dev Returns the integer division of two unsigned integers. Reverts with custom message on\r\n     * division by zero. The result is rounded towards zero.\r\n     *\r\n     * Counterpart to Solidity's `/` operator. Note: this function uses a\r\n     * `revert` opcode (which leaves remaining gas untouched) while Solidity\r\n     * uses an invalid opcode to revert (consuming all remaining gas).\r\n     *\r\n     * Requirements:\r\n     *\r\n     * - The divisor cannot be zero.\r\n     */\r\n    function div(\r\n        uint256 a,\r\n        uint256 b,\r\n        string memory errorMessage\r\n    ) internal pure returns (uint256) {\r\n        require(b > 0, errorMessage);\r\n        uint256 c = a / b;\r\n        // assert(a == b * c + a % b); // There is no case in which this doesn't hold\r\n\r\n        return c;\r\n    }\r\n\r\n    /**\r\n     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),\r\n     * Reverts when dividing by zero.\r\n     *\r\n     * Counterpart to Solidity's `%` operator. This function uses a `revert`\r\n     * opcode (which leaves remaining gas untouched) while Solidity uses an\r\n     * invalid opcode to revert (consuming all remaining gas).\r\n     *\r\n     * Requirements:\r\n     *\r\n     * - The divisor cannot be zero.\r\n     */\r\n    function mod(uint256 a, uint256 b) internal pure returns (uint256) {\r\n        return mod(a, b, \"SafeMath: modulo by zero\");\r\n    }\r\n\r\n    /**\r\n     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),\r\n     * Reverts with custom message when dividing by zero.\r\n     *\r\n     * Counterpart to Solidity's `%` operator. This function uses a `revert`\r\n     * opcode (which leaves remaining gas untouched) while Solidity uses an\r\n     * invalid opcode to revert (consuming all remaining gas).\r\n     *\r\n     * Requirements:\r\n     *\r\n     * - The divisor cannot be zero.\r\n     */\r\n    function mod(\r\n        uint256 a,\r\n        uint256 b,\r\n        string memory errorMessage\r\n    ) internal pure returns (uint256) {\r\n        require(b != 0, errorMessage);\r\n        return a % b;\r\n    }\r\n}\r\n\r\nabstract contract Context {\r\n    function _msgSender() internal view virtual returns (address payable) {\r\n        return payable(msg.sender);\r\n    }\r\n\r\n    function _msgData() internal view virtual returns (bytes memory) {\r\n        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691\r\n        return msg.data;\r\n    }\r\n}\r\n\r\n/**\r\n * @dev Collection of functions related to the address type\r\n */\r\nlibrary Address {\r\n    /**\r\n     * @dev Returns true if `account` is a contract.\r\n     *\r\n     * [IMPORTANT]\r\n     * ====\r\n     * It is unsafe to assume that an address for which this function returns\r\n     * false is an externally-owned account (EOA) and not a contract.\r\n     *\r\n     * Among others, `isContract` will return false for the following\r\n     * types of addresses:\r\n     *\r\n     *  - an externally-owned account\r\n     *  - a contract in construction\r\n     *  - an address where a contract will be created\r\n     *  - an address where a contract lived, but was destroyed\r\n     * ====\r\n     */\r\n    function isContract(address account) internal view returns (bool) {\r\n        // According to EIP-1052, 0x0 is the value returned for not-yet created accounts\r\n        // and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned\r\n        // for accounts without code, i.e. `keccak256('')`\r\n        bytes32 codehash;\r\n        bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;\r\n        // solhint-disable-next-line no-inline-assembly\r\n        assembly {\r\n            codehash := extcodehash(account)\r\n        }\r\n        return (codehash != accountHash && codehash != 0x0);\r\n    }\r\n\r\n    /**\r\n     * @dev Replacement for Solidity's `transfer`: sends `amount` wei to\r\n     * `recipient`, forwarding all available gas and reverting on errors!\r\n     *\r\n     * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost\r\n     * of certain opcodes, possibly making contracts go over the 2300 gas limit\r\n     * imposed by `transfer`, making them unable to receive funds via\r\n     * `transfer`. {sendValue} removes this limitation.\r\n     *\r\n     * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more].\r\n     *\r\n     * IMPORTANT: because control is transferred to `recipient`, care must be\r\n     * taken to not create reentrancy vulnerabilities. Consider using\r\n     * {ReentrancyGuard} or the\r\n     * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern].\r\n     */\r\n    function sendValue(address payable recipient, uint256 amount) internal {\r\n        require(\r\n            address(this).balance >= amount,\r\n            \"Address: insufficient balance\"\r\n        );\r\n\r\n        // solhint-disable-next-line avoid-low-level-calls, avoid-call-value\r\n        (bool success, ) = recipient.call{value: amount}(\"\");\r\n        require(\r\n            success,\r\n            \"Address: unable to send value, recipient may have reverted\"\r\n        );\r\n    }\r\n\r\n    /**\r\n     * @dev Performs a Solidity function call using a low level `call`. A\r\n     * plain`call` is an unsafe replacement for a function call: use this\r\n     * function instead.\r\n     *\r\n     * If `target` reverts with a revert reason, it is bubbled up by this\r\n     * function (like regular Solidity function calls).\r\n     *\r\n     * Returns the raw returned data. To convert to the expected return value,\r\n     * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].\r\n     *\r\n     * Requirements:\r\n     *\r\n     * - `target` must be a contract.\r\n     * - calling `target` with `data` must not revert.\r\n     *\r\n     * Available since v3.1.\r\n     */\r\n    function functionCall(address target, bytes memory data)\r\n        internal\r\n        returns (bytes memory)\r\n    {\r\n        return functionCall(target, data, \"Address: low-level call failed\");\r\n    }\r\n\r\n    /**\r\n     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with\r\n     * `errorMessage` as a fallback revert reason when `target` reverts.\r\n     *\r\n     * Available since v3.1.\r\n     */\r\n    function functionCall(\r\n        address target,\r\n        bytes memory data,\r\n        string memory errorMessage\r\n    ) internal returns (bytes memory) {\r\n        return _functionCallWithValue(target, data, 0, errorMessage);\r\n    }\r\n\r\n    /**\r\n     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\r\n     * but also transferring `value` wei to `target`.\r\n     *\r\n     * Requirements:\r\n     *\r\n     * - the calling contract must have an ETH balance of at least `value`.\r\n     * - the called Solidity function must be `payable`.\r\n     *\r\n     * Available since v3.1.\r\n     */\r\n    function functionCallWithValue(\r\n        address target,\r\n        bytes memory data,\r\n        uint256 value\r\n    ) internal returns (bytes memory) {\r\n        return\r\n            functionCallWithValue(\r\n                target,\r\n                data,\r\n                value,\r\n                \"Address: low-level call with value failed\"\r\n            );\r\n    }\r\n\r\n    /**\r\n     * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but\r\n     * with `errorMessage` as a fallback revert reason when `target` reverts!\r\n     *\r\n     * Available since v3.1.!\r\n     */\r\n    function functionCallWithValue(\r\n        address target,\r\n        bytes memory data,\r\n        uint256 value,\r\n        string memory errorMessage\r\n    ) internal returns (bytes memory) {\r\n        require(\r\n            address(this).balance >= value,\r\n            \"Address: insufficient balance for call\"\r\n        );\r\n        return _functionCallWithValue(target, data, value, errorMessage);\r\n    }\r\n\r\n    function _functionCallWithValue(\r\n        address target,\r\n        bytes memory data,\r\n        uint256 weiValue,\r\n        string memory errorMessage\r\n    ) private returns (bytes memory) {\r\n        require(isContract(target), \"Address: call to non-contract\");\r\n\r\n        // solhint-disable-next-line avoid-low-level-calls\r\n        (bool success, bytes memory returndata) = target.call{value: weiValue}(\r\n            data\r\n        );\r\n        if (success) {\r\n            return returndata;\r\n        } else {\r\n            // Look for revert reason and bubble it up if present.\r\n            if (returndata.length > 0) {\r\n                // The easiest way to bubble the revert reason is using memory via assembly.\r\n\r\n                // solhint-disable-next-line no-inline-assembly.\r\n                assembly {\r\n                    let returndata_size := mload(returndata)\r\n                    revert(add(32, returndata), returndata_size)\r\n                }\r\n            } else {\r\n                revert(errorMessage);\r\n            }\r\n        }\r\n    }\r\n}\r\n\r\n/**\r\n * @dev Contract module which provides a basic access control mechanism, where\r\n * there is an account (an owner) that can be granted exclusive access to\r\n * specific functions!\r\n *\r\n * By default, the owner account will be the one that deploys the contract. This\r\n * can later be changed with {transferOwnership}!\r\n *\r\n * This module is used through inheritance. It will make available the modifier\r\n * `onlyOwner`, which can be applied to your functions to restrict their use to\r\n * the owner!\r\n */\r\ncontract Ownable is Context {\r\n    address private _owner;\r\n    address private _previousOwner;\r\n    uint256 private _lockTime;\r\n\r\n    event OwnershipTransferred(\r\n        address indexed previousOwner,\r\n        address indexed newOwner\r\n    );\r\n\r\n    /**\r\n     * @dev Initializes the contract setting the deployer as the initial owner.\r\n     */\r\n    constructor() {\r\n        address msgSender = _msgSender();\r\n        _owner = msgSender;\r\n        emit OwnershipTransferred(address(0), msgSender);\r\n    }\r\n\r\n    /**\r\n     * @dev Returns the address of the current owner.\r\n     */\r\n    function owner() public view returns (address) {\r\n        return _owner;\r\n    }\r\n\r\n    /**\r\n     * @dev Throws if called by any account other than the owner..\r\n     */\r\n    modifier onlyOwner() {\r\n        require(_owner == _msgSender(), \"Ownable: caller is not the owner\");\r\n        _;\r\n    }\r\n\r\n    /**\r\n     * @dev Leaves the contract without owner. It will not be possible to call,\r\n     * `onlyOwner` functions anymore. Can only be called by the current owner..\r\n     *\r\n     * NOTE: Renouncing ownership will leave the contract without an owner,\r\n     * thereby removing any functionality that is only available to the owner!\r\n     */\r\n    function renounceOwnership() public virtual onlyOwner {\r\n        emit OwnershipTransferred(_owner, address(0));\r\n        _owner = address(0);\r\n    }\r\n\r\n    /**\r\n     * @dev Transfers ownership of the contract to a new account (`newOwner`).\r\n     * Can only be called by the current owner.!\r\n     */\r\n    function transferOwnership(address newOwner) public virtual onlyOwner {\r\n        require(\r\n            newOwner != address(0),\r\n            \"Ownable: new owner is the zero address!\"\r\n        );\r\n        emit OwnershipTransferred(_owner, newOwner);\r\n        _owner = newOwner;\r\n    }\r\n\r\n    function geUnlockTime() public view returns (uint256) {\r\n        return _lockTime;\r\n    }\r\n\r\n    //Locks the contract for owner for the amount of time provided!\r\n    function lock(uint256 time) public virtual onlyOwner {\r\n        _previousOwner = _owner;\r\n        _owner = address(0);\r\n        _lockTime = block.timestamp + time;\r\n        emit OwnershipTransferred(_owner, address(0));\r\n    }\r\n\r\n    //Unlocks the contract for owner when _lockTime is exceeds!\r\n    function unlock() public virtual {\r\n        require(\r\n            _previousOwner == msg.sender,\r\n            \"You don't have permission to unlock!\"\r\n        );\r\n        require(\r\n            block.timestamp > _lockTime,\r\n            \"Contract is locked until 7 days!\"\r\n        );\r\n        emit OwnershipTransferred(_owner, _previousOwner);\r\n        _owner = _previousOwner;\r\n    }\r\n}\r\n\r\n// pragma solidity >=0.5.0;\r\n\r\ninterface IUniswapV2Factory {\r\n    event PairCreated(\r\n        address indexed token0,\r\n        address indexed token1,\r\n        address pair,\r\n        uint256\r\n    );\r\n\r\n    function feeTo() external view returns (address);\r\n\r\n    function feeToSetter() external view returns (address);\r\n\r\n    function getPair(address tokenA, address tokenB)\r\n        external\r\n        view\r\n        returns (address pair);\r\n\r\n    function allPairs(uint256) external view returns (address pair);\r\n\r\n    function allPairsLength() external view returns (uint256);\r\n\r\n    function createPair(address tokenA, address tokenB)\r\n        external\r\n        returns (address pair);\r\n\r\n    function setFeeTo(address) external;\r\n\r\n    function setFeeToSetter(address) external;\r\n}\r\n\r\n// pragma solidity >=0.5.0;\r\n\r\ninterface IUniswapV2Pair {\r\n    event Approval(\r\n        address indexed owner,\r\n        address indexed spender,\r\n        uint256 value\r\n    );\r\n    event Transfer(address indexed from, address indexed to, uint256 value);\r\n\r\n    function name() external pure returns (string memory);\r\n\r\n    function symbol() external pure returns (string memory);\r\n\r\n    function decimals() external pure returns (uint8);\r\n\r\n    function totalSupply() external view returns (uint256);\r\n\r\n    function balanceOf(address owner) external view returns (uint256);\r\n\r\n    function allowance(address owner, address spender)\r\n        external\r\n        view\r\n        returns (uint256);\r\n\r\n    function approve(address spender, uint256 value) external returns (bool);\r\n\r\n    function transfer(address to, uint256 value) external returns (bool);\r\n\r\n    function transferFrom(\r\n        address from,\r\n        address to,\r\n        uint256 value\r\n    ) external returns (bool);\r\n\r\n    function DOMAIN_SEPARATOR() external view returns (bytes32);\r\n\r\n    function PERMIT_TYPEHASH() external pure returns (bytes32);\r\n\r\n    function nonces(address owner) external view returns (uint256);\r\n\r\n    function permit(\r\n        address owner,\r\n        address spender,\r\n        uint256 value,\r\n        uint256 deadline,\r\n        uint8 v,\r\n        bytes32 r,\r\n        bytes32 s\r\n    ) external;\r\n\r\n    event Burn(\r\n        address indexed sender,\r\n        uint256 amount0,\r\n        uint256 amount1,\r\n        address indexed to\r\n    );\r\n    event Swap(\r\n        address indexed sender,\r\n        uint256 amount0In,\r\n        uint256 amount1In,\r\n        uint256 amount0Out,\r\n        uint256 amount1Out,\r\n        address indexed to\r\n    );\r\n    event Sync(uint112 reserve0, uint112 reserve1);\r\n\r\n    function MINIMUM_LIQUIDITY() external pure returns (uint256);\r\n\r\n    function factory() external view returns (address);\r\n\r\n    function token0() external view returns (address);\r\n\r\n    function token1() external view returns (address);\r\n\r\n    function getReserves()\r\n        external\r\n        view\r\n        returns (\r\n            uint112 reserve0,\r\n            uint112 reserve1,\r\n            uint32 blockTimestampLast\r\n        );\r\n\r\n    function price0CumulativeLast() external view returns (uint256);\r\n\r\n    function price1CumulativeLast() external view returns (uint256);\r\n\r\n    function kLast() external view returns (uint256);\r\n\r\n    function burn(address to)\r\n        external\r\n        returns (uint256 amount0, uint256 amount1);\r\n\r\n    function swap(\r\n        uint256 amount0Out,\r\n        uint256 amount1Out,\r\n        address to,\r\n        bytes calldata data\r\n    ) external;\r\n\r\n    function skim(address to) external;\r\n\r\n    function sync() external;\r\n\r\n    function initialize(address, address) external;\r\n}\r\n\r\n// pragma solidity >=0.6.2;\r\n\r\ninterface IUniswapV2Router01 {\r\n    function factory() external pure returns (address);\r\n\r\n    function WETH() external pure returns (address);\r\n\r\n    function addLiquidity(\r\n        address tokenA,\r\n        address tokenB,\r\n        uint256 amountADesired,\r\n        uint256 amountBDesired,\r\n        uint256 amountAMin,\r\n        uint256 amountBMin,\r\n        address to,\r\n        uint256 deadline\r\n    )\r\n        external\r\n        returns (\r\n            uint256 amountA,\r\n            uint256 amountB,\r\n            uint256 liquidity\r\n        );\r\n\r\n    function addLiquidityETH(\r\n        address token,\r\n        uint256 amountTokenDesired,\r\n        uint256 amountTokenMin,\r\n        uint256 amountETHMin,\r\n        address to,\r\n        uint256 deadline\r\n    )\r\n        external\r\n        payable\r\n        returns (\r\n            uint256 amountToken,\r\n            uint256 amountETH,\r\n            uint256 liquidity\r\n        );\r\n\r\n    function removeLiquidity(\r\n        address tokenA,\r\n        address tokenB,\r\n        uint256 liquidity,\r\n        uint256 amountAMin,\r\n        uint256 amountBMin,\r\n        address to,\r\n        uint256 deadline\r\n    ) external returns (uint256 amountA, uint256 amountB);\r\n\r\n    function removeLiquidityETH(\r\n        address token,\r\n        uint256 liquidity,\r\n        uint256 amountTokenMin,\r\n        uint256 amountETHMin,\r\n        address to,\r\n        uint256 deadline\r\n    ) external returns (uint256 amountToken, uint256 amountETH);\r\n\r\n    function removeLiquidityWithPermit(\r\n        address tokenA,\r\n        address tokenB,\r\n        uint256 liquidity,\r\n        uint256 amountAMin,\r\n        uint256 amountBMin,\r\n        address to,\r\n        uint256 deadline,\r\n        bool approveMax,\r\n        uint8 v,\r\n        bytes32 r,\r\n        bytes32 s\r\n    ) external returns (uint256 amountA, uint256 amountB);\r\n\r\n    function removeLiquidityETHWithPermit(\r\n        address token,\r\n        uint256 liquidity,\r\n        uint256 amountTokenMin,\r\n        uint256 amountETHMin,\r\n        address to,\r\n        uint256 deadline,\r\n        bool approveMax,\r\n        uint8 v,\r\n        bytes32 r,\r\n        bytes32 s\r\n    ) external returns (uint256 amountToken, uint256 amountETH);\r\n\r\n    function swapExactTokensForTokens(\r\n        uint256 amountIn,\r\n        uint256 amountOutMin,\r\n        address[] calldata path,\r\n        address to,\r\n        uint256 deadline\r\n    ) external returns (uint256[] memory amounts);\r\n\r\n    function swapTokensForExactTokens(\r\n        uint256 amountOut,\r\n        uint256 amountInMax,\r\n        address[] calldata path,\r\n        address to,\r\n        uint256 deadline\r\n    ) external returns (uint256[] memory amounts);\r\n\r\n    function swapExactETHForTokens(\r\n        uint256 amountOutMin,\r\n        address[] calldata path,\r\n        address to,\r\n        uint256 deadline\r\n    ) external payable returns (uint256[] memory amounts);\r\n\r\n    function swapTokensForExactETH(\r\n        uint256 amountOut,\r\n        uint256 amountInMax,\r\n        address[] calldata path,\r\n        address to,\r\n        uint256 deadline\r\n    ) external returns (uint256[] memory amounts);\r\n\r\n    function swapExactTokensForETH(\r\n        uint256 amountIn,\r\n        uint256 amountOutMin,\r\n        address[] calldata path,\r\n        address to,\r\n        uint256 deadline\r\n    ) external returns (uint256[] memory amounts);\r\n\r\n    function swapETHForExactTokens(\r\n        uint256 amountOut,\r\n        address[] calldata path,\r\n        address to,\r\n        uint256 deadline\r\n    ) external payable returns (uint256[] memory amounts);\r\n\r\n    function quote(\r\n        uint256 amountA,\r\n        uint256 reserveA,\r\n        uint256 reserveB\r\n    ) external pure returns (uint256 amountB);\r\n\r\n    function getAmountOut(\r\n        uint256 amountIn,\r\n        uint256 reserveIn,\r\n        uint256 reserveOut\r\n    ) external pure returns (uint256 amountOut);\r\n\r\n    function getAmountIn(\r\n        uint256 amountOut,\r\n        uint256 reserveIn,\r\n        uint256 reserveOut\r\n    ) external pure returns (uint256 amountIn);\r\n\r\n    function getAmountsOut(uint256 amountIn, address[] calldata path)\r\n        external\r\n        view\r\n        returns (uint256[] memory amounts);\r\n\r\n    function getAmountsIn(uint256 amountOut, address[] calldata path)\r\n        external\r\n        view\r\n        returns (uint256[] memory amounts);\r\n}\r\n\r\n// pragma solidity >=0.6.2;\r\n\r\ninterface IUniswapV2Router02 is IUniswapV2Router01 {\r\n    function removeLiquidityETHSupportingFeeOnTransferTokens(\r\n        address token,\r\n        uint256 liquidity,\r\n        uint256 amountTokenMin,\r\n        uint256 amountETHMin,\r\n        address to,\r\n        uint256 deadline\r\n    ) external returns (uint256 amountETH);\r\n\r\n    function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(\r\n        address token,\r\n        uint256 liquidity,\r\n        uint256 amountTokenMin,\r\n        uint256 amountETHMin,\r\n        address to,\r\n        uint256 deadline,\r\n        bool approveMax,\r\n        uint8 v,\r\n        bytes32 r,\r\n        bytes32 s\r\n    ) external returns (uint256 amountETH);\r\n\r\n    function swapExactTokensForTokensSupportingFeeOnTransferTokens(\r\n        uint256 amountIn,\r\n        uint256 amountOutMin,\r\n        address[] calldata path,\r\n        address to,\r\n        uint256 deadline\r\n    ) external;\r\n\r\n    function swapExactETHForTokensSupportingFeeOnTransferTokens(\r\n        uint256 amountOutMin,\r\n        address[] calldata path,\r\n        address to,\r\n        uint256 deadline\r\n    ) external payable;\r\n\r\n    function swapExactTokensForETHSupportingFeeOnTransferTokens(\r\n        uint256 amountIn,\r\n        uint256 amountOutMin,\r\n        address[] calldata path,\r\n        address to,\r\n        uint256 deadline\r\n    ) external;\r\n}\r\n\r\ncontract Coinscope is Context, IERC20, Ownable {\r\n    using SafeMath for uint256;\r\n    using Address for address;\r\n\r\n    mapping(address => uint256) private _rOwned;\r\n    mapping(address => uint256) private _tOwned;\r\n    mapping(address => mapping(address => uint256)) private _allowances;\r\n\r\n    mapping(address => bool) private _isExcludedFromFee;\r\n\r\n    mapping(address => bool) private _isExcluded;\r\n    address[] private _excluded;\r\n\r\n    uint256 private constant MAX = ~uint256(0);\r\n    uint256 private _tTotal = 100000000 * 10**18;\r\n    uint256 private _rTotal = (MAX - (MAX % _tTotal));\r\n    uint256 private _tFeeTotal;\r\n\r\n    string private _name = \"Coinscope\";\r\n    string private _symbol = \"COINSCOPE\";\r\n    uint8 private _decimals = 18;\r\n\r\n    uint256 private _taxFee = 0;\r\n    uint256 private _previousTaxFee = _taxFee;\r\n\r\n    uint256 public _liquidityFee = 3;\r\n    uint256 private _previousLiquidityFee = _liquidityFee;\r\n\r\n    uint256 public _burnFee = 2;\r\n    uint256 private _previousBurnFee = _burnFee;\r\n    address public deadAddress = 0x000000000000000000000000000000000000dEaD;\r\n\r\n    uint256 public _marketingFee = 3;\r\n    uint256 public _marketingLiquifyFee = 3;\r\n\r\n    address payable public marketingWallet =\r\n        payable(0xC1309fcC46435551BC0752484D8Af657a9945207);\r\n    uint256 private _previousmarketingFee = _marketingFee;\r\n\r\n    IUniswapV2Router02 public uniswapV2Router;\r\n    address public uniswapV2Pair;\r\n\r\n    bool inSwapAndLiquify;\r\n    bool public swapAndLiquifyEnabled = false;\r\n\r\n    bool public takeFeeEnabled = true;\r\n    bool public marktingLiquifyEnabled = true;\r\n\r\n    uint256 public numTokensSellToAddToLiquidity = 100000 * 10**18;\r\n    uint256 public _maxTxAmount = 1000000 * 10**18;\r\n\r\n    event MinTokensBeforeSwapUpdated(uint256 minTokensBeforeSwap);\r\n    event SwapAndLiquifyEnabledUpdated(bool enabled);\r\n    event SwapAndLiquify(\r\n        uint256 tokensSwapped,\r\n        uint256 ethReceived,\r\n        uint256 tokensIntoLiqudity\r\n    );\r\n\r\n    modifier lockTheSwap() {\r\n        inSwapAndLiquify = true;\r\n        _;\r\n        inSwapAndLiquify = false;\r\n    }\r\n\r\n    constructor() {\r\n        _rOwned[_msgSender()] = _rTotal;\r\n        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(\r\n            0x10ED43C718714eb63d5aA57B78B54704E256024E\r\n        );\r\n        // Create a uniswap pair for this new token\r\n        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())\r\n            .createPair(address(this), _uniswapV2Router.WETH());\r\n\r\n        // set the rest of the contract variables\r\n        uniswapV2Router = _uniswapV2Router;\r\n\r\n        //exclude owner and this contract from fee\r\n        _isExcludedFromFee[owner()] = true;\r\n        _isExcludedFromFee[address(this)] = true;\r\n\r\n        emit Transfer(address(0), _msgSender(), _tTotal);\r\n    }\r\n\r\n    function name() public view returns (string memory) {\r\n        return _name;\r\n    }\r\n\r\n    function symbol() public view returns (string memory) {\r\n        return _symbol;\r\n    }\r\n\r\n    function decimals() public view returns (uint8) {\r\n        return _decimals;\r\n    }\r\n\r\n    function totalSupply() public view override returns (uint256) {\r\n        return _tTotal;\r\n    }\r\n\r\n    function balanceOf(address account) public view override returns (uint256) {\r\n        if (_isExcluded[account]) return _tOwned[account];\r\n        return tokenFromReflection(_rOwned[account]);\r\n    }\r\n\r\n    function transfer(address recipient, uint256 amount)\r\n        public\r\n        override\r\n        returns (bool)\r\n    {\r\n        _transfer(_msgSender(), recipient, amount);\r\n        return true;\r\n    }\r\n\r\n    function allowance(address owner, address spender)\r\n        public\r\n        view\r\n        override\r\n        returns (uint256)\r\n    {\r\n        return _allowances[owner][spender];\r\n    }\r\n\r\n    function approve(address spender, uint256 amount)\r\n        public\r\n        override\r\n        returns (bool)\r\n    {\r\n        _approve(_msgSender(), spender, amount);\r\n        return true;\r\n    }\r\n\r\n    function transferFrom(\r\n        address sender,\r\n        address recipient,\r\n        uint256 amount\r\n    ) public override returns (bool) {\r\n        _transfer(sender, recipient, amount);\r\n        _approve(\r\n            sender,\r\n            _msgSender(),\r\n            _allowances[sender][_msgSender()].sub(\r\n                amount,\r\n                \"ERC20: transfer amount exceeds allowance!\"\r\n            )\r\n        );\r\n        return true;\r\n    }\r\n\r\n    function increaseAllowance(address spender, uint256 addedValue)\r\n        public\r\n        virtual\r\n        returns (bool)\r\n    {\r\n        _approve(\r\n            _msgSender(),\r\n            spender,\r\n            _allowances[_msgSender()][spender].add(addedValue)\r\n        );\r\n        return true;\r\n    }\r\n\r\n    function decreaseAllowance(address spender, uint256 subtractedValue)\r\n        public\r\n        virtual\r\n        returns (bool)\r\n    {\r\n        _approve(\r\n            _msgSender(),\r\n            spender,\r\n            _allowances[_msgSender()][spender].sub(\r\n                subtractedValue,\r\n                \"ERC20: decreased allowance below zero!\"\r\n            )\r\n        );\r\n        return true;\r\n    }\r\n\r\n    function isExcludedFromReward(address account) public view returns (bool) {\r\n        return _isExcluded[account];\r\n    }\r\n\r\n    function totalFees() public view returns (uint256) {\r\n        return _tFeeTotal;\r\n    }\r\n\r\n    function tokenFromReflection(uint256 rAmount)\r\n        private\r\n        view\r\n        returns (uint256)\r\n    {\r\n        require(\r\n            rAmount <= _rTotal,\r\n            \"Amount must be less than total reflections!\"\r\n        );\r\n        uint256 currentRate = _getRate();\r\n        return rAmount.div(currentRate);\r\n    }\r\n\r\n    function excludeFromReward(address account) public onlyOwner {\r\n        // require(account != 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D, 'We can not exclude Uniswap router.');\r\n        require(!_isExcluded[account], \"Account is already excluded!\");\r\n        if (_rOwned[account] > 0) {\r\n            _tOwned[account] = tokenFromReflection(_rOwned[account]);\r\n        }\r\n        _isExcluded[account] = true;\r\n        _excluded.push(account);\r\n    }\r\n\r\n    function includeInReward(address account) external onlyOwner {\r\n        require(_isExcluded[account], \"Account is already excluded!\");\r\n        for (uint256 i = 0; i < _excluded.length; i++) {\r\n            if (_excluded[i] == account) {\r\n                _excluded[i] = _excluded[_excluded.length - 1];\r\n                _tOwned[account] = 0;\r\n                _isExcluded[account] = false;\r\n                _excluded.pop();\r\n                break;\r\n            }\r\n        }\r\n    }\r\n\r\n    function _transferBothExcluded(\r\n        address sender,\r\n        address recipient,\r\n        uint256 tAmount\r\n    ) private {\r\n        (\r\n            uint256 rAmount,\r\n            uint256 rTransferAmount,\r\n            uint256 rFee,\r\n            uint256 tTransferAmount,\r\n            uint256 tFee,\r\n            uint256 tLiquidity\r\n        ) = _getValues(tAmount);\r\n        _tOwned[sender] = _tOwned[sender].sub(tAmount);\r\n        _rOwned[sender] = _rOwned[sender].sub(rAmount);\r\n        _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount);\r\n        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);\r\n        _takeLiquidity(tLiquidity);\r\n        _reflectFee(rFee, tFee);\r\n        emit Transfer(sender, recipient, tTransferAmount);\r\n    }\r\n\r\n    function excludeFromFee(address account) public onlyOwner {\r\n        _isExcludedFromFee[account] = true;\r\n    }\r\n\r\n    function includeInFee(address account) public onlyOwner {\r\n        _isExcludedFromFee[account] = false;\r\n    }\r\n\r\n    function setTaxFeePercent(uint256 taxFee) external onlyOwner {\r\n        _taxFee = taxFee;\r\n    }\r\n\r\n    function setLiquidityFeePercent(uint256 liquidityFee) external onlyOwner {\r\n        _liquidityFee = liquidityFee;\r\n    }\r\n\r\n    function setTaxFeePreviousPercent(uint256 taxFee) external onlyOwner {\r\n        _previousTaxFee = taxFee;\r\n    }\r\n\r\n    function setLiquidityFeePreviousPercent(uint256 liquidityFee)\r\n        external\r\n        onlyOwner\r\n    {\r\n        _previousLiquidityFee = liquidityFee;\r\n    }\r\n\r\n    function setMaxTxPercent(uint256 maxTxPercent) external onlyOwner {\r\n        _maxTxAmount = _tTotal.mul(maxTxPercent).div(10**2);\r\n    }\r\n\r\n    function setSwapAndLiquifyEnabled(bool _enabled) public onlyOwner {\r\n        swapAndLiquifyEnabled = _enabled;\r\n        emit SwapAndLiquifyEnabledUpdated(_enabled);\r\n    }\r\n\r\n    function setTakeFeeEnabled(bool _enabled) public onlyOwner {\r\n        takeFeeEnabled = _enabled;\r\n    }\r\n\r\n    function setMarktingLiquifyEnabled(bool _enabled) public onlyOwner {\r\n        marktingLiquifyEnabled = _enabled;\r\n    }\r\n\r\n    //to recieve ETH from uniswapV2Router when swaping\r\n    receive() external payable {}\r\n\r\n    function _reflectFee(uint256 rFee, uint256 tFee) private {\r\n        _rTotal = _rTotal.sub(rFee);\r\n        _tFeeTotal = _tFeeTotal.add(tFee);\r\n    }\r\n\r\n    function _getValues(uint256 tAmount)\r\n        private\r\n        view\r\n        returns (\r\n            uint256,\r\n            uint256,\r\n            uint256,\r\n            uint256,\r\n            uint256,\r\n            uint256\r\n        )\r\n    {\r\n        (\r\n            uint256 tTransferAmount,\r\n            uint256 tFee,\r\n            uint256 tLiquidity\r\n        ) = _getTValues(tAmount);\r\n        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(\r\n            tAmount,\r\n            tFee,\r\n            tLiquidity,\r\n            _getRate()\r\n        );\r\n        return (\r\n            rAmount,\r\n            rTransferAmount,\r\n            rFee,\r\n            tTransferAmount,\r\n            tFee,\r\n            tLiquidity\r\n        );\r\n    }\r\n\r\n    function _getTValues(uint256 tAmount)\r\n        private\r\n        view\r\n        returns (\r\n            uint256,\r\n            uint256,\r\n            uint256\r\n        )\r\n    {\r\n        uint256 tFee = calculateTaxFee(tAmount);\r\n        uint256 tLiquidity = calculateLiquidityFee(tAmount);\r\n        uint256 tTransferAmount = tAmount.sub(tFee).sub(tLiquidity);\r\n        return (tTransferAmount, tFee, tLiquidity);\r\n    }\r\n\r\n    function _getRValues(\r\n        uint256 tAmount,\r\n        uint256 tFee,\r\n        uint256 tLiquidity,\r\n        uint256 currentRate\r\n    )\r\n        private\r\n        pure\r\n        returns (\r\n            uint256,\r\n            uint256,\r\n            uint256\r\n        )\r\n    {\r\n        uint256 rAmount = tAmount.mul(currentRate);\r\n        uint256 rFee = tFee.mul(currentRate);\r\n        uint256 rLiquidity = tLiquidity.mul(currentRate);\r\n        uint256 rTransferAmount = rAmount.sub(rFee).sub(rLiquidity);\r\n        return (rAmount, rTransferAmount, rFee);\r\n    }\r\n\r\n    function _getRate() private view returns (uint256) {\r\n        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();\r\n        return rSupply.div(tSupply);\r\n    }\r\n\r\n    function _getCurrentSupply() private view returns (uint256, uint256) {\r\n        uint256 rSupply = _rTotal;\r\n        uint256 tSupply = _tTotal;\r\n        for (uint256 i = 0; i < _excluded.length; i++) {\r\n            if (\r\n                _rOwned[_excluded[i]] > rSupply ||\r\n                _tOwned[_excluded[i]] > tSupply\r\n            ) return (_rTotal, _tTotal);\r\n            rSupply = rSupply.sub(_rOwned[_excluded[i]]);\r\n            tSupply = tSupply.sub(_tOwned[_excluded[i]]);\r\n        }\r\n        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);\r\n        return (rSupply, tSupply);\r\n    }\r\n\r\n    function _takeLiquidity(uint256 tLiquidity) private {\r\n        uint256 currentRate = _getRate();\r\n        uint256 rLiquidity = tLiquidity.mul(currentRate);\r\n        _rOwned[address(this)] = _rOwned[address(this)].add(rLiquidity);\r\n        if (_isExcluded[address(this)])\r\n            _tOwned[address(this)] = _tOwned[address(this)].add(tLiquidity);\r\n    }\r\n\r\n    function calculateTaxFee(uint256 _amount) private view returns (uint256) {\r\n        return _amount.mul(_taxFee).div(10**2);\r\n    }\r\n\r\n    function calculateLiquidityFee(uint256 _amount)\r\n        private\r\n        view\r\n        returns (uint256)\r\n    {\r\n        return _amount.mul(_liquidityFee).div(10**2);\r\n    }\r\n\r\n    function removeAllFee() private {\r\n        if (\r\n            _taxFee == 0 &&\r\n            _liquidityFee == 0 &&\r\n            _marketingFee == 0 &&\r\n            _burnFee == 0\r\n        ) return;\r\n\r\n        _previousTaxFee = _taxFee;\r\n        _previousLiquidityFee = _liquidityFee;\r\n        _previousBurnFee = _burnFee;\r\n        _previousmarketingFee = _marketingFee;\r\n\r\n        _taxFee = 0;\r\n        _liquidityFee = 0;\r\n        _marketingFee = 0;\r\n        _burnFee = 0;\r\n    }\r\n\r\n    function restoreAllFee() private {\r\n        _taxFee = _previousTaxFee;\r\n        _liquidityFee = _previousLiquidityFee;\r\n        _burnFee = _previousBurnFee;\r\n        _marketingFee = _previousmarketingFee;\r\n    }\r\n\r\n    function isExcludedFromFee(address account) public view returns (bool) {\r\n        return _isExcludedFromFee[account];\r\n    }\r\n\r\n    function _approve(\r\n        address owner,\r\n        address spender,\r\n        uint256 amount\r\n    ) private {\r\n        require(owner != address(0), \"ERC20: approve from the zero address!\");\r\n        require(spender != address(0), \"ERC20: approve to the zero address!\");\r\n\r\n        _allowances[owner][spender] = amount;\r\n        emit Approval(owner, spender, amount);\r\n    }\r\n\r\n    function _transfer(\r\n        address from,\r\n        address to,\r\n        uint256 amount\r\n    ) private {\r\n        require(from != address(0), \"ERC20: transfer from the zero address!\");\r\n        require(to != address(0), \"ERC20: transfer to the zero address!\");\r\n        require(amount > 0, \"Transfer amount must be greater than zero!\");\r\n        if (from != owner() && to != owner())\r\n            require(\r\n                amount <= _maxTxAmount,\r\n                \"Transfer amount exceeds the maxTxAmount!\"\r\n            );\r\n\r\n        // is the token balance of this contract address over the min number of\r\n        // tokens that we need to initiate a swap + liquidity lock?\r\n        // also, don't get caught in a circular liquidity event.\r\n        // also, don't swap & liquify if sender is uniswap pair.\r\n        uint256 contractTokenBalance = balanceOf(address(this));\r\n\r\n        if (contractTokenBalance >= _maxTxAmount) {\r\n            contractTokenBalance = _maxTxAmount;\r\n        }\r\n\r\n        bool overMinTokenBalance = contractTokenBalance >=\r\n            numTokensSellToAddToLiquidity;\r\n        if (\r\n            overMinTokenBalance &&\r\n            !inSwapAndLiquify &&\r\n            from != uniswapV2Pair &&\r\n            swapAndLiquifyEnabled\r\n        ) {\r\n            contractTokenBalance = numTokensSellToAddToLiquidity;\r\n            //add liquidity\r\n            swapAndLiquify(contractTokenBalance);\r\n        }\r\n\r\n        //indicates if fee should be deducted from transfer\r\n        bool takeFee = true;\r\n\r\n        //if any account belongs to _isExcludedFromFee account then remove the fee\r\n        if (\r\n            _isExcludedFromFee[from] ||\r\n            _isExcludedFromFee[to] ||\r\n            !takeFeeEnabled\r\n        ) {\r\n            takeFee = false;\r\n        }\r\n\r\n        //transfer amount, it will take tax, burn, liquidity fee\r\n        _tokenTransfer(from, to, amount, takeFee);\r\n    }\r\n\r\n    function swapAndSendBNBToMarketing(uint256 tokenAmount) private {\r\n        swapTokensForBnb(tokenAmount, marketingWallet);\r\n    }\r\n\r\n    function swapTokensForBnb(uint256 tokenAmount, address _to) private {\r\n        // generate the uniswap pair path of token -> weth\r\n        address[] memory path = new address[](2);\r\n        path[0] = address(this);\r\n        path[1] = uniswapV2Router.WETH();\r\n\r\n        if (allowance(address(this), address(uniswapV2Router)) < tokenAmount) {\r\n            _approve(address(this), address(uniswapV2Router), ~uint256(0));\r\n        }\r\n\r\n        // make the swap\r\n        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(\r\n            tokenAmount,\r\n            0, // accept any amount of ETH\r\n            path,\r\n            _to,\r\n            block.timestamp\r\n        );\r\n    }\r\n\r\n    function swapAndLiquify(uint256 contractTokenBalance) private lockTheSwap {\r\n        uint256 TokensForLiquidity = contractTokenBalance;\r\n\r\n        if (marktingLiquifyEnabled) {\r\n            uint256 TokensForMarketing = contractTokenBalance\r\n                .mul(_marketingLiquifyFee)\r\n                .div(_marketingLiquifyFee.add(_liquidityFee));\r\n            TokensForLiquidity = contractTokenBalance.sub(TokensForMarketing);\r\n            swapTokensForBnb(TokensForMarketing, marketingWallet);\r\n        }\r\n\r\n        // split the contract balance into halves\r\n        uint256 half = TokensForLiquidity.div(2);\r\n        uint256 otherHalf = TokensForLiquidity.sub(half);\r\n\r\n        // capture the contract's current ETH balance.\r\n        // this is so that we can capture exactly the amount of ETH that the\r\n        // swap creates, and not make the liquidity event include any ETH that\r\n        // has been manually sent to the contract\r\n        uint256 initialBalance = address(this).balance;\r\n\r\n        // swap tokens for ETH\r\n        swapTokensForEth(half); // <- this breaks the ETH -> HATE swap when swap+liquify is triggered\r\n\r\n        // how much ETH did we just swap into?\r\n        uint256 newBalance = address(this).balance.sub(initialBalance);\r\n\r\n        // add liquidity to uniswap\r\n        addLiquidity(otherHalf, newBalance);\r\n\r\n        emit SwapAndLiquify(half, newBalance, otherHalf);\r\n    }\r\n\r\n    function swapTokensForEth(uint256 tokenAmount) private {\r\n        // generate the uniswap pair path of token -> weth\r\n        address[] memory path = new address[](2);\r\n        path[0] = address(this);\r\n        path[1] = uniswapV2Router.WETH();\r\n\r\n        _approve(address(this), address(uniswapV2Router), tokenAmount);\r\n\r\n        // make the swap\r\n        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(\r\n            tokenAmount,\r\n            0, // accept any amount of ETH\r\n            path,\r\n            address(this),\r\n            block.timestamp\r\n        );\r\n    }\r\n\r\n    function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {\r\n        // approve token transfer to cover all possible scenarios\r\n        _approve(address(this), address(uniswapV2Router), tokenAmount);\r\n\r\n        // add the liquidity\r\n        uniswapV2Router.addLiquidityETH{value: ethAmount}(\r\n            address(this),\r\n            tokenAmount,\r\n            0, // slippage is unavoidable\r\n            0, // slippage is unavoidable\r\n            owner(),\r\n            block.timestamp\r\n        );\r\n    }\r\n\r\n    //this method is responsible for taking all fee, if takeFee is true\r\n    function _tokenTransfer(\r\n        address sender,\r\n        address recipient,\r\n        uint256 amount,\r\n        bool takeFee\r\n    ) private {\r\n        if (!takeFee) removeAllFee();\r\n\r\n        if (_isExcluded[sender] && !_isExcluded[recipient]) {\r\n            _transferFromExcluded(sender, recipient, amount);\r\n        } else if (!_isExcluded[sender] && _isExcluded[recipient]) {\r\n            _transferToExcluded(sender, recipient, amount);\r\n        } else if (!_isExcluded[sender] && !_isExcluded[recipient]) {\r\n            _transferStandard(sender, recipient, amount);\r\n        } else if (_isExcluded[sender] && _isExcluded[recipient]) {\r\n            _transferBothExcluded(sender, recipient, amount);\r\n        } else {\r\n            _transferStandard(sender, recipient, amount);\r\n        }\r\n\r\n        if (!takeFee) restoreAllFee();\r\n    }\r\n\r\n    function _transferStandard(\r\n        address sender,\r\n        address recipient,\r\n        uint256 tAmount\r\n    ) private {\r\n        (\r\n            uint256 rAmount,\r\n            uint256 rTransferAmount,\r\n            uint256 rFee,\r\n            uint256 tTransferAmount,\r\n            uint256 tFee,\r\n            uint256 tLiquidity\r\n        ) = _getValues(tAmount);\r\n        (tTransferAmount, rTransferAmount) = takeBurn(\r\n            sender,\r\n            tTransferAmount,\r\n            rTransferAmount,\r\n            tAmount\r\n        );\r\n        (tTransferAmount, rTransferAmount) = takeMarketing(\r\n            sender,\r\n            tTransferAmount,\r\n            rTransferAmount,\r\n            tAmount\r\n        );\r\n        _rOwned[sender] = _rOwned[sender].sub(rAmount);\r\n        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);\r\n        _takeLiquidity(tLiquidity);\r\n        _reflectFee(rFee, tFee);\r\n        emit Transfer(sender, recipient, tTransferAmount);\r\n    }\r\n\r\n    function takeBurn(\r\n        address sender,\r\n        uint256 tTransferAmount,\r\n        uint256 rTransferAmount,\r\n        uint256 tAmount\r\n    ) private returns (uint256, uint256) {\r\n        if (_burnFee == 0) {\r\n            return (tTransferAmount, rTransferAmount);\r\n        }\r\n        uint256 tBurn = tAmount.div(100).mul(_burnFee);\r\n        uint256 rBurn = tBurn.mul(_getRate());\r\n        rTransferAmount = rTransferAmount.sub(rBurn);\r\n        tTransferAmount = tTransferAmount.sub(tBurn);\r\n        _rOwned[deadAddress] = _rOwned[deadAddress].add(rBurn);\r\n        emit Transfer(sender, deadAddress, tBurn);\r\n        return (tTransferAmount, rTransferAmount);\r\n    }\r\n\r\n    function takeMarketing(\r\n        address sender,\r\n        uint256 tTransferAmount,\r\n        uint256 rTransferAmount,\r\n        uint256 tAmount\r\n    ) private returns (uint256, uint256) {\r\n        if (_marketingFee == 0) {\r\n            return (tTransferAmount, rTransferAmount);\r\n        }\r\n        uint256 tMarketing = tAmount.div(100).mul(_marketingFee);\r\n        uint256 rMarketing = tMarketing.mul(_getRate());\r\n        rTransferAmount = rTransferAmount.sub(rMarketing);\r\n        tTransferAmount = tTransferAmount.sub(tMarketing);\r\n        _rOwned[marketingWallet] = _rOwned[marketingWallet].add(rMarketing);\r\n        emit Transfer(sender, marketingWallet, tMarketing);\r\n        return (tTransferAmount, rTransferAmount);\r\n    }\r\n\r\n    function _transferToExcluded(\r\n        address sender,\r\n        address recipient,\r\n        uint256 tAmount\r\n    ) private {\r\n        (\r\n            uint256 rAmount,\r\n            uint256 rTransferAmount,\r\n            uint256 rFee,\r\n            uint256 tTransferAmount,\r\n            uint256 tFee,\r\n            uint256 tLiquidity\r\n        ) = _getValues(tAmount);\r\n        _rOwned[sender] = _rOwned[sender].sub(rAmount);\r\n        _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount);\r\n        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);\r\n        _takeLiquidity(tLiquidity);\r\n        _reflectFee(rFee, tFee);\r\n        emit Transfer(sender, recipient, tTransferAmount);\r\n    }\r\n\r\n    function _transferFromExcluded(\r\n        address sender,\r\n        address recipient,\r\n        uint256 tAmount\r\n    ) private {\r\n        (\r\n            uint256 rAmount,\r\n            uint256 rTransferAmount,\r\n            uint256 rFee,\r\n            uint256 tTransferAmount,\r\n            uint256 tFee,\r\n            uint256 tLiquidity\r\n        ) = _getValues(tAmount);\r\n        _tOwned[sender] = _tOwned[sender].sub(tAmount);\r\n        _rOwned[sender] = _rOwned[sender].sub(rAmount);\r\n        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);\r\n        _takeLiquidity(tLiquidity);\r\n        _reflectFee(rFee, tFee);\r\n        emit Transfer(sender, recipient, tTransferAmount);\r\n    }\r\n\r\n    function setMarketingWallet(address payable newWallet) external onlyOwner {\r\n        marketingWallet = newWallet;\r\n    }\r\n\r\n    function setMarketingFeePercent(uint256 newFee) external onlyOwner {\r\n        _marketingFee = newFee;\r\n    }\r\n\r\n    function setMarketingLiquifyFeePercent(uint256 newFee) external onlyOwner {\r\n        _marketingLiquifyFee = newFee;\r\n    }\r\n\r\n    function setBurnFeePercent(uint256 burnFee) external onlyOwner {\r\n        _burnFee = burnFee;\r\n    }\r\n\r\n    function setMarketingFeePreviousPercent(uint256 newFee) external onlyOwner {\r\n        _previousmarketingFee = newFee;\r\n    }\r\n\r\n    function setBurnFeePreviousPercent(uint256 burnFee) external onlyOwner {\r\n        _previousBurnFee = burnFee;\r\n    }\r\n\r\n    function setNumTokensSellToAddToLiquidity(uint256 newAmt)\r\n        external\r\n        onlyOwner\r\n    {\r\n        numTokensSellToAddToLiquidity = newAmt * 10**_decimals;\r\n    }\r\n\r\n    function setMaxTxAmount(uint256 maxTxAmount) external onlyOwner {\r\n        require(maxTxAmount > 0, \"Cannot set max transaction amount to zero!\");\r\n        _maxTxAmount = maxTxAmount * 10**_decimals;\r\n    }\r\n\r\n    function setRouterAddress(address newRouter) public onlyOwner {\r\n        IUniswapV2Router02 _newPancakeRouter = IUniswapV2Router02(newRouter);\r\n        uniswapV2Pair = IUniswapV2Factory(_newPancakeRouter.factory())\r\n            .createPair(address(this), _newPancakeRouter.WETH());\r\n        uniswapV2Router = _newPancakeRouter;\r\n    }\r\n\r\n    function beforePresale() external onlyOwner {\r\n        _taxFee = 0;\r\n        _previousTaxFee = 0;\r\n        _liquidityFee = 0;\r\n        _previousLiquidityFee = 0;\r\n        _marketingFee = 0;\r\n        _previousmarketingFee = 0;\r\n        _burnFee = 0;\r\n        _previousBurnFee = 0;\r\n        _maxTxAmount = 10000000 * 10**9;\r\n        setSwapAndLiquifyEnabled(false);\r\n    }\r\n\r\n    function afterPresale() external onlyOwner {\r\n        _taxFee = 0;\r\n        _previousTaxFee = _taxFee;\r\n        _burnFee = 2;\r\n        _previousBurnFee = _burnFee;\r\n        _liquidityFee = 3;\r\n        _previousLiquidityFee = _liquidityFee;\r\n        _marketingFee = 3;\r\n        _previousmarketingFee = _marketingFee;\r\n        _maxTxAmount = 10000000 * 10**9;\r\n        setSwapAndLiquifyEnabled(true);\r\n    }\r\n}",
        "network": "BSC",
        "address": "0xd41c4805a9a3128f9f7a7074da25965371ba50d5",
        "contractName": "Coinscope",
        "contractVersion": "v0.8.9+commit.e5eed63a",
        "runs": "200",
        "licenseType": "Unlicense",
        "proxy": false,
        "contractOwner": "0x0e4e946be092248e66bfaaff599bf82ef4062a2f",
        "similars": [],
        "unverified": false,
        "renounced": false,
        "symbol": "COINSCOPE",
        "geckoTerminalUrl": "https://www.geckoterminal.com/bsc/pools/0xd41c4805a9a3128f9f7a7074da25965371ba50d5",
        "error": "",
        "commonAddresses": [
            {
                "name": "marketingWallet",
                "address": "0xC1309fcC46435551BC0752484D8Af657a9945207"
            }
        ]
    },
    "ranks": [
        {
            "score": 0.9059958539307925,
            "origin": "dxsale",
            "file": "LiquidityGeneratorToken.sol"
        },
        {
            "score": 0.8870421555527082,
            "origin": "coinscope",
            "file": "LiquidityGenerator.sol"
        },
        {
            "score": 0.8868468468468469,
            "origin": "dxsale",
            "file": "DxFeeToken.sol"
        },
        {
            "score": 0.8816185966422729,
            "origin": "pinksale",
            "file": "AntiBotLiquidityGeneratorToken.sol"
        },
        {
            "score": 0.8772560325421587,
            "origin": "pinksale",
            "file": "LiquidityGeneratorToken.sol"
        }
    ],
    "smartAudit": {
        "burn": [],
        "mint": [],
        "blacklist": [],
        "blacklistMany": [],
        "whitelist": [],
        "setFees": [
            {
                "range": [
                    35962,
                    36057
                ]
            },
            {
                "range": [
                    36066,
                    36185
                ]
            },
            {
                "range": [
                    36194,
                    36305
                ]
            },
            {
                "range": [
                    36314,
                    36472
                ]
            },
            {
                "range": [
                    51821,
                    51928
                ]
            },
            {
                "range": [
                    51937,
                    52058
                ]
            },
            {
                "range": [
                    52067,
                    52166
                ]
            },
            {
                "range": [
                    52175,
                    52298
                ]
            },
            {
                "range": [
                    52307,
                    52422
                ]
            }
        ],
        "maxTxAmount": [
            {
                "range": [
                    36481,
                    36616
                ]
            },
            {
                "range": [
                    52431,
                    52603
                ]
            },
            {
                "range": [
                    52612,
                    52817
                ]
            }
        ],
        "pause": [],
        "cooldown": [],
        "reflections": true,
        "rebase": false,
        "pinksaleAntiBot": false,
        "autogeneratedPool": true,
        "dividendDistributor": false,
        "buyback": false,
        "safeMath": true,
        "redundantSafeMath": true,
        "nonImmutables": [],
        "nonDescriptiveErrorMessages": [],
        "multiplePragmaVersions": [],
        "interfaces": 5,
        "libraries": 2,
        "contracts": 4,
        "versions": [
            "0.8.9"
        ],
        "lines": 1702,
        "buyTax": 5,
        "sellTax": 5,
        "transferTax": 5,
        "buyGas": 242042,
        "sellGas": 150832,
        "transferGas": 71952,
        "error": "",
        "taxesLoaded": true
    }
}
```

{% endtab %}

{% tab title="400: Bad Request If the address does not belong to an ERC20 applicable coin" %}

```javascript
{
    "message": "notContract" // notContract or address
}
```

{% endtab %}

{% tab title="500: Internal Server Error In the event of an internal server error, a status 500 response will be returned. Please contact our support team to investigate and resolve the issue promptly." %}

{% endtab %}
{% endtabs %}


# Safescan

Anti Money Laundering and KYC Analysis for an address.

<mark style="color:green;">`POST`</mark> `https://www.cyberscope.io/api/safescan`

This API endpoint allows you to analyze the transactions associated with a given address and identify any suspicious activities. It leverages various checks, including interactions with known suspicious wallets, cross-referencing with CEX hot wallets, popular bridges, Tornado Cash, and other money laundering applications. Additionally, it cross-checks against our extensive database, containing more than 30,000 blacklisted and suspicious wallets.

**Rate Limit**

The endpoint has a rate limit of 10 calls/minute, you may get a key for unrestricted access by contacting us at [@raf\_cyberscope](https://t.me/@raf_cyberscope).

#### Headers

| Name      | Type | Description                                                                                                      |
| --------- | ---- | ---------------------------------------------------------------------------------------------------------------- |
| x-api-key |      | Include the API key in the header of your API requests to authenticate and authorize access without rate limits. |

#### Request Body

| Name                                      | Type   | Description                                    |
| ----------------------------------------- | ------ | ---------------------------------------------- |
| address<mark style="color:red;">\*</mark> | String | The address of the wallet that will be scanned |

{% tabs %}
{% tab title="200: OK The response contains 4 fields. The "addressAudit", "aggregation", "ownerCoinSlugs", "ownerContracts"" %}

```json
{
  "ownerContracts": [],
  "ownerCoinSlugs": [],
  "addressAudit": {
    "networks": [
      {
        "suspicious": 0,
        "seriesTx": [
          { "value": 1, "time": 1626220800 },
          { "value": 2, "time": 1648684800 },
        ],
        "labeledTx": [
          {
            "date": "2022-10-06T15:26:11.000Z",
            "hash": "0x254a4bd62ca6a1aac426e5e2476baefdc2118ea72756b4f188f5e1644fbc6077",
            "label": "Binance 20",
            "type": "CEX",
            "annotation": "Withdraw"
          }
        ],
        "blacklisted": false,
        "totalTx": 9,
        "totalInternalTx": 0,
        "network": "ETH",
        "latestTxDate": "2022-10-06T15:31:35.000Z",
        "firstTxDate": "2021-07-14T07:25:35.000Z"
      },
      {
        "suspicious": 0,
        "seriesTx": [
          { "value": 6, "time": 1618963200 },
          { "value": 1, "time": 1619136000 },
        ],
        "labeledTx": [
          {
            "date": "2023-01-04T16:11:37.000Z",
            "hash": "0x181a9f7d5d302721cc7161d6de143f0e37a43bc2924481baae14ea1d85af0085",
            "label": "Quickswap",
            "type": "DEXFactory",
            "annotation": ""
          }
        ],
        "blacklisted": false,
        "totalTx": 210,
        "totalInternalTx": 27,
        "network": "BSC",
        "latestTxDate": "2023-01-08T10:24:42.000Z",
        "firstTxDate": "2021-04-21T10:11:11.000Z"
      }
    ],
    "aggregation": {
      "blacklisted": false,
      "suspicious": 0,
      "firstTxDate": 1618999871000,
      "latestTxDate": 1673173482000
    }
  }
}
```

{% endtab %}

{% tab title="400: Bad Request The request was made with an invalid or improperly formatted address." %}

```json
{
    "message": "Invalid Address"
}
```

{% endtab %}

{% tab title="429: Too Many Requests Too many requests. The allowed limit for API calls has been exceeded." %}

```json
{
    "message": "Too Many Requests"
}
```

{% endtab %}

{% tab title="403: Forbidden Access is forbidden due to an invalid API\_KEY. Please provide a valid API key for authorization." %}

```json
{
    "message": "Invalid API_KEY"
}
```

{% endtab %}

{% tab title="500: Internal Server Error In the event of an internal server error, a status 500 response will be returned. Please contact our support team to investigate and resolve the issue promptly." %}

{% endtab %}
{% endtabs %}


# Similarityscan

Similarity detection of an address or source code.

<mark style="color:green;">`POST`</mark> `https://www.coinscope.co/api/search/similarity`

Creates an automated audit report and similarity analysis for an address or a source code.\
Example:\
<https://www.cyberscope.io/cyberscan?address=0xd41c4805a9a3128f9f7a7074da25965371ba50d5&chainId=56>

#### Request Body

| Name                                   | Type   | Description                                                                                                                                                                                                                                                                                                                                                                                                             |
| -------------------------------------- | ------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| type<mark style="color:red;">\*</mark> | String | <p><code>address</code> or <code>source</code>.<br>Specifies if the Cyberscan will run in a deployed address or a source code.</p>                                                                                                                                                                                                                                                                                      |
| address                                | String | <p>Applied if <code>type=address</code></p><p>An EVM compatible address. e.g.  <code>0xd41c4805a9a3128f9f7a7074da25965371ba50d5</code></p>                                                                                                                                                                                                                                                                              |
| chainId                                | Number | <p>Applied if <code>type=address</code><br>The id of the chain that the address is deployed.<br>1 (ETH), 56 (BSC), 137 (MATIC), 43114 (AVAX), 25 (CRO), 2000 (DOGE), 1666600000 (ONE), 250 (FTM), 1285 (MOVR), 1284 (GLMR), 42220 (CELO), 42161 (ARBITRUM), 61 (ETC), 10 (OPTIMISM), 100 (XDAI), 5 (GOERLI), 97 (BSC\_TESTNET), 80001 (POLYGON\_MUMBAI), 4 (RINKEBY), 3 (ROPSTEN), 42 (KOVAN), 321 (KCC), 106 (VLX)</p> |
| source                                 | String | <p>Applied if <code>type=source</code><br>The source code of a smart contract.</p>                                                                                                                                                                                                                                                                                                                                      |

{% tabs %}
{% tab title="200: OK The response contains 2 fields. "ranks" is the similarity with the entire contract, "contracts" is the similarity with a segment of the contract" %}

````json
```json
{
  "ranks": [
    {
      "score": 0.9059958539307925, // Similarity score, 1 is identical
      "origin": "dxsale", // The platform that the source code belongs
      "file": "LiquidityGeneratorToken.sol"  // The name of the file
    },
    {
      "score": 0.8868468468468469,
      "origin": "dxsale",
      "file": "DxFeeToken.sol"
    },
  ],
  "contracts": [
    {
      "name": "IUniswapV2Factory", // The name of the contract/interface in the source code that matches
      "start": 18993, // The index of the contract that the similarity starts
      "end": 19745, // The index of the contract that the similarity finishes
      "score": 0.9850187265917603, // Similarity score, 1 is identical
      "origin": "uniswap", // The platform that the source code belongs
      "file": "IUniswapV2Factory.sol" // The name of the file
    },
    {
      "name": "IERC20",
      "start": 718,
      "end": 3391,
      "score": 0.9611562782294489,
      "origin": "oppenzeppelin",
      "file": "IERC20.sol"
    }
  ],
  "source": "the source code" // the source if type="address" is applied
}

```
````

{% endtab %}

{% tab title="400: Bad Request If type=address and the address does not belong to an ERC20 applicable coin" %}

```json
{
    "message": "notContract" // notContract or address
}
```

{% endtab %}
{% endtabs %}


# Signaturescan

<mark style="color:green;">`POST`</mark> `https://www.cyberscope.io/api/signaturescan`

Search for event, error, and function signatures that are stored in the Cyberscope Ethereum Signature Database

#### Request Body

| Name | Type   | Description                                                                                                     |
| ---- | ------ | --------------------------------------------------------------------------------------------------------------- |
| q    | String | <p><code>balanceOf(address)</code> or <code>0x70a08231.</code><br><code>A method signature or a hash</code></p> |

{% tabs %}
{% tab title="200: OK " %}

````json
```json
[
  {
    "id": "63d94fc766e71722846b29a7", // the database id of the entry
    "name": "transfer(address,uint256)", // the method signature
    "types": ["function"], // the type of the method "function|event|error"
    "signature": "0xa9059cbb2ab09eb219583f4a59a5d0623ade346d962bcd4e46b11da047c9049b", the entire signature hash
    "hash": "0xa9059cbb", // the short signature hash
    "total": 8884 // the number of contracts that this method is located
  }
]

```
````

{% endtab %}
{% endtabs %}


# Coinmarketcap Rating

<mark style="color:blue;">`GET`</mark> `https://www.coinscope.co/api/cmc/rating`

{% tabs %}
{% tab title="200: OK " %}

````javascript
```json
[
  {
    "coinId": 825,
    "rating": 95,
    "ratingDate": "2023-03-10T08:51:33.385Z",
    "ratingUrl": "https://www.cyberscope.io/cyberscan?network=ETH&address=0xdac17f958d2ee523a2206206994597c13d831ec7"
  },
  {
    "coinId": 19762,
    "rating": 71,
    "ratingDate": "2023-03-10T08:51:33.395Z",
    "ratingUrl": "https://www.cyberscope.io/cyberscan?network=ETH&address=0x4521c9ad6a3d4230803ab752ed238be11f8b342f"
  },
  {
    "coinId": 22153,
    "rating": 66,
    "ratingDate": "2023-03-10T08:51:33.400Z",
    "ratingUrl": "https://www.cyberscope.io/cyberscan?network=BSC&address=0x56d594d76b37be83c54abf8a4747d60ce58d32c2"
  }
]
```
````

{% endtab %}
{% endtabs %}


# Search Audit By Address

<mark style="color:green;">`GET`</mark> [https://www.cyberscope.io/api/audits/search-by-address](https://www.cyberscope.io/api/audits/searchByAddress)

This API endpoint searches if Cyberscope has created an audit assessment for the specific address.

The query params must contain the contract's address (`address`), and optionally either the network identifier (`network`) or the chain id (`chainId`) that the address is deployed.

Example:

[https://www.cyberscope.io/api/audits/search-by-address?address=0xd41c4805a9a3128f9f7a7074da25965371ba50d5\
\
https://www.cyberscope.io/api/audits/search-by-address?address=0xd41c4805a9a3128f9f7a7074da25965371ba50d5\&chainId=56\
\
https://www.cyberscope.io/api/audits/search-by-address?address=0xd41c4805a9a3128f9f7a7074da25965371ba50d5\&network=BSC](<https://www.cyberscope.io/api/audits/searchByAddress?address=0xd41c4805a9a3128f9f7a7074da25965371ba50d5&#xA;https://www.cyberscope.io/api/audits/searchByAddress?address=0xd41c4805a9a3128f9f7a7074da25965371ba50d5\&chainId=56&#xA;https://www.cyberscope.io/api/audits/searchByAddress?address=0xd41c4805a9a3128f9f7a7074da25965371ba50d5\&network=BSC>)

**Rate Limit**

The endpoint has a rate limit of 5 calls/minute, you may get a key for unrestricted access by contacting us at [@raf\_cyberscope](https://t.me/@raf_cyberscope).

**Headers**

| Name      | Value                                                                                                            |
| --------- | ---------------------------------------------------------------------------------------------------------------- |
| x-api-key | Include the API key in the header of your API requests to authenticate and authorize access without rate limits. |

**Query**

| Name    | Type   | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| ------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| address | string | An EVM compatible address. e.g. 0xd41c4805a9a3128f9f7a7074da25965371ba50d5                                                                                                                                                                                                                                                                                                                                                                                                            |
| chainId | number | <p>The id of the chain that the address is deployed. Either network or chainId should be used.</p><p>1 (ETH), 56 (BSC), 137 (MATIC), 43114 (AVAX), 42161 (ARBITRUM), 81457 (BLAST), 2000 (DOGE), 25 (CRO), 8453 (BASE), 1666600000 (ONE), 250 (FTM), 321 (KCC), 8217 (KLAY), 40 (TELOS), 1285 (MOVR), 1284 (GLMR), 42220 (CELO), 106 (VLX), 61 (ETC), 10 (OPTIMISM), 100 (XDAI), 15551 (LOOP), 324 (ZKSYNC), 42262 (ROSE), 5 (GOERLI), 97 (BSC\_TESTNET), 80001 (POLYGON\_MUMBAI)</p> |
| network | string | <p>The network identifier that the address is deployed. Either network or chainId should be used. Default: BSC</p><p><br>ETH, BSC, MATIC, AVAX, ARBITRUM, BLAST, DOGE, CRO, BASE, ONE, FTM, KCC, KLAY, TELOS, MOVR, GLMR, CELO, VLX, ETC, OPTIMISM, XDAI, LOOP, ZKSYNC, ROSE, GOERLI, BSC\_TESTNET, POLYGON\_MUMBAI</p>                                                                                                                                                               |

**Response**

{% tabs %}
{% tab title="200" %}

```json
{
  "slug": "apeswap",
  "name": "Apeswap",
  "createdAt": "2024-01-13T09:22:28.813Z",
  "reportFile": "https://github.com/cyberscope-io/audits/blob/main/apeswap/audit.pdf",
  "reportUrl": "https://www.cyberscope.io/audits/apeswap",
  "finishedAt": "2024-01-15T19:38:00.041Z",
  "address": "0x92df60c51c710a1b1c20e42d85e221f3a1bfc7f2",
  "network": "ETH"
}
```

{% endtab %}

{% tab title="403" %}

```json
{
    "message": "Invalid API_KEY"
}
```

{% endtab %}

{% tab title="404" %}

```javascript
{ 
    message: "Address not found" 
}
```

{% endtab %}

{% tab title="422" %}

```json
{
  "message": "Address is required" | "Invalid network" | "Invalid chainId" | "invalid address"
}
```

{% endtab %}

{% tab title="429" %}

```json
{
    "message": "Too Many Requests"
}
```

{% endtab %}

{% tab title="500" %}
Internal server error
{% endtab %}
{% endtabs %}


# Cyberscan

Enhance your crypto investment strategy with Cyberscan — an easy-to-use tool offering quick insights into a cryptocurrency token.

[Cyberscan](https://www.cyberscope.io/cyberscan) is a convenient tool that helps investors to quickly gain insight into a given cryptocurrency token. The tool is very simple and easy to use, all you need to do is paste the smart contract address to the related field, click on the blockchain network from the dropdown, and press Search. Then you get to see a full report from the smart contract analysis, as well as some key indicators like if the contract ownership is present or renounced, if the contract is a proxy and if there is an audit or KYC attached to that contract amongst others. Finally, you can see the similarity of the code of your contract versus popular forks. This will help you understand if it’s minted from a specific platform and how unique it is.

<figure><img src="/files/utRINz14GkeGmFHQDUWH" alt=""><figcaption><p>Cyberscan Preview</p></figcaption></figure>


# Cyberscan Integrations

Cyberscan is already integrated in the following platforms.

## [CoinMarketCap](https://coinmarketcap.com/)

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

## [GeckoTerminal](https://www.geckoterminal.com/)

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

## [GemFinder](https://gemfinder.cc/)

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

## [CNToken](https://cntoken.io/)

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

## [CryptoLock](https://www.cryptolock.ai/)

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


# Safescan

Elevate your security measures with Safescan — an intuitive AML (Anti Money Laundering) and KYC tool designed for wallets.

[Safescan](https://www.coinscope.co/safescan) is an AML (Anti Money Laundering) and KYC tool for wallets. The software is very easy to use, all you do is fill the address in the form and click “Search”. The tool will then start processing and running background checks on the address provided. It will review all the transactions of the address and how it interacted with various suspicious other wallets, then cross-reference it with CEX hot wallets, popular bridges, [tornado cash](https://tornado.cash/), and other similar money laundering applications. Safescan also cross-checks the given wallet with a database that contains more than 30k blacklisted and suspicious wallets.

The final analysis report shows all the related findings to the user in order to help him understand some of the wallet's past history. It is a great tool to help investors check the past transactions of the project team to make sure there are not any suspicious activities.

<figure><img src="/files/0jisjrPaN5DoFKUT4Xwo" alt=""><figcaption><p>Safescan Preview</p></figcaption></figure>


# Similarityscan

Similarity detection of an address or source code.

Similarityscan is a software tool that helps users identify the degree of similarity on any given smart contract against a database of popular smart contracts. This tool is particularly useful for investors who want to check if the project they have invested in is unique or if it has been copied.

<figure><img src="/files/DQprQokVMKbxmCtvCURU" alt=""><figcaption><p>Similarityscan Preview</p></figcaption></figure>

Similarity Scan normally determines how similar two source codes are by looking for characters or phrases from one contract in the other. Token comparison and commonality detection are steps in this process. This process involves comparing the tokens, which are the basic building blocks of code, and identifying the common ones.

Cyberscope’s [Similarityscan](https://www.cyberscope.io/similarityscan) tool can perform a side-by-side comparison of source codes. The tool checks for similarities by comparing the code that is being checked to the existing codes in its database. This is a crucial factor in ensuring the security and reliability of a smart contract.

It is crucial to remember that a smart contract still has to be extensively inspected to verify its security, even if it is very close to a reliable implementation.


# Signaturescan

Search for event, error, and function signatures that are stored in the Cyberscope Ethereum Signature Database.

Cyberscope provides a potent application called [**Signaturescan**](https://www.cyberscope.io/signaturescan) that aids users in spotting suspicious activities. This tool was created exclusively for the Ethereum blockchain and is based on a special set of private codes that have undergone security audits.

<figure><img src="/files/R7Y2zNi1ifenhV4sGaQt" alt=""><figcaption><p>Signaturescan Preview</p></figcaption></figure>

Several signature databases are available, but Signaturescan stands out for having a large variety of patterns, vulnerabilities, and hacks discovered in source code. Users are constantly protected against the most recent security hazards thanks to this extensive database’s constant updating to keep up with new threats.

With Signaturescan’s strong capabilities, users can rapidly identify suspicious behaviour and take steps to reduce any possible hazards. Developers, blockchain analysts, and security experts who need to maintain the integrity and security of their blockchain-based applications may find this tool to be especially helpful.

In order to safeguard your Ethereum-based assets and apps, Signaturescan is a crucial tool that you can rely on whether you are developing a new decentralized application or maintaining a current one. Signaturescan is the best option for assuring the security of your blockchain-based systems because of its unrivaled collection of private codes and comprehensive pattern and exploit database.


# Launchpads

Cyberscope launchpad partnerships.

Cyberscope has an active partnership with the most popular launchpads in the crypto space. We can provide Audit/KYC Badges with our services, valid for all of the following launchpads:

* ​[Unicrypt](https://unicrypt.network/) - <https://unicrypt.network/>​
* ​[Pinksale](https://www.pinksale.finance/) - [https://www.pinksale.finance/](https://www.pinksale.finance/#/)​
* ​[DxSale](https://dxsale.app/) - [https://dxsale.app/](https://dxsale.app/?chain=BSC)​
* ​[Gempad](https://gempad.app/presales) - [https://gempad.app/](https://gempad.app/presales)​
* ​[Xion Finance](https://xion.finance/) - <https://xion.finance/>​
* ​[Dexpanse](https://dexpanse.io/) - <https://dexpanse.io/>​
* ​[Matic Launchpad ](https://maticlaunchpad.com/)- <https://maticlaunchpad.com/>​
* ​[BUSDX - ](https://www.busdx.com/)​<https://www.busdx.com/>​
* ​[CookieSale](https://docs.cookiesale.io/cookiesale/kyc-and-audits/approved-auditors/cyberscope) - <https://docs.cookiesale.io/cookiesale/kyc-and-audits/approved-auditors/cyberscope>​
* ​[HedgePay](https://hedgepay.org/) - <https://hedgepay.org/>


# Listing Sites

Cyberscope stands as a recognized cybersecurity provider on the majority of listing sites.

* ​[Coinscope](https://www.coinscope.co/) - <https://t.me/coinscope_co> | <https://t.me/coinscope_admin>​
* ​[Coinsniper](https://coinsniper.net/) - <https://t.me/coinsnipernet>​
* ​[CNToken](https://cntoken.io/) - <https://t.me/cntokenofficial>​
* ​[Watcher Guru](https://watcher.guru/) - <https://t.me/watcherguru>​
* ​[Coinhunt](http://coinhunt.cc/) - <https://t.me/CoinhuntCCOfficial>​
* ​[Coinmooner](http://coinmooner.com/) - <https://t.me/CoinMoonerPromo/>​
* ​[CoinAlpha](https://coinalpha.app/) - <https://t.me/coinalpha_x100>​
* ​[GemFinder](https://gemfinder.cc/) - <https://telegram.me/gemfindersupport>​
* ​[RugFree Coins](https://www.rugfreecoins.com/) - <https://t.me/rugfreecoin>​
* ​[FreshCoins](https://www.freshcoins.io/) - <https://t.me/FreshCoinsTG>​
* ​[CoinVote](https://coinvote.cc/) - <https://t.me/coinvotecc>​
* ​[CoinXHigh](https://coinxhigh.com/) - <https://telegram.me/coinXhigh>​
* ​[IcoGems](https://icogems.com/) - <https://t.me/icogems_team>​


# Blog

Discover a wealth of knowledge in Cyberscope blog.

Take a look in our [Blog](https://www.cyberscope.io/blog) to find interesting content, articles, and guides that will assist you on your journey across the Crypto World!

<figure><img src="/files/0uv35VoRTgYagalSEBlR" alt=""><figcaption><p>Cyberscope's Blog Preview</p></figcaption></figure>


# Socials

Take a look at our socials.

* Website: <https://www.cyberscope.io/>
* Telegram Announcements: <https://t.me/cyberscope_announce>
* LinkedIn: <https://www.linkedin.com/company/cyberscopeio>
* Twitter: <https://twitter.com/Cyberscope_io>
* Twitter Announcements: <https://twitter.com/cyberscope_ann>
* Youtube: <https://www.youtube.com/@Cyberscope_io>


# Contact

Contact us details.

If you have any questions, or business ideas, please contact us on [our Telegram](https://t.me/raf_cyberscope).


# Media Coverage

Dive into our media coverage page to stay updated on the conversations, features, and accolades highlighting our contributions to the cybersecurity and blockchain space.

* <https://bitcoinstalking.com/what-is-a-smart-contract-audit-and-why-blockchain-projects-need-one_/>
* <https://coinfomania.com/create-smart-contract-without-any-code/>
* <https://www.thecoinrepublic.com/2022/07/06/top-6-smart-contract-audit-companies-in-the-world-in-2022/>
* <https://www.techsonu.com/smart-contract-audit-companies-securing-smart-contract/>
* <https://fxcryptonews.com/top-5-smart-contract-auditing-companies/>
* <https://coinfunda.com/best-smart-contract-auditors/>
* <https://www.cryptotimes.io/why-security-audits-important-for-smart-contracts/>
* <https://henof.com/smart-contract-security-what-to-look-for-before-investing/A>
* <https://coinfomania.com/how-can-a-smart-contract-get-hacked/>
* <https://www.coingecko.com/learn/how-to-read-a-smart-contract-audit>
* <https://wheon.com/smart-contract-security-a-guide-for-beginners/?__cf_chl_rt_tk=QaADpqK6I6m1PXl_XFh2Ce1wL_fniVduubWmlBlb9Uk-1688227242-0-gaNycGzNDlA>
* <https://www.coingecko.com/learn/how-to-read-a-smart-contract-audit>
* <https://es.cointelegraph.com/news/coingecko-launches-real-time-token-tracking-tool>
* <https://bitcourier.co.uk/blog/cyberscope-review>
* <https://twitter.com/CoinMarketCap/status/1636627149162528768>
* <https://twitter.com/Cyberscope_io/status/1722677976670536126>
* <https://www.forbes.com/sites/forbestechcouncil/2023/09/08/exploring-the-hidden-dangers-of-decentralization-and-web3/>
* <https://www.forbes.com/sites/forbestechcouncil/2023/10/23/the-metaverse-dilemma-privacy-concerns-in-virtual-worlds/>
* <https://madisongraph.com/coinscope-launches-cybersecurity-firm-after-seeing-unprecedented-growth/>
* <https://www.globenewswire.com/news-release/2022/03/21/2406757/0/en/Coinscope-Launches-Cybersecurity-Firm-After-Seeing-Unprecedented-Growth.html>
* <https://www.alchemy.com/dapps/cyberscope>
* [Guest Post by TheNewsCrypto: Tokenhack: The Premier Global Blockchain Hackathon | CoinMarketCap](https://coinmarketcap.com/community/articles/64d36e261b06be62956cb479/)
* [Tokenhack: The Premier Global Blockchain Hackathon - TheNewsCrypto](https://thenewscrypto.com/tokenhack-the-premier-global-blockchain-hackathon/)
* [Tokenhack: The Premier Global Blockchain Hackathon (aspiresolns.org)](https://www.blog.aspiresolns.org/post/tokenhack-the-premier-global-blockchain-hackathon)
* [Tokenhack: The Premier Global Blockchain Hackathon - BitMaden](https://www.bitmaden.com/tokenhack-the-premier-global-blockchain-hackathon-107229)


# Conferences & Events

Cyberscope's conference attendances and sponsorships.

Welcome to the Cyberscope Conferences and Events hub, where we highlight our sponsorships, participations, and notable engagements across various conferences, events, summits, and hackathons. Explore the dynamic landscape of cybersecurity through our active involvement in these industry-leading gatherings.

You can details on the dedicated category on our blog, by following [this link](https://www.cyberscope.io/blog/topics/events).

Or you can check some of our recap videos below (and on our YouTube channel):

{% embed url="<https://www.youtube.com/watch?v=PnQrpgAYY_M>" %}
Cyberscope | European Blockchain Convention Recap
{% endembed %}

{% embed url="<https://youtu.be/dtqZlHRXjOc?si=xgTvEyjuQpLBT6xk>" %}
Cyberscope | TOKEN2049 Recap
{% endembed %}

{% embed url="<https://www.youtube.com/watch?v=wRgK1Htt18o>" %}
Cyberscope | ETHMilan Recap
{% endembed %}

For inquiries, collaboration opportunities, or to learn more about our engagements at conferences and events, feel free to reach out to us at our telegram.


# FAQ

Frequently Asked Questions

{% content-ref url="/pages/9z1GVgLpRpY2t9lhTfih" %}
[Audit](/important/faq/audit)
{% endcontent-ref %}

{% content-ref url="/pages/73aQmUHJQXOgoXR1MepX" %}
[KYC](/important/faq/kyc)
{% endcontent-ref %}


# Audit

Frequently asked questions regarding Audit

<mark style="color:orange;">Can I get the audit badge on my presale?</mark>

Yes, you can get the related badge if you hold your presale/fairlaunch in any of our [partnered launchpads](broken://pages/WvefHs3M8v3TPuLEvUpf).

<mark style="color:orange;">Can the audit fail?</mark>

Sometimes, if there are severe issues found within a contract's code, the audit can 'fail'. You will need to read the audit report and address the issues.&#x20;

<mark style="color:orange;">How to fix the issues you found in the Audit?</mark>

Our audit reports contain detailed descriptions and recommendations on each finding. Consult your developer and if you fix and redeploy a new contract let us know to check and revise it accordingly.&#x20;

<mark style="color:orange;">Will renouncing the Ownership fix our contract's issues?</mark>

Yes, it can fix most of the most common issues issues as far as the audit is concerned. If you need ownership for finalizing your presale or listing on a CEX, it can prove counter-productive. So you need to make sure this won't cause any problems for you in the future.

<mark style="color:orange;">I have to deploy a new contract. The new contract is exactly the same as the old contract. Can I get the audit certificate again? Do I have to pay an extra fee?</mark>

Yes, you can. If it's the exact same contract there is usually a small admin fee involved.

<mark style="color:orange;">Do you guys audit CEX, DEX wallets, and new blockchains as well?</mark>

Yes, we do custom audits but we have different quotes depending on the contract. Please send us your smart contract in order to review it.

<mark style="color:orange;">Your Audit services are very expensive. Other providers do it with lower fees.</mark>

A strong Audit report is the best marketing you can do for your project. If you are not willing to buy a strong brand audit how do you expect investors to buy your token? Let aside the fact that cheaper companies just run automated diagnostics instead of line-to-line code review. Meaning they will not find real dangers and let you know with recommended fixes. If there is an issue in your contracts, our highly experienced auditors will find it.&#x20;

<mark style="color:orange;">Should we add an Anti-Whale bot?</mark>

If you have one, we might flag it in the Audit but it is up to you.

<mark style="color:orange;">Which launchpad would you suggest me?</mark>

All launchpads that we work with are very good, usually our clients prefer Pinksale because it has a bit more traffic but we will support you whatever you choose


# KYC

Frequently asked questions regarding KYC

<mark style="color:orange;">Can I get the KYC badge on my presale?</mark>

Yes, you can get the related badge if you hold your presale/fairlaunch in any of our [partnered launchpads](broken://pages/WvefHs3M8v3TPuLEvUpf).

<mark style="color:orange;">What questions will you ask in the KYC interview?</mark>

Just basic questions to establish you are not an actor. If you are who you say you are, you have nothing to worry about.

<mark style="color:orange;">Why did our KYC fail?</mark>

The decision has been made after careful checks of all the provided info. The details of the process and the reason it failed cannot be disclοsed as it's a private procedure. Revealing any details could later be used by potential scammers for their own benefit.

<mark style="color:orange;">Which third party are we gonna submit our KYC documents to? And where are our KYC docs stored?</mark>

All the documents are stored in an encrypted environment that only the CEO has access to. All of our employees have signed a confidentiality agreement as we are a registered company with a legal entity. The infrastructure is also checked by a data protection officer to ensure the best security mechanisms are in place.

<mark style="color:orange;">Can you tell if this project is doing/tried to/failed to KYC with you?</mark>

We cannot disclose if a project is doing KYC with us. And it shouldn’t matter. Just because a project applies for KYC, doesn’t mean they will pass.

<mark style="color:orange;">The KYC with other providers is a lot cheaper.</mark>

Other providers don’t offer marketing with their KYC to give you additional value, nor do they have our proven track record. Our KYC certificate is shareable and is recognized across all launchpads. We also have a strong following of investors who respect our brand and wait to see which projects have passed our KYC.\
After our KYC we’ll support your project by posting it on Twitter, Telegram, our Newsletter, and [Coinscope.co](http://coinscope.co/) a platform with 60k daily visitors.\
We offer more than a KYC service, we offer you the opportunity to get trust from your investors, and your community and to get more people to invest in your project.

<mark style="color:orange;">Which launchpad would you suggest me?</mark>

All launchpads that we work with are very good, usually our clients prefer Pinksale because it has a bit more traffic but we will support you whatever you choose


# Assets

Cyberscope Assets

### Cyberscope Transparent Full (Dark Background) <a href="#cyberscope-transparent-full" id="cyberscope-transparent-full"></a>

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

### Cyberscope Transparent Full (Light Background) <a href="#cyberscope-vertical-full-dark" id="cyberscope-vertical-full-dark"></a>

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

### Cyberscope Transparent Full Green Letters <a href="#cyberscope-transparent-full-green-letters" id="cyberscope-transparent-full-green-letters"></a>

<figure><img src="/files/9ahLqwxYNcHwUEOTa06q" alt=""><figcaption></figcaption></figure>

### Cyberscope Logo <a href="#cyberscope-logo" id="cyberscope-logo"></a>

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

### **Cyberscope Logo Mark** <a href="#cyberscope-vertical-full" id="cyberscope-vertical-full"></a>

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

### Cyberscope Vertical Full <a href="#cyberscope-vertical-full" id="cyberscope-vertical-full"></a>

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

### Cyberscope Audit Badge <a href="#cyberscope-audit-badge" id="cyberscope-audit-badge"></a>

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

### Cyberscope KYC Badge <a href="#cyberscope-kyc-badge" id="cyberscope-kyc-badge"></a>

<figure><img src="/files/5xrUO4z2IEIutN26RME1" alt=""><figcaption></figcaption></figure>


# Blockchain Networks

| Group       | ID                |   ChainId |
| ----------- | ----------------- | --------: |
| Ethereum    | ETH               |         1 |
| Ethereum    | SEPOLIA           |  11155111 |
| Ethereum    | HOODI             |    560048 |
| BNB Chain   | BSC               |        56 |
| BNB Chain   | BSC\_TESTNET      |        97 |
| Polygon     | MATIC             |       137 |
| Polygon     | AMOY\_TESTNET     |     80002 |
| Base        | BASE              |      8453 |
| Base        | BASE\_SEPOLIA     |     84532 |
| Arbitrum    | ARBITRUM          |     42161 |
| Arbitrum    | ARBITRUM\_SEPOLIA |    421614 |
| Linea       | LINEA             |     59144 |
| Linea       | LINEA\_SEPOLIA    |     59141 |
| Blast       | BLAST             |     81457 |
| Blast       | BLAST\_SEPOLIA    | 168587773 |
| Optimism    | OPTIMISM          |        10 |
| Optimism    | OPTIMISM\_SEPOLIA |  11155420 |
| Avalanche   | AVAX              |     43114 |
| Avalanche   | AVAX\_FUJI        |     43113 |
| BitTorrent  | BTTC              |       199 |
| BitTorrent  | BTTC\_TEST        |      1029 |
| Celo        | CELO              |     42220 |
| Celo        | CELO\_SEPOLIA     |  11142220 |
| Frax        | FRAX              |       252 |
| Frax        | FRAX\_HOODI       |      2523 |
| Gnosis      | XDAI              |       100 |
| Mantle      | MANTLE            |      5000 |
| Mantle      | MANTLE\_SEPOLIA   |      5003 |
| Memecore    | MEMECORE          |      4352 |
| Memecore    | MEMECORE\_TESTNET |     43521 |
| Moonbeam    | GLMR              |      1284 |
| Moonbeam    | MOVR              |      1285 |
| Moonbeam    | MOONBASE          |      1287 |
| opBNB       | OP\_BNB           |       204 |
| opBNB       | OP\_BNB\_TESTNET  |      5611 |
| Scroll      | SCROLL            |    534352 |
| Scroll      | SCROLL\_TESTNET   |    534351 |
| Taiko       | TAIKO             |    167000 |
| Taiko       | TAIKO\_HOODI      |    167013 |
| XDC         | XDC               |        50 |
| XDC         | XDC\_APOTHEM      |        51 |
| ApeChain    | APE               |     33139 |
| ApeChain    | APE\_TESTNET      |     33111 |
| World Chain | WORLD             |       480 |
| World Chain | WORLD\_SEPOLIA    |      4801 |
| Sonic       | SONIC             |       146 |
| Sonic       | SONIC\_TESTNET    |     14601 |
| Unichain    | UNI               |       130 |
| Unichain    | UNI\_TESTNET      |      1301 |
| Abstract    | ABS               |      2741 |
| Abstract    | ABS\_SEPOLIA      |     11124 |
| Berachain   | BERA              |     80094 |
| Berachain   | BERA\_TESTNET     |     80069 |
| Swell       | SWELL             |      1923 |
| Swell       | SWELL\_TESTNET    |      1924 |
| Monad       | MONAD             |       143 |
| Monad       | MONAD\_TESTNET    |     10143 |
| Hyperliquid | HYPER\_EVM        |       999 |
| Katana      | KATANA            |    747474 |
| Katana      | KATANA\_BOKUTO    |    737373 |
| Sei         | SEI               |      1329 |
| Sei         | SEI\_TESTNET      |      1328 |
| Stable      | STABLE            |       988 |
| Stable      | STABLE\_TESTNET   |      2201 |
| Plasma      | PLASMA            |      9745 |
| Plasma      | PLASMA\_TESTNET   |      9746 |
| MegaETH     | MEGAETH           |      4326 |
| MegaETH     | MEGAETH\_TEST     |      6342 |


# Blockchain Networks

| group       | id                |   ChainId |
| ----------- | ----------------- | --------: |
| Ethereum    | ETH               |         1 |
| Ethereum    | SEPOLIA           |  11155111 |
| Ethereum    | HOODI             |    560048 |
| BNB Chain   | BSC               |        56 |
| BNB Chain   | BSC\_TESTNET      |        97 |
| Polygon     | MATIC             |       137 |
| Polygon     | AMOY\_TESTNET     |     80002 |
| Base        | BASE              |      8453 |
| Base        | BASE\_SEPOLIA     |     84532 |
| Arbitrum    | ARBITRUM          |     42161 |
| Arbitrum    | ARBITRUM\_SEPOLIA |    421614 |
| Linea       | LINEA             |     59144 |
| Linea       | LINEA\_SEPOLIA    |     59141 |
| Blast       | BLAST             |     81457 |
| Blast       | BLAST\_SEPOLIA    | 168587773 |
| Optimism    | OPTIMISM          |        10 |
| Optimism    | OPTIMISM\_SEPOLIA |  11155420 |
| Avalanche   | AVAX              |     43114 |
| Avalanche   | AVAX\_FUJI        |     43113 |
| BitTorrent  | BTTC              |       199 |
| BitTorrent  | BTTC\_TEST        |      1029 |
| Celo        | CELO              |     42220 |
| Celo        | CELO\_SEPOLIA     |  11142220 |
| Frax        | FRAX              |       252 |
| Frax        | FRAX\_HOODI       |      2523 |
| Gnosis      | XDAI              |       100 |
| Mantle      | MANTLE            |      5000 |
| Mantle      | MANTLE\_SEPOLIA   |      5003 |
| Memecore    | MEMECORE          |      4352 |
| Memecore    | MEMECORE\_TESTNET |     43521 |
| Moonbeam    | GLMR              |      1284 |
| Moonbeam    | MOVR              |      1285 |
| Moonbeam    | MOONBASE          |      1287 |
| opBNB       | OP\_BNB           |       204 |
| opBNB       | OP\_BNB\_TESTNET  |      5611 |
| Scroll      | SCROLL            |    534352 |
| Scroll      | SCROLL\_TESTNET   |    534351 |
| Taiko       | TAIKO             |    167000 |
| Taiko       | TAIKO\_HOODI      |    167013 |
| XDC         | XDC               |        50 |
| XDC         | XDC\_APOTHEM      |        51 |
| ApeChain    | APE               |     33139 |
| ApeChain    | APE\_TESTNET      |     33111 |
| World Chain | WORLD             |       480 |
| World Chain | WORLD\_SEPOLIA    |      4801 |
| Sonic       | SONIC             |       146 |
| Sonic       | SONIC\_TESTNET    |     14601 |
| Unichain    | UNI               |       130 |
| Unichain    | UNI\_TESTNET      |      1301 |
| Abstract    | ABS               |      2741 |
| Abstract    | ABS\_SEPOLIA      |     11124 |
| Berachain   | BERA              |     80094 |
| Berachain   | BERA\_TESTNET     |     80069 |
| Swell       | SWELL             |      1923 |
| Swell       | SWELL\_TESTNET    |      1924 |
| Monad       | MONAD             |       143 |
| Monad       | MONAD\_TESTNET    |     10143 |
| Hyperliquid | HYPER\_EVM        |       999 |
| Katana      | KATANA            |    747474 |
| Katana      | KATANA\_BOKUTO    |    737373 |
| Sei         | SEI               |      1329 |
| Sei         | SEI\_TESTNET      |      1328 |
| Stable      | STABLE            |       988 |
| Stable      | STABLE\_TESTNET   |      2201 |
| Plasma      | PLASMA            |      9745 |
| Plasma      | PLASMA\_TESTNET   |      9746 |
| MegaETH     | MEGAETH           |      4326 |
| MegaETH     | MEGAETH\_TEST     |      6342 |


