API Documentation
Supported Blockchains
Endpoint: GET /api/v1/chain/list
Description: Retrieve a list of all supported blockchains for contract analysis. Use the chainid value from the response when analyzing contracts.
Endpoint
| | |
|---|---|
| **Method** | `POST` |
| **Path** | `/api/v1/portal/contract/analyze-risk` (Swagger advertises `/v1/portal/contract/analyze-risk`; the live base path is `/api`) |
| **Content-Type** | `application/json` |
| **Auth** | API key in body (`api_key`). No header-based auth. |
| **Idempotency** | Per `(user_id, address, chain_id)`. Re-calls return the cached result without a new charge. |
| **Async** | First call for a fresh contract returns **202 pending**. Client polls the same endpoint until **200 ready**. |
## Request body
```json
{
"api_key": "string",
"address": "string",
"chain_id": "string"
}
```
| Field | Type | Required | Notes |
|---|---|---|---|
| `api_key` | string | yes | Risk-API scoped access token issued in the portal. |
| `address` | string | yes | Contract address. EVM addresses must be `0x`-prefixed; non-EVM follows the chain's native format. |
| `chain_id` | string | yes | Decimal string (e.g. `"1"`, `"8453"`, `"56"`). |
Empty or malformed JSON, or any missing field, → **400 `INVALID_REQUEST_PAYLOAD`**.Successful responses
Error responses
Examples
Polling pseudocode
Behavior notes
Pending is free. Polling does not deduct from the user's balance. Only the first 200 response charges.
Last updated