# NFT API

### Get NFT token information <a href="#huo-qu-yu-suan-ke-mu-v2" id="huo-qu-yu-suan-ke-mu-v2"></a>

```
## Request
curl -X "POST" "https://oracle-api.banksea.finance/nft/v1/token" \
     -H 'x-api-key: test-api-key' \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{
    "token_address":"7ZBRCR83jqYk7bbG3RY8Qn14E341n3qwWgY6NTTPko5k"
}'
```

* Interface: /nft/v1/token
* Method: POST
* Data Format: JSON
* Request Parameter:

| Parameter      | Type   | Required | Description                         |
| -------------- | ------ | -------- | ----------------------------------- |
| token\_address | String | Y        | The token address of the NFT token. |

* Request Example:

  ```
  {
      "token_address":"7ZBRCR83jqYk7bbG3RY8Qn14E341n3qwWgY6NTTPko5k"
  }
  ```
* Response Data:

| Field                        | Type   | Description                                                                          |
| ---------------------------- | ------ | ------------------------------------------------------------------------------------ |
| token\_address               | String | The token address of the NFT token.                                                  |
| token\_name                  | String | The name of the NFT token.                                                           |
| image\_url                   | String | The image url of the NFT token.                                                      |
| attributes                   | List   | The attributes of the NFT token.                                                     |
| attributes.trait\_type       | String | Attribute type.                                                                      |
| attributes.value             | String | Attribute value.                                                                     |
| attributes.amount            | Number | Attribute amount.                                                                    |
| attributes.rarity            | Number | Attribute rarity.                                                                    |
| valuation                    | Number | The valuation of the NFT token.                                                      |
| valuation\_24\_hours         | Number | The valuation of the NFT token from 24 hours ago.                                    |
| change\_rate\_24\_hours      | Number | change\_rate\_24\_hours = (valuation - valuation\_24\_hours) / valuation\_24\_hours. |
| valuation\_7\_days           | Number | The valuation of the NFT token from 7 days ago.                                      |
| change\_rate\_7\_days        | Number | change\_rate\_7\_days = (valuation - valuation\_7\_days) / valuation\_7\_days.       |
| valuation\_30\_days          | Number | The valuation of the NFT token from 30 days ago.                                     |
| change\_rate\_30\_days       | Number | change\_rate\_30\_days = (valuation - valuation\_30\_days) / valuation\_30\_days.    |
| risk                         | Number | The token's risk reflects the degree of volatility of the NFT.                       |
| max\_price                   | Number | The highest transaction price in history.                                            |
| min\_price                   | Number | The lowest transaction price in history.                                             |
| price\_history               | List   | The list of transaction prices in history.                                           |
| price\_history.price         | Number | historical price.                                                                    |
| price\_history.timestamp     | Number | The transaction time of the historical price.                                        |
| valuation\_history           | List   | The list of valuation over the past 30 days.                                         |
| valuation\_history.valuation | Number | valuation.                                                                           |
| valuation\_history.timestamp | Number | valuation time.                                                                      |
| holder\_history              | List   | The list of former holders in history.                                               |
| activities                   | List   | The list of activities.                                                              |
| activities.event\_type       | String | Type of activity.                                                                    |
| activities.price             | Number | Price of activity.                                                                   |
| activities.from\_address     | String | The source address of the NFT transfer .                                             |
| activities.to\_address       | String | The destination address of the NFT transfer.                                         |
| activities.timestamp         | Number | Time of activity.                                                                    |
| rarity\_score                | Number | The Rarity Score is an indicator of the rarity of NFT attributes.                    |
| rank                         | Number | Rank within the NFT collection for rarity scores.                                    |
| token\_popularity            | Number | The popularity of the NFT token                                                      |

* Response Example:

  ```json
  {
      "success": true,
      "code": "200",
      "message": "success",
      "data": {
          "attributes": [
              {
                  "amount": 250,
                  "rarity": 14.04,
                  "value": "Blue",
                  "trait_type": "Background"
              },
              {
                  "amount": 180,
                  "rarity": 10.11,
                  "value": "Guitar",
                  "trait_type": "Back"
              },
              {
                  "amount": 137,
                  "rarity": 7.69,
                  "value": "Silver",
                  "trait_type": "Body"
              },
              {
                  "amount": 361,
                  "rarity": 20.27,
                  "value": "Wire Neck",
                  "trait_type": "Neck"
              },
              {
                  "amount": 155,
                  "rarity": 8.7,
                  "value": "Police",
                  "trait_type": "Body Feature"
              },
              {
                  "amount": 1405,
                  "rarity": 78.89,
                  "value": "None",
                  "trait_type": "Head"
              },
              {
                  "amount": 1405,
                  "rarity": 78.89,
                  "value": "None",
                  "trait_type": "Ear"
              },
              {
                  "amount": 746,
                  "rarity": 41.89,
                  "value": "None",
                  "trait_type": "Mouth"
              },
              {
                  "amount": 230,
                  "rarity": 12.91,
                  "value": "Mechanical Heart",
                  "trait_type": "Energy"
              },
              {
                  "amount": 746,
                  "rarity": 41.89,
                  "value": "None",
                  "trait_type": "Eye"
              },
              {
                  "amount": 150,
                  "rarity": 8.42,
                  "value": "Orange Helmet",
                  "trait_type": "Helmet"
              },
              {
                  "amount": 209,
                  "rarity": 11.73,
                  "value": "Parrot",
                  "trait_type": "Shoulder"
              }
          ],
          "valuation": 1.8989,
          "risk": 0.8409,
          "activities": [
              {
                  "seller": "P1eKsmV8dAYaNBcWpjg7L3mpTbJkVscJuiRs6cgEHQe",
                  "buyer": "",
                  "transaction_type": "Listing",
                  "total_amount": 5.0,
                  "transaction_time": 1645150419000
              },
              {
                  "seller": "P1eKsmV8dAYaNBcWpjg7L3mpTbJkVscJuiRs6cgEHQe",
                  "buyer": "",
                  "transaction_type": "Listing",
                  "total_amount": 2.0,
                  "transaction_time": 1645150503000
              },
              {
                  "seller": "P1eKsmV8dAYaNBcWpjg7L3mpTbJkVscJuiRs6cgEHQe",
                  "buyer": "",
                  "transaction_type": "Listing",
                  "total_amount": 0.99,
                  "transaction_time": 1646393269000
              },
              {
                  "seller": "",
                  "buyer": "3TpJsd2x4njtah6sPgmBCXS4MLSoZ9zEpqpt2meQADmU",
                  "transaction_type": "PlaceBid",
                  "total_amount": 0.99,
                  "transaction_time": 1648372533000
              },
              {
                  "seller": "P1eKsmV8dAYaNBcWpjg7L3mpTbJkVscJuiRs6cgEHQe",
                  "buyer": "3TpJsd2x4njtah6sPgmBCXS4MLSoZ9zEpqpt2meQADmU",
                  "transaction_type": "Sale",
                  "total_amount": 0.99,
                  "transaction_time": 1648372533000
              }
          ],
          "rank": 1536,
          "token_address": "7ZBRCR83jqYk7bbG3RY8Qn14E341n3qwWgY6NTTPko5k",
          "token_name": "CitizenOne #1024",
          "image_url": "https://arweave.net/WGb_Cj2IhHA0N6ZgSzr5gcx0RtdFe36IDHMNnKHHr0w",
          "valuation_24_hours": 1.6234,
          "change_rate_24_hours": 0.1697,
          "valuation_7_days": 1.6433,
          "change_rate_7_days": 0.1555,
          "valuation_30_days": null,
          "change_rate_30_days": null,
          "max_price": 0.99,
          "min_price": 0.99,
          "price_history": [
              {
                  "price": 0.99,
                  "timestamp": 1648372533000
              }
          ],
          "valuation_history": [
              {
                  "valuation": 1.4964,
                  "timestamp": 1654015157000
              },
              {
                  "valuation": 1.5532,
                  "timestamp": 1654101536000
              },
              {
                  "valuation": 1.6433,
                  "timestamp": 1654188018000
              },
              {
                  "valuation": 1.6469,
                  "timestamp": 1654274513000
              },
              {
                  "valuation": 1.6410,
                  "timestamp": 1654360804000
              },
              {
                  "valuation": 1.7024,
                  "timestamp": 1654447136000
              },
              {
                  "valuation": 1.7223,
                  "timestamp": 1654533508000
              },
              {
                  "valuation": 1.7295,
                  "timestamp": 1654620109000
              },
              {
                  "valuation": 1.6234,
                  "timestamp": 1654704147000
              },
              {
                  "valuation": 1.8989,
                  "timestamp": 1654849802000
              }
          ],
          "holder_history": [
              "3TpJsd2x4njtah6sPgmBCXS4MLSoZ9zEpqpt2meQADmU"
          ],
          "rarity_score": 76.0,
          "token_popularity": 67.0619
      }
  }
  ```

### Get NFT token metadata <a href="#huo-qu-yu-suan-ke-mu-v2" id="huo-qu-yu-suan-ke-mu-v2"></a>

```
## Request
curl -X "POST" "https://oracle-api.banksea.finance/nft/v1/token/metadata" \
     -H 'x-api-key: test-api-key' \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{
    "token_address":"7ZBRCR83jqYk7bbG3RY8Qn14E341n3qwWgY6NTTPko5k"
}'
```

* Interface: /nft/v1/token/metadata
* Method: POST
* Data Format: JSON
* Request Parameter:

| Parameter      | Type   | Required | Description                         |
| -------------- | ------ | -------- | ----------------------------------- |
| token\_address | String | Y        | The token address of the NFT token. |

* Request Example:

  ```
  {
      "token_address":"7ZBRCR83jqYk7bbG3RY8Qn14E341n3qwWgY6NTTPko5k"
  }
  ```
* Response Data

| Field                  | Type   | Description                                                       |
| ---------------------- | ------ | ----------------------------------------------------------------- |
| token\_name            | String | The name of the NFT token.                                        |
| image\_url             | String | The image url of the NFT token.                                   |
| attributes             | List   | The attributes of the NFT token.                                  |
| attributes.trait\_type | String | Attribute type.                                                   |
| attributes.value       | String | Attribute value.                                                  |
| attributes.amount      | Number | Attribute amount.                                                 |
| attributes.rarity      | Number | Attribute rarity.                                                 |
| rarity\_score          | Number | The Rarity Score is an indicator of the rarity of NFT attributes. |
| rank                   | Number | Rank within the NFT collection for rarity scores.                 |

* Response Example:

  ```json
  {
      "success": true,
      "code": "200",
      "message": "success",
      "data": {
          "attributes": [
              {
                  "amount": 250,
                  "rarity": 14.04,
                  "value": "Blue",
                  "trait_type": "Background"
              },
              {
                  "amount": 180,
                  "rarity": 10.11,
                  "value": "Guitar",
                  "trait_type": "Back"
              },
              {
                  "amount": 137,
                  "rarity": 7.69,
                  "value": "Silver",
                  "trait_type": "Body"
              },
              {
                  "amount": 361,
                  "rarity": 20.27,
                  "value": "Wire Neck",
                  "trait_type": "Neck"
              },
              {
                  "amount": 155,
                  "rarity": 8.7,
                  "value": "Police",
                  "trait_type": "Body Feature"
              },
              {
                  "amount": 1405,
                  "rarity": 78.89,
                  "value": "None",
                  "trait_type": "Head"
              },
              {
                  "amount": 1405,
                  "rarity": 78.89,
                  "value": "None",
                  "trait_type": "Ear"
              },
              {
                  "amount": 746,
                  "rarity": 41.89,
                  "value": "None",
                  "trait_type": "Mouth"
              },
              {
                  "amount": 230,
                  "rarity": 12.91,
                  "value": "Mechanical Heart",
                  "trait_type": "Energy"
              },
              {
                  "amount": 746,
                  "rarity": 41.89,
                  "value": "None",
                  "trait_type": "Eye"
              },
              {
                  "amount": 150,
                  "rarity": 8.42,
                  "value": "Orange Helmet",
                  "trait_type": "Helmet"
              },
              {
                  "amount": 209,
                  "rarity": 11.73,
                  "value": "Parrot",
                  "trait_type": "Shoulder"
              }
          ],
          "rank": 1536,
          "token_name": "CitizenOne #1024",
          "image_url": "https://arweave.net/WGb_Cj2IhHA0N6ZgSzr5gcx0RtdFe36IDHMNnKHHr0w",
          "rarity_score": 76.0
      }
  }
  ```

### Get NFT token transactions <a href="#huo-qu-yu-suan-ke-mu-v2" id="huo-qu-yu-suan-ke-mu-v2"></a>

```
## Request
curl -X "POST" "https://oracle-api.banksea.finance/nft/v1/token/transactions" \
     -H 'x-api-key: test-api-key' \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{
    "token_address":"7ZBRCR83jqYk7bbG3RY8Qn14E341n3qwWgY6NTTPko5k"
}'
```

* Interface: /nft/v1/token/transactions
* Method: POST
* Data Format: JSON
* Request Parameter:

| Parameter      | Type   | Required | Description                         |
| -------------- | ------ | -------- | ----------------------------------- |
| token\_address | String | Y        | The token address of the NFT token. |

* Request Example:

  ```
  {
      "token_address":"7ZBRCR83jqYk7bbG3RY8Qn14E341n3qwWgY6NTTPko5k"
  }
  ```
* Response Data:

| Field                    | Type   | Description                                   |
| ------------------------ | ------ | --------------------------------------------- |
| max\_price               | Number | The highest transaction price in history.     |
| min\_price               | Number | The lowest transaction price in history.      |
| price\_history           | List   | The list of transaction prices in history.    |
| price\_history.price     | Number | historical price.                             |
| price\_history.timestamp | Number | The transaction time of the historical price. |
| holder\_history          | List   | The list of former holders in history.        |
| activities               | List   | The list of activities.                       |
| activities.event\_type   | String | Type of activity.                             |
| activities.price         | Number | Price of activity.                            |
| activities.from\_address | String | The source address of the NFT transfer .      |
| activities.to\_address   | String | The destination address of the NFT transfer.  |
| activities.timestamp     | Number | Time of activity.                             |
| token\_popularity        | Number | The popularity of the NFT token               |

* Response Example:

  ```json
  {
      "success": true,
      "code": "200",
      "message": "success",
      "data": {
          "activities": [
              {
                  "seller": "P1eKsmV8dAYaNBcWpjg7L3mpTbJkVscJuiRs6cgEHQe",
                  "buyer": "",
                  "transaction_type": "Listing",
                  "total_amount": 5.0,
                  "transaction_time": 1645150419000
              },
              {
                  "seller": "P1eKsmV8dAYaNBcWpjg7L3mpTbJkVscJuiRs6cgEHQe",
                  "buyer": "",
                  "transaction_type": "Listing",
                  "total_amount": 2.0,
                  "transaction_time": 1645150503000
              },
              {
                  "seller": "P1eKsmV8dAYaNBcWpjg7L3mpTbJkVscJuiRs6cgEHQe",
                  "buyer": "",
                  "transaction_type": "Listing",
                  "total_amount": 0.99,
                  "transaction_time": 1646393269000
              },
              {
                  "seller": "",
                  "buyer": "3TpJsd2x4njtah6sPgmBCXS4MLSoZ9zEpqpt2meQADmU",
                  "transaction_type": "PlaceBid",
                  "total_amount": 0.99,
                  "transaction_time": 1648372533000
              },
              {
                  "seller": "P1eKsmV8dAYaNBcWpjg7L3mpTbJkVscJuiRs6cgEHQe",
                  "buyer": "3TpJsd2x4njtah6sPgmBCXS4MLSoZ9zEpqpt2meQADmU",
                  "transaction_type": "Sale",
                  "total_amount": 0.99,
                  "transaction_time": 1648372533000
              }
          ],
          "max_price": 0.99,
          "min_price": 0.99,
          "price_history": [
              {
                  "price": 0.99,
                  "timestamp": 1648372533000
              }
          ],
          "holder_history": [
              "3TpJsd2x4njtah6sPgmBCXS4MLSoZ9zEpqpt2meQADmU"
          ],
          "token_popularity": 67.0619
      }
  }
  ```

### Get NFT token valuation <a href="#huo-qu-yu-suan-ke-mu-v2" id="huo-qu-yu-suan-ke-mu-v2"></a>

```
## Request
curl -X "POST" "https://oracle-api.banksea.finance/nft/v1/token/valuation" \
     -H 'x-api-key: test-api-key' \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{
    "token_address":"7ZBRCR83jqYk7bbG3RY8Qn14E341n3qwWgY6NTTPko5k"
}'
```

* Interface: /nft/v1/token/valuation
* Method: POST
* Data Format: JSON
* Request Parameter:

| Parameter      | Type   | Required | Description                         |
| -------------- | ------ | -------- | ----------------------------------- |
| token\_address | String | Y        | The token address of the NFT token. |

* Request Example:

  ```
  {
      "token_address":"7ZBRCR83jqYk7bbG3RY8Qn14E341n3qwWgY6NTTPko5k"
  }
  ```
* Response Data:

| Field                        | Type   | Description                                                                          |
| ---------------------------- | ------ | ------------------------------------------------------------------------------------ |
| valuation                    | Number | The valuation of the NFT token.                                                      |
| valuation\_24\_hours         | Number | The valuation of the NFT token from 24 hours ago.                                    |
| change\_rate\_24\_hours      | Number | change\_rate\_24\_hours = (valuation - valuation\_24\_hours) / valuation\_24\_hours. |
| valuation\_7\_days           | Number | The valuation of the NFT token from 7 days ago.                                      |
| change\_rate\_7\_days        | Number | change\_rate\_7\_days = (valuation - valuation\_7\_days) / valuation\_7\_days.       |
| valuation\_30\_days          | Number | The valuation of the NFT token from 30 days ago.                                     |
| change\_rate\_30\_days       | Number | change\_rate\_30\_days = (valuation - valuation\_30\_days) / valuation\_30\_days.    |
| risk                         | Number | The token's risk reflects the degree of volatility of the NFT.                       |
| valuation\_history           | List   | The list of valuation over the past 30 days.                                         |
| valuation\_history.valuation | Number | valuation.                                                                           |
| valuation\_history.timestamp | Number | valuation time.                                                                      |

* Response Example:

  ```json
  {
      "success": true,
      "code": "200",
      "message": "success",
      "data": {
          "valuation": 1.8989,
          "risk": 0.8409,
          "valuation_24_hours": 1.6234,
          "change_rate_24_hours": 0.1697,
          "valuation_7_days": 1.6433,
          "change_rate_7_days": 0.1555,
          "valuation_30_days": null,
          "change_rate_30_days": null,
          "valuation_history": [
              {
                  "valuation": 1.4964,
                  "timestamp": 1654015157000
              },
              {
                  "valuation": 1.5532,
                  "timestamp": 1654101536000
              },
              {
                  "valuation": 1.6433,
                  "timestamp": 1654188018000
              },
              {
                  "valuation": 1.6469,
                  "timestamp": 1654274513000
              },
              {
                  "valuation": 1.6410,
                  "timestamp": 1654360804000
              },
              {
                  "valuation": 1.7024,
                  "timestamp": 1654447136000
              },
              {
                  "valuation": 1.7223,
                  "timestamp": 1654533508000
              },
              {
                  "valuation": 1.7295,
                  "timestamp": 1654620109000
              },
              {
                  "valuation": 1.6234,
                  "timestamp": 1654704147000
              },
              {
                  "valuation": 1.8989,
                  "timestamp": 1654849802000
              }
          ]
      }
  }
  ```
