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.

NftMetadata

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.