# omnia\_checkRugPull

**Returns security details indicating whether the token can generate a Rug pull event or not.**

**Note: A rug pull event means a massive sell-off of the token by the first holders, often time by it's creators.**

**Parameters**

`DATA`, 20 Bytes - contractAddress. The contract address that is checked. <mark style="color:red;">REQUIRED</mark>

**Returns**

`Object with following details:`

| Parameter            | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | Notice                                                                                             |
| -------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- |
| `owner`              | <p>(1) <code>owner\_name</code> - the function name of ownership. (2) <code>owner\_address</code> - owner address of the contract.<br>(3) <code>owner\_type</code> - <strong>"blackhole"</strong> means the owner is a blackhole address; <strong>"contract"</strong> means the owner is a contract; <strong>"eoa"</strong> means the owner is a common address; <strong>"multi-address"</strong> means the owner is an array/list. <code>null</code> means the address is not detected. No return means unknown.</p> | When there is no owner function, or the ownership is unreadable or private, it would return empty. |
| `privilege_withdraw` | <p>It describes whether the contract owner can withdraw all the assets in the contract, without users' permission.<br>"1" means true;<br>"0" means false;<br>"-1" means unknown.</p>                                                                                                                                                                                                                                                                                                                                  |                                                                                                    |
| `withdraw_missing`   | <p>It describes whether the contract lacks a withdrawal method. If it is missing, users will be unable to withdraw the assets they have put in.<br>"1" means true;<br>"0" means false;<br>"-1" means unknown.</p>                                                                                                                                                                                                                                                                                                     |                                                                                                    |
| `is_open_source`     | <p>It describes whether this contract is open source.<br>"1" means true;<br>"0" means false.</p>                                                                                                                                                                                                                                                                                                                                                                                                                      |                                                                                                    |
| `blacklist`          | <p>It describes whether the contract has a blacklist function that would block users from withdrawing their assets.<br>"1" means true;<br>"0" means false;<br>"-1" means unknown.</p>                                                                                                                                                                                                                                                                                                                                 |                                                                                                    |
| `contract_name`      | Name of the contract.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |                                                                                                    |
| `selfdestruct`       | <p>It describes whether this contract can self-destruct.<br>"1" means true;<br>"0" means false;<br>"-1" means unknown.</p>                                                                                                                                                                                                                                                                                                                                                                                            |                                                                                                    |
| `approval_abuse`     | <p>It describes whether the owner can spend the allowance obtained by the contract. If so, this function could potentially be abused to steal user assets.<br>"1" means true;<br>"0" means false;<br>"-1" means unknown.</p>                                                                                                                                                                                                                                                                                          |                                                                                                    |
| `is_proxy`           | <p>It describes whether this contract has a proxy contract.<br>"1" means true;<br>"0" means false;<br>"-1" means unknown.</p>                                                                                                                                                                                                                                                                                                                                                                                         |                                                                                                    |

<br>

## Example

#### Request

```
curl --request POST \
     --url https://endpoints.omniatech.io/v1/RPC_ENDPOINT \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '
{
    "id": 1,
    "jsonrpc": "2.0",
    "method": "omnia_checkrugpull",
    "params": [
        {
            "contractAddress": "0xdAC17F958D2ee523a2206206994597C13D831ec7"
        }
    ]
}
'
```

#### Response

```
{
    "id": 1,
    "jsonrpc": "2.0",
    "result": {
        "owner": {
            "owner_name": "owner",
            "owner_address": "0xc6cde7c39eb2f0f0095f41570af89efc2c1ea828",
            "owner_type": "contract"
        },
        "privilege_withdraw": 1,
        "withdraw_missing": -1,
        "is_open_source": 1,
        "blacklist": 1,
        "contract_name": "TetherToken",
        "selfdestruct": 1,
        "is_proxy": 0,
        "approval_abuse": 0
    }
}
```
