NFT Common Structures#
nfts-common-structuresstructuresnfts_common_structures#
The following structures are used in the Komodo DeFi SDK for non-fungible tokens (NFTs).
GetNftTransfersFilters#
| Parameter | Type | Required | Default | Description |
| receive | boolean |
–
| false | If true, only transfers where user received NFTs are included in the response. |
| send | boolean |
–
| false | If true, only transfers where user sent NFTs are included in the response. |
| from_date | integer |
–
| | A timestamp in unix epoch format. If true, filter includes transfers from this date onwards (inclusive). |
| to_date | integer |
–
| | A timestamp in unix epoch format. If true, filter includes transfers up to this date (inclusive). |
| exclude_spam | boolean |
–
| false | If true, only transfers which have param possible_spam:false are included in the response. |
| exclude_phishing | boolean |
–
| false | If true, only transfers which have param possible_phishing:false are included in the response. |
NftFilter#
The NftFilter object includes the following items for a given coin or token:
| Parameter | Type | Required | Default | Description |
| exclude_spam | boolean |
–
| false | Optional, defaults to false. If true, only tokens which have param possible_spam:false are included in the response. |
| exclude_phishing | boolean |
–
| false | Optional, defaults to false. If true, only tokens which have param possible_phishing:false are included in the response. |
NftInfoBasic#
The NftInfoBasic object includes the following items for a given token:
| Parameter | Type | Required | Description |
| amount | string |
✓
| The amount of this NFT the user owns (used by ERC1155). |
| chain | string |
✓
| Chain name. One of AVALANCHE, BSC, ETH, FANTOM, or POLYGON. |
| contract_type | string |
✓
| The type of NFT contract standard. One of ERC721 or ERC1155. |
| token_address | string |
✓
| The address of the NFT contract. |
| token_id | string |
✓
| The token ID of the NFT. |
NftInfo#
The NftInfo object includes the following items for a given token:
| Parameter | Type | Required | Description |
| amount | string |
✓
| The amount of this NFT the user owns (used by ERC1155). |
| block_number_minted | integer |
–
| The block height when the NFT was minted. May be null. |
| block_number | integer |
✓
| The block height when the amount or owner changed. |
| chain | string |
✓
| Chain name. One of AVALANCHE, BSC, ETH, FANTOM, or POLYGON. |
| contract_type | string |
✓
| The type of NFT contract standard. One of ERC721 or ERC1155. |
| last_token_uri_sync | string |
✓
| When the token_uri was last updated. |
| last_metadata_sync | string |
✓
| When the metadata was last updated. |
| metadata | object |
–
| A JSON object containing NFT metadata. May be null. |
| minter_address | string |
–
| Minter address. May be null. |
| owner_of | string |
✓
| The wallet address of the owner of the NFT. |
| possible_spam | boolean |
✓
| If true, the contract address has been identified as associated with spam or suspicious activities. |
| possible_phishing | boolean |
✓
| If true, the token has been identified as associated with phishing, as at least one of domain fields is found in database with phishing domains. |
| synced_at | string |
✓
| When the token was last synced with the node. |
| token_address | string |
✓
| The address of the NFT contract. |
| token_id | string |
✓
| The token ID of the NFT. |
| token_hash | string |
–
| The token hash. May be null. |
| token_uri | string |
–
| The URI to the metadata of the token. May be null. |
| token_domain | string |
–
| Token domain. May be null. |
| uri_meta | object |
✓
| A standard NftMetadata object. |
The NftMetadata object includes the following items for a given coin or token:
| Parameter | Type | Required | Description |
| image | string |
–
| Direct URL to the NFT's image. |
| image_url | string |
–
| Url to the NFT's image. Derived from the image or image_url fields to prioritize the non-null value. Can be null if neither is provided. |
| image_domain | string |
–
| Extracted domain from the 'image_url', if valid. |
| name | string |
–
| Name of the token. |
| description | string |
–
| Description of the token. |
| attributes | object or array of objects |
–
| The values within this parameter will vary, and are set by the creator. Often used to store traits. |
| animation_url | string |
–
| Url to an animation to be displayed instead of a static image. |
| animation_domain | string |
–
| Extracted domain from the animation_url, if valid. |
| external_url | string |
–
| URL to the external source related to the token. |
| external_domain | string |
–
| Extracted domain from the external_url, if valid. |
| image_details | object |
–
| JSON containing additional details or attributes of the image. |
Show Example
[
{
"trait_type": "Specialization",
"value": "Thief"
},
{
"trait_type": "Skin Tone",
"value": "#0013b0"
},
{
"trait_type": "Weapon",
"value": "Crossbow"
},
{
"trait_type": "Species",
"value": "Dark Elf"
},
{
"trait_type": "Gender",
"value": "Female"
},
{
"trait_type": "Strength",
"value": "8"
},
{
"trait_type": "Dexterity",
"value": "12"
},
{
"trait_type": "Intelligence",
"value": "10"
},
{
"trait_type": "Perks",
"value": ["Steath", "Eagle Eye", "Lockpicking", "Pickpocketing", "Fire resistance"]
},
{
"trait_type": "Weakness",
"value": ["Slow healing", "Elfbark Addict", "Lockpicking", "Fear of cats", "Unconvincing liar"]
},
{
"trait_type": "Personality",
"value": "Aggressive"
}
]
NftProvider#
The NftProvider object is used in the ‘enable_nft’ RPC method. It defines the NFT providers that are avaialable and their configuration.
| Parameter | Type | Required | Description |
| type | string |
✓
| Specifies the type of the provider. |
| info | object |
✓
| Additional information about the provider |
| info.url | string |
✓
| URL of the provider's endpoint |
| info.komodo_proxy | boolean |
–
| Indicates whether proxy authentication is enabled for the endpoint |
Show Example
{
"type": "Moralis",
"info": {
"url": "https://moralis-proxy.komodo.earth",
"komodo_proxy": true
}
}
NftTransfer#
The NftTransfer object includes the following items for each token transaction:
| Parameter | Type | Required | Description |
| amount | string |
✓
| Amount of tokens transferred. |
| block_hash | string |
–
| May be null. Hash of block in which transfer occurred. |
| block_number | integer |
✓
| Height of block in which transfer occurred. |
| block_timestamp | integer |
✓
| Block time in unix epoch format. |
| chain | string |
✓
| Chain name. One of AVALANCHE, BSC, ETH, FANTOM, or POLYGON. |
| token_uri | string |
–
| May be null. The URI to the metadata of the token. |
| token_domain | string |
–
| May be null. Extracted domain from the token_uri, if valid. |
| collection_name | string |
–
| May be null. Name of collection which token belongs to. |
| image_url | string |
–
| May be null. The URI to the token image. |
| image_domain | string |
–
| May be null. Extracted domain from the image_url, if valid. |
| token_name | string |
–
| May be null. Name of the token. |
| contract_type | string |
✓
| Contract type. ERC721 or ERC1155. |
| token_address | string |
✓
| Address of token transferred. |
| token_id | string |
✓
| Token ID. |
| possible_spam | boolean |
✓
| If true, the contract address has been identified as associated with spam or suspicious activities. |
| possible_phishing | boolean |
✓
| If true, the token has been identified as associated with phishing, as at least one of domain fields is found in database with phishing domains. |
| transaction_hash | string |
✓
| Transaction ID of the transfer. |
| transaction_index | string |
–
| May be null. Transaction index of the transfer. |
| log_index | string |
✓
| Log index of the transfer. |
| value | string |
–
| May be null. Tranfer value. |
| transaction_type | string |
–
| May be null. Transaction type. Possible values are Single. |
| from_address | string |
✓
| Address of previous owner which sent the token(s). |
| to_address | string |
✓
| Address of new owner which received the token(s). |
| status | string |
✓
| Transfer status. Will be either Send or Receive. When the from_address and to_address are the same (i.e. sending to yourself), this value will be Receive. |
| verified | integer |
–
| May be null. A deprecated field which will be removed in future. |
| operator | string |
–
| May be null. |
| fee_details | object |
–
| A standard FeeInfo object. |
| confirmations | integer |
✓
| The count of blocks produced since this transaction was confirmed. |
NftTransferFilter#
The NftTransferFilter object includes the following items for a given coin or token:
| Parameter | Type | Required | Default | Description |
| receive | boolean |
–
| false | If true, only transfers where user received NFTs are included in the response. |
| send | boolean |
–
| false | If true, only transfers where user sent NFTs are included in the response. |
| from_date | integer |
–
| | A timestamp in unix epoch format. If true, filter includes transfers from this date onwards (inclusive). |
| to_date | integer |
–
| | A timestamp in unix epoch format. If true, filter includes transfers up to this date (inclusive). |
| exclude_spam | boolean |
–
| false | If true, only transfers which have param possible_spam:false are included in the response. |
| exclude_phishing | boolean |
–
| false | If true, only transfers which have param possible_phishing:false are included in the response. |
Show Example
{
"ticker": "MINDS-ERC20",
"required_confirmations": 4
}
MoralisNftDetails#
| Parameter | Type | Required | Description |
| amount | string |
✓
| The amount of this NFT the user owns (used by ERC1155). |
| block_number_minted | integer |
–
| The block height when the NFT was minted. May be null. |
| block_number | integer |
✓
| The block height when the amount or owner changed. |
| chain | string |
✓
| Chain name. One of AVALANCHE, BSC, ETH, FANTOM, or POLYGON. |
| name | string |
–
| May be null. An NFT collection name. |
| contract_type | string |
✓
| The type of NFT contract standard. One of ERC721 or ERC1155. |
| last_token_uri_sync | string |
✓
| When the token_uri was last updated. |
| metadata | string |
–
| May be null or a JSON stringified object containing NFT metadata. |
| normalized_metadata | object |
–
| A JSON object containing NFT metadata. |
| possible_spam | boolean |
✓
| Indicates if the NFT collection is flagged as spam. |
| symbol | string |
–
| May be null. The symbol of the NFT collection. |
| synced_at | string |
✓
| When the NFT was last synced with the node. |
| token_address | string |
✓
| The smart contract address of this NFT. |
| token_hash | string |
✓
| A hash uniquely identifying this NFT's metadata. |
| token_id | string |
✓
| The token ID of this NFT. |
| token_uri | string |
–
| May be null. A URI to the NFT metadata (Usually an IPFS link). |
| possible_phishing | boolean |
✓
| Indicates if the NFT is flagged as phishing. |
TokenProtocol#
Standard object structure used in token information methods like get_token_info.
| Parameter | Type | Required | Description |
| type | string |
✓
| Token type - e.g ERC20 for tokens on the Ethereum network |
| protocol_data | object |
✓
| Protocol-specific data object |
TokenProtocolData#
Sub-object of TokenProtocol containing platform-specific token information.
| Parameter | Type | Required | Description |
| platform | string |
✓
| The parent coin of the token's platform - e.g MATIC for PLG20 tokens |
| contract_address | string |
✓
| Must be mixed case The identifying hex string for the token's contract. Can be found on sites like EthScan, BscScan & PolygonScan |
WithdrawNftData#
The WithdrawNftData object is used for withdrawals of NFTs on ERC721 and ERC1155 contracts. It includes the following items for a given coin or token:
| Parameter | Type | Required | Description |
| token_address | string |
✓
| The contract address of the NFT |
| token_id | string |
✓
| The ID of the NFT |
| to | string |
✓
| The recipient's address |
| amount | string |
–
| The amount to withdraw (for ERC1155 NFTs). For ERC721 NFTs, this is always 1 and can be omitted. |