> For the complete documentation index, see [llms.txt](https://docs.ont.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ont.io/developer-tools/api/explorer-api/contract.md).

# Contract

## 1. Get contract list

```javascript
url：/v2/contracts?page_size=10&page_number=1, 
method：GET, 
successResponse：{
    "code":0, 
    "msg":"SUCCESS", 
    "result":{
        "records":[
            {
                "contract_hash": "16edbe366d...99424c94aeef02", 
                "name": "name", 
                "logo":"", 
                "description": "is a decentralized, tru.....", 
                "creator": "AFmseVrdL9f9oyCzZefL9tG6UbvhPbdYzM", 
                "create_time":1516946305, 
                "update_time":1516948340, 
                "contact_info":"{\"website\":\"www.test.cn\", \"github\":\"github.com\"}", 
                "ont_sum": "2123", 
                "ong_sum": "1233123123.002", 
                "address_count": 122, 
                "tx_count": 30, 
                "token_sum":{\"Ht\":\"124\"}", 
                "category":"oep", 
                "type":"oep4", 
                "dapp_name":""
            }
        ], 
        "total":12
    }
}
```

| Url RequestField | Type | Description                                                               |
| ---------------- | ---- | ------------------------------------------------------------------------- |
| page\_size       | int  | number of records in one page (The page size is limited between 1 and 20) |
| page\_number     | int  | number of the page (At least 1 or greater)                                |

| Response Parameter | Type   | Description                            |
| ------------------ | ------ | -------------------------------------- |
| contract\_hash     | String | contract hash                          |
| name               | String | contract name                          |
| create\_time       | int    | create time                            |
| update\_time       | int    | update time                            |
| contact\_info      | String | contact information.JSON format string |
| logo               | String | logo url                               |
| description        | String | contract description                   |
| creator            | String | creator address                        |
| ong\_sum           | String | total ong                              |
| ont\_sum           | String | total ont                              |
| address\_count     | int    | total address                          |
| tx\_count          | int    | total transaction                      |
| token\_sum         | String | total token.JSON format string         |
| category           | String | category                               |
| type               | String | oep4, oep5, oep8, other                |
| dapp\_name         | String | dapp name                              |
| total              | int    | total contract                         |

## 2. Get contract detail by contract\_hash

```javascript
url：/v2/contracts/{contract_hash}, 
method：GET, 
successResponse：{
    "code":0, 
    "msg":"SUCCESS", 
    "result":{
        "contract_hash": "16edbe366d...99424c94aeef02", 
        "name": "name", 
        "abi":"25a80bbc...5381", 
        "code": "013ec56b6...006a5", 
        "source_code":"", 
        "create_time":1516946305, 
        "update_time":1516948340, 
        "contact_info":"{\"website\":\"www.test.cn\", \"github\":\"github.com\"}", 
        "logo":"", 
        "description": "LuckyNumber is a decentralized, tru.....", 
        "creator": "AFmseVrdL9f9oyCzZefL9tG6UbvhPbdYzM", 
        "ont_sum": "2123", 
        "ong_sum": "1233123123", 
        "address_count": 122, 
        "tx_count": 30, 
        "token_sum":{\"Ht\":\"124\"}", 
        "category":"oep", 
        "type":"oep5", 
        "dapp_name":""
    }
}
```

| Response Parameter  | Type    | Description                            |
| ------------------- | ------- | -------------------------------------- |
| contract\_hash      | String  | contract hash                          |
| name                | String  | contract name                          |
| create\_time        | int     | create time                            |
| update\_time        | int     | update time                            |
| contact\_info       | String  | contact information.JSON format string |
| logo                | String  | logo url                               |
| description         | String  | contract description                   |
| creator             | String  | creator address                        |
| ong\_sum            | String  | total ong                              |
| ont\_sum            | String  | total ont                              |
| address\_count      | int     | total address                          |
| tx\_count           | int     | total transaction                      |
| token\_sum          | String  | total token.JSON format string         |
| type                | String  | oep4, oep5, oep8, others               |
| abi                 | String  | contract abi                           |
| code                | String  | contract code                          |
| source\_code        | String  | contract source code                   |
| category            | String  | category                               |
| dapp\_name          | String  | dapp name                              |
| vm\_type            | String  | VM type                                |
| compiler\_type      | String  | compiler type                          |
| compiler\_version   | String  | compiler version                       |
| optimization        | boolean | whether to optimize                    |
| optimization\_run   | int     | optimization steps                     |
| vm\_version         | String  | EVM version                            |
| licenseType         | String  | license type                           |
| constructorArgument | String  | constructor arguments                  |
| setting             | String  | setting                                |

## 3. Get contract transaction list by contracthash

```javascript
url：/v2/contracts/{contract_type}/{contract_hash}/transactions?page_size=10&page_number=1, 
method：GET, 
successResponse：{
    "code":0, 
    "msg":"SUCCESS", 
    "result":{
    	"records":[
    		{
                "tx_hash":"9762458cd30612509f7c...a010ccc7b347057eb5", 
                "tx_type":209, 
                "tx_time":1522210288, 
                "block_height":1212, 
                "confirm_flag":1, 
                "block_index":1, 
                "fee":"0.01"
    		}
    	], 
    	"total":20
    }
}
```

| Url RequestField | Type   | Description                                                               |
| ---------------- | ------ | ------------------------------------------------------------------------- |
| page\_size       | int    | number of records in one page (The page size is limited between 1 and 20) |
| page\_number     | int    | number of the page (At least 1 or greater)                                |
| contract\_type   | String | oep4, oep5, oep8, other                                                   |
| contract\_hash   | String | contract\_hash                                                            |

| ResponseField         | Type   | Description                                              |
| --------------------- | ------ | -------------------------------------------------------- |
| records.tx\_hash      | String | transaction hash                                         |
| records.tx\_type      | int    | transaction type (208/209/210)                           |
| records.tx\_time      | int    | UNIX time of the transaction                             |
| records.block\_height | int    | block height                                             |
| records.confirm\_flag | int    | transaction state on the blockchain, 0:failure 1:success |
| records.block\_index  | int    | The index of transactions within a block                 |
| txs.fee               | String | fee                                                      |
| total                 | int    | total                                                    |

### **HyperDragon OEP5 Contract**

Response two more parameters：

* asset\_name：asset name
* json\_url：json data

```javascript
successResponse：{
    "code":0, 
    "msg":"SUCCESS", 
    "result":{
    	"txs":[
    		{
                "tx_hash":"9762458cd30612509f7c...a010ccc7b347057eb5", 
                "tx_type":209, 
                "tx_time":1522210288, 
                "block_height":1212, 
                "confirm_flag":1, 
                "block_index":1, 
                "fee":"0.01", 
                "asset_name":"HyperDragons: 1360", 
                "json_url":"{\"image\":\"https://hyd-go-res.alfakingdom.com/normal/1360.svg\", \"name\":\"dragon#1360\"}"   //如果asset_name没有找到对应的json描述，该字段不返回
    		}
    	], 
    	"total":20
    }
}
```

## 4. Get contract transaction list by contracthash

```javascript
url：/v2/contracts/{contract_hash}/transactions?page_size=10&page_number=1, 
method：GET, 
successResponse：{
    "code":0, 
    "msg":"SUCCESS", 
    "result":{
    	"records":[
    		{
                "tx_hash":"9762458cd30612509f7c...a010ccc7b347057eb5", 
                "tx_type":209, 
                "tx_time":1522210288, 
                "block_height":1212, 
                "confirm_flag":1, 
                "block_index":1, 
                "fee":"0.01"
    		}
    	], 
    	"total":20
    }
}
```

| Url RequestField | Type   | Description                                                               |
| ---------------- | ------ | ------------------------------------------------------------------------- |
| page\_size       | int    | number of records in one page (The page size is limited between 1 and 20) |
| page\_number     | int    | number of the page (At least 1 or greater)                                |
| contract\_type   | String | oep4, oep5, oep8, other                                                   |
| contract\_hash   | String | contract\_hash                                                            |

| ResponseField         | Type   | Description                                              |
| --------------------- | ------ | -------------------------------------------------------- |
| records.tx\_hash      | String | transaction hash                                         |
| records.tx\_type      | int    | transaction type (208/209/210)                           |
| records.tx\_time      | int    | UNIX time of the transaction                             |
| records.block\_height | int    | block height                                             |
| records.confirm\_flag | int    | transaction state on the blockchain, 0:failure 1:success |
| records.block\_index  | int    | The index of transactions within a block                 |
| txs.fee               | String | fee                                                      |
| total                 | int    | total                                                    |

### **Hyperdragon OEP5 Contract**

Two extra fields in response:

* asset\_name：Name of the asset
* json\_url: JSON string of the dragon logo and name. If the `asset_name` doesn't have a corresponding JSON description, this field will not be returned

```javascript
successResponse：{
    "code":0, 
    "msg":"SUCCESS", 
    "result":{
    	"txs":[
    		{
                "tx_hash":"9762458cd30612509f7c...a010ccc7b347057eb5", 
                "tx_type":209, 
                "tx_time":1522210288, 
                "block_height":1212, 
                "confirm_flag":1, 
                "block_index":1, 
                "fee":"0.01", 
                "asset_name":"HyperDragons: 1360", 
                "json_url":"{\"image\":\"https://hyd-go-res.alfakingdom.com/normal/1360.svg\", \"name\":\"dragon#1360\"}"   //If the `asset_name` doesn't have a corresponding JSON description, this field will not be returned
    		}
    	], 
    	"total":20
    }
}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.ont.io/developer-tools/api/explorer-api/contract.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
