openapi: 3.0.1 info: title: Chainlens Account-Controller Account-Tokens-Controller API description: Chainlens provides a robust and intuitive platform combining user-friendly exploration with powerful analytics and advanced features. Whether monitoring real-time blockchain transactions, verifying smart contracts, or tracking NFTs, Chainlens ensures you have all the necessary tools at your fingertips. version: master tags: - name: Account-Tokens-Controller paths: /accounts/{addressHash}/tokens: get: tags: - Account-Tokens-Controller summary: Chainlens Retrieve token holdings by account. operationId: findAccountTokens parameters: - name: addressHash in: path description: The account address. required: true schema: type: string - name: query in: query required: true schema: $ref: '#/components/schemas/FindAccountTokenHoldingsQuery' responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/TokenBalancesModel' /accounts/{addressHash}/nfts: get: tags: - Account-Tokens-Controller summary: Chainlens Retrieve NFT items by account. operationId: findAccountNFTs parameters: - name: addressHash in: path description: The account address. required: true schema: type: string - name: query in: query required: true schema: $ref: '#/components/schemas/FindCollectionItemsHoldingsQuery' responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/CollectionItemsModel' /accounts/{addressHash}/collection/{tokenAddress}: get: tags: - Account-Tokens-Controller summary: Chainlens Retrieve a non-fungible item holdings for an account. operationId: findAccountCollectionItems parameters: - name: addressHash in: path description: The account address. required: true schema: type: string - name: tokenAddress in: path description: The NFT contract address. required: true schema: type: string - name: query in: query required: true schema: $ref: '#/components/schemas/FindCollectionItemsHoldingsQuery' responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/CollectionItemsModel' components: schemas: Link: required: - display - href - rel type: object properties: href: type: string rel: type: string display: type: string TokenBalancesModel: required: - data - metadata - paging type: object properties: paging: $ref: '#/components/schemas/PagingModel' data: type: array items: $ref: '#/components/schemas/TokenBalancesByHolderRowModel' metadata: $ref: '#/components/schemas/TokenBalancesMetaData' TokenModel: required: - address - contractType - lastExecutedTimestampISO - transactionCount - verified type: object properties: address: type: string addressLinks: type: array items: $ref: '#/components/schemas/Link' name: type: string symbol: type: string decimals: type: integer format: int32 totalSupply: type: number contractType: type: string transactionCount: type: integer format: int64 lastExecutedTimestampISO: type: string coverImage: type: string holdersCount: type: integer format: int64 tokenCount: type: integer format: int64 metadata: $ref: '#/components/schemas/CollectionMetadataModel' metadataUrl: type: string originalAssetLink: type: string verified: type: boolean verifiedStatus: type: string enum: - Partial - Full project: $ref: '#/components/schemas/ProjectModel' marketData: $ref: '#/components/schemas/MarketDataModel' ProjectModel: required: - address - isActive type: object properties: address: type: string name: type: string description: type: string type: type: string enum: - CONTRACT - DAPP socialMedia: type: array items: $ref: '#/components/schemas/SocialLink' isActive: type: boolean coverImage: type: string website: type: string TokenBalancesRowModel: required: - amount - count - lastUpdated - quantity - tokenAddress - tokenType type: object properties: tokenAddress: type: string tokenType: type: string enum: - Custom - ERC20 - ERC223 - ERC721 - ERC777 - ERC1155 - ERC3643 - ERC1167Proxy - ERC1822Proxy - ERC1967Proxy - ERC2535Proxy holderAddress: type: string holderAddressLinks: type: array items: $ref: '#/components/schemas/Link' tokenIds: type: array items: type: string amount: type: string count: type: string symbol: type: string name: type: string quantity: type: number lastUpdated: type: integer format: int64 TokenBalancesByHolderRowModel: required: - balances - holderAddress - holderAddressInfo - holderAddressLinks type: object properties: holderAddress: type: string holderAddressInfo: $ref: '#/components/schemas/AddressInfo' holderAddressLinks: type: array items: $ref: '#/components/schemas/Link' balances: type: array items: $ref: '#/components/schemas/TokenBalancesRowModel' FindAccountTokenHoldingsQuery: required: - direction - page - size - sort type: object properties: page: type: integer format: int32 size: type: integer format: int32 direction: type: string enum: - ASC - DESC sort: type: string enum: - lastUpdated - holderAddress - amount filter: type: string CollectionItemsModel: required: - data - paging type: object properties: paging: $ref: '#/components/schemas/PagingModel' data: type: array items: $ref: '#/components/schemas/CollectionItem' CollectionMetadataModel: required: - attributes type: object properties: name: type: string collectionName: type: string artistAddress: type: string description: type: string image: type: string externalUrl: type: string attributes: type: array items: $ref: '#/components/schemas/Attribute' resolvedImageUrl: type: string metadataUrl: type: string tokenId: type: string AddressInfo: required: - address - isContract - isProxy - isVerified type: object properties: address: type: string name: type: string isContract: type: boolean isVerified: type: boolean isProxy: type: boolean verifiedStatus: type: string enum: - Partial - Full contractType: type: string enum: - contract - nft - token SocialLink: required: - name - url type: object properties: name: type: string url: type: string PagingModel: required: - direction - page - size - sort - totalElements type: object properties: page: type: integer format: int32 size: type: integer format: int32 sort: type: string direction: type: string enum: - ASC - DESC totalElements: type: integer format: int64 FindCollectionItemsHoldingsQuery: required: - direction - page - size - sort type: object properties: page: type: integer format: int32 size: type: integer format: int32 direction: type: string enum: - ASC - DESC sort: type: string enum: - lastUpdated - holderAddress - amount filter: type: string MarketDataModel: required: - fdv - market_cap - market_change_24h_percent - price_eth - price_usd - total_circulating_supply - total_volume_24h type: object properties: fdv: type: number market_cap: type: number total_volume_24h: type: number total_circulating_supply: type: number price_usd: type: number price_eth: type: number market_change_24h_percent: type: number image: type: string TokenBalancesMetaData: required: - tokens type: object properties: tokens: type: array items: $ref: '#/components/schemas/TokenModel' Attribute: required: - traitType - value type: object properties: traitType: type: string value: type: string CollectionItem: required: - amount - holderAddress - tokenAddress - tokenId type: object properties: holderAddress: type: string tokenAddress: type: string tokenId: type: string collection: $ref: '#/components/schemas/TokenModel' amount: type: string metadata: $ref: '#/components/schemas/CollectionMetadataModel' externalDocs: description: Chainlens Documentation url: https://docs.chainlens.com/