{"id":28425208,"url":"https://github.com/metamask/eth-token-tracker","last_synced_at":"2025-06-26T01:31:17.975Z","repository":{"id":20097210,"uuid":"88793013","full_name":"MetaMask/eth-token-tracker","owner":"MetaMask","description":"A JS module for tracking Ethereum token balances over block changes","archived":false,"fork":false,"pushed_at":"2025-03-28T16:14:25.000Z","size":1614,"stargazers_count":80,"open_issues_count":11,"forks_count":43,"subscribers_count":34,"default_branch":"main","last_synced_at":"2025-06-05T10:50:27.080Z","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":"isc","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MetaMask.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":null,"patreon":null,"open_collective":"metamask","ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2017-04-19T21:35:42.000Z","updated_at":"2025-05-11T00:22:07.000Z","dependencies_parsed_at":"2024-11-08T16:31:31.192Z","dependency_job_id":"15edde79-5338-4289-a3e8-5f6ee15487f6","html_url":"https://github.com/MetaMask/eth-token-tracker","commit_stats":{"total_commits":127,"total_committers":13,"mean_commits":9.76923076923077,"dds":0.6771653543307087,"last_synced_commit":"1ea1da7d3760b16dc528e8286bf2b87de716897c"},"previous_names":["flyswatter/eth-token-tracker"],"tags_count":17,"template":false,"template_full_name":null,"purl":"pkg:github/MetaMask/eth-token-tracker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MetaMask%2Feth-token-tracker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MetaMask%2Feth-token-tracker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MetaMask%2Feth-token-tracker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MetaMask%2Feth-token-tracker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MetaMask","download_url":"https://codeload.github.com/MetaMask/eth-token-tracker/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MetaMask%2Feth-token-tracker/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261982479,"owners_count":23240070,"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","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-06-05T10:36:36.382Z","updated_at":"2025-06-26T01:31:17.950Z","avatar_url":"https://github.com/MetaMask.png","language":"JavaScript","readme":"# Eth Token Tracker\n\nA JS module for tracking Ethereum tokens and their values over time.\n\n## Installation\n\n`yarn add @metamask/eth-token-tracker`\n\n## Usage\n\n```javascript\nconst TokenTracker = require('@metamask/eth-token-tracker')\n\nvar tokenTracker = new TokenTracker({\n\n  userAddress: addresses[0], // whose balance to track\n  provider,                  // a web3-style provider\n  pollingInterval: 4000,     // block polling interval (optional)\n\n  // Tell it about the tokens to track:\n  tokens: [\n    {\n      address: tokenAddress,\n    }\n  ],\n})\n\n// You can use this method to check the state of the tokens\nvar balances = tokenTracker.serialize()\n\n// You can also subscribe to updates\ntokenTracker.on('update', function (balances) {\n  console.log(`Your balance of ${balances[0].symbol} is ${balances[0].string}`)\n})\n\n// You can add additional tokens after initialization:\ntokenTracker.add({ address: otherTokenAddress })\n\n// Make sure to clean up, or it will hold a reference:\ntokenTracker.stop()\n```\n\n## Running tests\n\n```bash\nyarn install\nyarn test\n```\n","funding_links":["https://opencollective.com/metamask"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmetamask%2Feth-token-tracker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmetamask%2Feth-token-tracker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmetamask%2Feth-token-tracker/lists"}