# ThreatScore API V1

SolidityScan Public API \[Example]

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

```
curl --location --request GET 'https://api.solidityscan.com/api/v1/threatscan/1/1/0x4ee38aa8d7449a177119e983610D73e9ace932dA' \
--header 'Authorization: Token {{token}}'
```

{% endtab %}

{% tab title="Response" %}

```
{
    "scan_report": {
        "contract_address": "0xa579472f17b6E1b6C5dED2A785067a89EC536ce8",
        "contract_chain": "mainnet",
        "contract_platform": "etherscan",
        "contract_url": "https://etherscan.io/address/0xa579472f17b6E1b6C5dED2A785067a89EC536ce8",
        "contractname": "AddOnAi",
        "is_quick_scan": true,
        "request_type": "threat_scan",
        "ts_scan_details": [
            {
                "gas": 74953.0,
                "issue_code_findings_enabled": false,
                "issue_description": "<p>The simulation for the scanned contract indicates that this token incorporates antiwhale measures. These measures are designed to prevent large holders from impacting the market significantly, ensuring fairer distribution and trading practices.</p>",
                "issue_dynamic_desc": "Antiwhale Simulation - Token Has Antiwhale Measures",
                "issue_id": "TRANSACTION_STIMULATION_WHALE_MODULE",
                "issue_name": "TOKEN IS ANTIWHALE",
......
```

{% endtab %}
{% endtabs %}

This API will return the count of total vulnerabilities detected by SolidityScan and the security score of the Smart Contract for a contract address whose contract code is verified on the supported explorers.

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

BuildBear Example:

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

```
curl --location --request GET 'https://api.solidityscan.com/api/v1/threatscan/10/Bottom_R5-D4_de9d270c/0x1aa51bc7eb181ce48ce626bf62f8956fa9555136'
--header 'Authorization: Token {{token}}' 
```

{% endtab %}

{% tab title="Response" %}

```
{
    "scan_report": {
        "contract_address": "0x1aa51bc7eb181ce48ce626bf62f8956fa9555136",
        "contract_platform": "buildbear",
        "contract_url": "https://buildbear.io/0x1aa51bc7eb181ce48ce626bf62f8956fa9555136",
        "contractname": "PAWZONE",
        "node_reference_id": "Bottom_R5-D4_de9d270c",
        "threat_score": "84.62",
        "threat_scan_details": [
            {
                "issue_description": "The contract’s source code is verified.Source code verification provides transparency for users interacting with smart contracts. Block explorers validate the compiled code with the one on the blockchain. This also gives users a chance to audit the contracts.",
                "issue_id": "QUICK_SCAN_IS_SOURCE_CODE_VERIFIED",
                "issue_name": "IS SOURCE CODE VERIFIED",
                "issue_status": "pass"
            },
            {
                "issue_description": "The contract cannot mint new tokens. The _mint functions was not detected in the contracts.Mint functions are used to create new tokens and transfer them to the user’s/owner’s wallet to whom the tokens are minted. This increases the overall circulation of the tokens.",
                "issue_id": "QUICK_SCAN_PRESENCE_OF_MINTING_FUNCTION",
                "issue_name": "PRESENCE OF MINTING FUNCTION",
                "issue_status": "pass"
            },
            {
                "issue_description": "The tokens can be burned in this contract.Burn functions are used to increase the total value of the tokens by decreasing the total supply.",
                "issue_id": "QUICK_SCAN_PRESENCE_OF_BURN_FUNCTION",
                "issue_name": "PRESENCE OF BURN FUNCTION",
                "issue_status": "fail"
            },
            {
                "issue_description": "The contract can not be compiled with an older Solidity version.Pragma versions decide the compiler version with which the contract can be compiled. Having older pragma versions means that the code may be compiled with outdated and vulnerable compiler versions, potentially introducing vulnerabilities and CVEs.",
                "issue_id": "QUICK_SCAN_SOLIDITY_PRAGMA_VERSION",
                "issue_name": "SOLIDITY PRAGMA VERSION",
                "issue_status": "pass"
            },
            {
                "issue_description": "The contract was found to be using ERC-20 token standard.ERC-20 is the technical standard for fungible tokens that defines a set of properties that makes all the tokens similar in type and value.",
                "issue_id": "QUICK_SCAN_IS_ERC20_TOKEN",
                "issue_name": "IS ERC-20 TOKEN",
                "issue_status": "pass"
            },
            {
                "issue_description": "This is not a Pausable contract.If a contract is pausable, it allows privileged users or owners to halt the execution of certain critical functions of the contract in case malicious transactions are found.",
                "issue_id": "QUICK_SCAN_PAUSABLE_CONTRACTS",
                "issue_name": "PAUSABLE CONTRACTS",
                "issue_status": "pass"
            },
            {
                "issue_description": "Critical functions that add, update, or delete owner/admin addresses are not detectedThese functions control the ownership of the contract and allow privileged users to add, update, or delete owner or administrative addresses. Owners are usually allowed to control all the critical aspects of the contract. ",
                "issue_id": "QUICK_SCAN_CRITICAL_ADMINISTRATIVE_FUNCTIONS",
                "issue_name": "CRITICAL ADMINISTRATIVE FUNCTIONS",
                "issue_status": "pass"
            },
            {
                "issue_description": "The contract cannot be self-destructed by owners.selfdestruct() is a special function in Solidity that destroys the contract and transfers all the remaining funds to the address specified during the call. This is usually access-control protected.",
                "issue_id": "QUICK_SCAN_CONTRACT_TOKEN_SELF_DESTRUCT",
                "issue_name": "CONTRACT/TOKEN SELF DESTRUCT",
                "issue_status": "pass"
            },
            {
                "issue_description": "The contract is not vulnerable to ERC-20 approve Race condition vulnerability.ERC-20 approve function is vulnerable to a frontrunning attack which can be exploited by the token receiver to withdraw more tokens than the allowance. Proper mitigation steps should be implemented to prevent such vulnerabilities.",
                "issue_id": "QUICK_SCAN_ERC20_RACE_CONDITION",
                "issue_name": "ERC20 RACE CONDITION",
                "issue_status": "pass"
            },
        ],
        "scanner_reference_url": "https://solidityscan.com/quickscan/0x1aa51bc7eb181ce48ce626bf62f8956fa9555136/buildbear/Bottom_R5-D4_de9d270c?ref=buildbear"
    },
    "status": "success"
}
```

{% endtab %}
{% endtabs %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://apidoc.solidityscan.com/solidityscan-security-api/getting-started/apis/threatscore-api-v1.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
