{"id":24560107,"url":"https://github.com/arjun-r34/asset-tracker","last_synced_at":"2025-08-10T21:03:52.319Z","repository":{"id":61428930,"uuid":"551044646","full_name":"ARJUN-R34/asset-tracker","owner":"ARJUN-R34","description":"Asset tracker to track all your multichain assets","archived":false,"fork":false,"pushed_at":"2022-10-23T21:26:40.000Z","size":109,"stargazers_count":2,"open_issues_count":6,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-08-09T01:42:45.377Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ARJUN-R34.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"github":["arjun-r34"],"ko_fi":"itsarjn"}},"created_at":"2022-10-13T18:48:08.000Z","updated_at":"2022-10-17T06:13:24.000Z","dependencies_parsed_at":"2023-01-20T09:20:52.905Z","dependency_job_id":null,"html_url":"https://github.com/ARJUN-R34/asset-tracker","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/ARJUN-R34/asset-tracker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ARJUN-R34%2Fasset-tracker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ARJUN-R34%2Fasset-tracker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ARJUN-R34%2Fasset-tracker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ARJUN-R34%2Fasset-tracker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ARJUN-R34","download_url":"https://codeload.github.com/ARJUN-R34/asset-tracker/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ARJUN-R34%2Fasset-tracker/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269787312,"owners_count":24475714,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-10T02:00:08.965Z","response_time":71,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-01-23T07:15:07.165Z","updated_at":"2025-08-10T21:03:52.281Z","avatar_url":"https://github.com/ARJUN-R34.png","language":"JavaScript","funding_links":["https://github.com/sponsors/arjun-r34","https://ko-fi.com/itsarjn"],"categories":[],"sub_categories":[],"readme":"# **Asset Tracker**\n\n\n**Asset tracker** is a one-stop library for the user to track their assets and holdings across multiple EVM and Non EVM chains.\n\n\u003cbr\u003e\n\nThis library will be updated continuously with more and more chain support and increasing granularity of data.\n\n\u003cbr\u003e\n\n## **Installation and Usage**\n\n\n### Installation\n\nInstall the library by running the command,\n\n```shell\nnpm install --save asset-tracker\n```\n\nImport the library into your project using,\n\n```js\nconst assetTracker = require('asset-tracker');\n```\n\n\u003cbr\u003e\n\n### Initialization\n\nThis library comes with 2 different classes.\nOne is `EVM` and other is `nonEVM` with each class catering to their own set of chains and functionality.\n\n#### Initialize the classes\n\n```js\n// Initialize the EVM class\nconst tracker = new assetTracker.EVM(evmChain);\n\n// Initialize the non EVM class\nconst tracker = new assetTracker.nonEVM(nonEvmChain);\n```\n\n\u003cbr\u003e\n\n### Methods\n\n\u003e Get Native Asset Balance\n\nReturns the native asset balance of the initialized chain.\n\n```js\nconst nativeAssetbalance = await tracker.getNativeAssetBalance(address);\n```\n\n* `address` (required) - Address for which the native asset balance is to be fetched. Can be a contract address or an EOA.\n\n\u003cbr\u003e\n\n\u003e Discover Fungible Assets\n\nScans the address for any fungible asset balances and returns the same.\n\n```js\nconst fungibleAssets = await tracker.discoverFungibleAssets(address);\n```\n\n* `address` (required) - Address for which the list of fungible assets is to be checked.\n\n\u003cbr\u003e\n\n\u003e Discover Non Fungible Assets (NFTs)\n\nScans the address for any non fungible assets and returns the same.\n\n```js\nconst nonFungibleAssets = await tracker.discoverNonFungibleAssets(address);\n```\n\n* `address` (required) - Address for which the list of non fungible assets is to be checked.\n\n\u003cbr\u003e\n\n\u003e Get the list of transactions\n\nReturns the list of transactions for the specified address. The function also accepts an option parameter `type` which accepts the values `incoming` or `outgoing` to filter out the transactions.\n\n```js\nconst transactions = await tracker.getTransactions({ address, page, limit, type });\n```\n\n* `address` (required) - Address for which the list of transactions is to be fetched.\n* `page` (required) - Page number for pagination.\n* `limit` (required) - Number of results to be returned in every page for pagination.\n* `type` (optional. default = `all`) - Parameter to filter out the `incoming` or `outgoing` transactions. Defaults to `all`.\n\n\u003cbr\u003e\n\n\u003e Get the token details for a particular fungible token address\n\nReturns the basic info about a particular fungible asset.\n\n```js\nconst fungibleAssetInfo = await tracker.getFungibleTokenDetails(contractAddress);\n```\n\n* `contractAddress` (required) - Contract address of the fungible token.\n\n\u003cbr\u003e\n\n\u003e Get the token details for a particular non fungible (NFT) token address\n\nReturns the basic info about a particular non fungible asset.\n\n```js\nconst nonFungibleAssetInfo = await tracker.getNFTDetails(contractAddress);\n```\n\n* `contractAddress` (required) - Contract address of the non fungible token.\n\n\u003cbr\u003e\n\n\u003e Switch Chains\n\nSwitch between different supported chains. Once the chain is switched, all the subsequent functions will work for this new chain.\n\n```js\nswitchChain(chainName);\n```\n\n* `chainName` (required) - Name of the new chain to be switched.\n\n\u003cbr\u003e\n\n\u003e Get Supported Chains (filter by function name)\n\nThis function will return the list of all the supported chains. The user can pass an optional parameter `functionName` which will return all the chains that supports this particular functionality.\n\n```js\ngetSupportedChains(functionName);\n```\n\n* `functionName` (optional. defaults to `all`) - Name of the function to be checked for chain support.\n\n\u003cbr\u003e\n\n\u003e Get Native Asset Details\n\nThis function will return the details of the native asset of the chain initialized.\n\n```js\ngetNativeAssetDetails();\n```\n\n\u003cbr\u003e\n\n\u003e **Note** \u003cbr /\u003e\n\u003e Please note that currently, this library only supports EVM chains. Will soon be adding support for non EVM chains.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farjun-r34%2Fasset-tracker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farjun-r34%2Fasset-tracker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farjun-r34%2Fasset-tracker/lists"}