What are the major changes on the External APIs?

There are no changes to be made on external APIs

What are the major changes on the user interface?

1. Address Detail Page


1.1. NFT Balances Tab which shows the current NFTs held by the address. There is a new high tab inside an address page which can be used to navigate here

  1. Each card will contain the following fields

    1. {Collection Name} #{Token ID}

    2. Current Owner: (address)

    3. Last Traded Price: (in USD)

    4. Digital Art Thumbnail → If not available, use a placeholder image

  2. Cards are ordered by (last_traded_price, last_traded_date)

1.2 The transaction lists on an address will now

1.2.1. Show one view for both incoming and outgoing transactions
1.2.2. For chains which support smart contracts, we will also show tabs for

Transaction

ERC-20 Token Transfer

ERC-721 Token Transfer

Internal Transactions

The fields / columns displayed on transaction lists will remain the same with the exceptions
1. that we will now include an icon to display incoming or outgoing
2. under the ERC-721 tab, the Value USD column should be changed to Token ID, and should display the token_id field without the US$ prefix

3. Rename the column Entities DetectedCounterparties


2. KYBB Listing Page

Under the Entity Repository, and if we navigate to De-Fi, add a NFT Collections section. When clicked, this section should list all NFT collections we support.

To start, we are supporting top 100 collections, but this could easily go upto 10K+, or 1Mil+ in the future.
These tokens are listed here

3. NFT Collection Detail Page

There are two ways to navigate to this page

  1. Universal Search → We could search for an entity collection with a substring search

  2. Navigating to collection from the KYBB page → As described above

If we click on a certain collection, it opens up an NFT Collection detail page. An NFT Collection is represented by an on-chain address, and when the detail page is selected, it should open up the address detail page for the address linked to the contract

The additional fields required for an NFT collection page include

  1. A highlighted Entity Name at the top left

  2. A collection URL

  3. Twitter and Discord links for the NFT

  4. A new tab called NFT Inventory which lists all tokens minted as cards (in a paginated fashion)

    1. Each card will contain the following fields

      1. Token ID

      2. Current Owner

      3. Last Traded Price

      4. Digital Art Thumbnail

    2. Cards are ordered by (last_traded_price, last_traded_date)

  5. Another tab called holders which lists number of tokens owned by an address as a table

    1. Each Row will contain the following fields

      1. Holder Address

      2. Counterparties

      3. Quantity Held

      4. % Held

NFT Inventory Tab

Holders Tab

4. NFT Detail Page

There are two ways to navigate to this page

  1. Navigating to collection from the KYBB page , moving to NFT inventory and then

    1. Selecting one of the NFTs

    2. Searching and filtering on the search bar

An NFT detail page contains the following section

  1. Metadata tab on (left) which contains following fields

    1. Token Type: (ERC-20 or ERC-721)

    2. NFT Collection: Contract Address of the NFT Collection

    3. Last Traded Value: US$ Value | ETH Value

    4. Token Transfers: Count of Transfers

    5. Minted On: Date

    6. NFT Collection URL: <url>

  2. Exposure charts + table of current holder address

  3. Holders: Similar to Holders tab on collection without the Quantity and Percentage columns

  4. Transfers tab: Which lists all transfers (similar to ERC-721 tab on an address page) but filtered to show transfers only for this token

Artefacts

A list of objects to be created

/

Team

List of Artefacts

Notes

Intelligence

  • Contract Metadata

  • Populate Contract Metadata on Holocron

  • Add new entity-subtype for NFT Contracts (type: DeFi) on Duster

Fields which should be available →

  1. Contract Address

  2. Number of Tokens as of September 19th

  3. is_erc20

  4. is_generative_nft

  5. URL

  6. Description

  7. Token Symbol

Data Engineering

  • Clickhouse tables for

    • Contract Metadata

    • NFT Metadata

    • Token Transfers

  • Clickhouse Views for (all views need filtering + pagination support)

    • Address Detail Page

      • ERC20 / ERC 721 Token Transfers for an address

      • Internal Txns for an address

      • ERC 721 Balance of an Address

    • NFT Collection Page

      • NFTs minted by contract

      • Current holders of tokens minted by contract

    • NFT Detail Page

      • ERC 721 Token Transfers of an NFT Token

      • Past owners of an NFT Token

  • Airflow dags for

    • Collecting Contract Metadata

    • Collecting NFT Metadata, and storing images + thumbnails

  • Modify tokens available on ethereum_tld tables and create a new type=4 for NFT transfers

Backend

  • Add new entity-subtype for NFT Contracts (type: DeFi) on Compass FE + BE

  • Add new entity-subtype for NFT Contracts (type: DeFi) on Holocron and add new properties

  • New internal APIs

    • Address

      • A new transaction listing API which accepts address + type as parameter

      • NFTs balance API

    • Transaction

      • ERC-721 Token transfer API for tab on transaction detail page

    • NFT Collection

      • API for inventory minted

      • API for current holders

      • API for collection metadata

    • NFT Detail

      • API for NFT metadata

      • API for previous holders + current holders

      • API for all token transfers