{"id":25344803,"url":"https://github.com/lithdew/aptos-indexer","last_synced_at":"2026-02-17T13:31:02.516Z","repository":{"id":276527229,"uuid":"929535373","full_name":"lithdew/aptos-indexer","owner":"lithdew","description":"A barebones transaction streaming library for Aptos written in TypeScript. Designed for building indexers, analytics tools, and real-time transaction monitoring systems.","archived":false,"fork":false,"pushed_at":"2025-02-08T19:43:03.000Z","size":9,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-02-07T21:50:09.225Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lithdew.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-02-08T19:15:00.000Z","updated_at":"2025-03-01T09:26:42.000Z","dependencies_parsed_at":"2025-02-08T20:37:17.507Z","dependency_job_id":null,"html_url":"https://github.com/lithdew/aptos-indexer","commit_stats":null,"previous_names":["lithdew/aptos-indexer"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/lithdew/aptos-indexer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lithdew%2Faptos-indexer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lithdew%2Faptos-indexer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lithdew%2Faptos-indexer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lithdew%2Faptos-indexer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lithdew","download_url":"https://codeload.github.com/lithdew/aptos-indexer/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lithdew%2Faptos-indexer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29545559,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-17T13:00:00.370Z","status":"ssl_error","status_checked_at":"2026-02-17T12:57:14.072Z","response_time":100,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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-02-14T11:51:38.133Z","updated_at":"2026-02-17T13:31:02.497Z","avatar_url":"https://github.com/lithdew.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# aptos-indexer\n\nA barebones transaction streaming library for Aptos written in TypeScript. Designed for building indexers, analytics tools, and real-time transaction monitoring systems.\n\nThis was written as a result of the warning specified in the README of [the existing transaction streaming TypeScript SDK](https://github.com/aptos-labs/aptos-indexer-processors/tree/main/typescript) written by the Aptos team.\n\nProfiling the existing transaction streaming TypeScript SDK revealed that the bottleneck which the Aptos team warns about isn't in gRPC's JavaScript client library or whichever JavaScript runtime they may have used, but rather the Aptos teams' choice of database and ORM library (PostgreSQL + TypeORM).\n\nThis library has been thoroughly tested by processing the complete transaction history of both Aptos Testnet and Mainnet using Bun and SQLite (via. `bun:sqlite`).\n\nThis library was built and tested using Bun v1.2.2.\n\n## Prerequisites\n\n- [Bun](https://bun.sh) v1.2.2 or later\n- An Aptos API key from [Aptos Labs](https://aptoslabs.com/developers)\n\n## Installation\n\n```bash\nbun install https://github.com/lithdew/aptos-indexer\n```\n\n## Quick Start\n\n```typescript\nimport { streamTransactions } from \"aptos-indexer\";\n\n// Stream transactions from version 0\nfor await (const event of streamTransactions({\n  url: \"grpc.testnet.aptoslabs.com:443\",\n  apiKey: process.env.APTOS_API_KEY_TESTNET!,\n  startingVersion: 0n,\n})) {\n  switch (event.type) {\n    case \"data\": {\n      console.debug(`Got ${event.transactions.length} transaction(s)`);\n      break;\n    }\n    case \"error\": {\n      console.error(event.error);\n      break;\n    }\n  }\n}\n```\n\nCheck out the `examples` directory for complete working examples:\n\n- [00_basic.ts](./examples/00_basic.ts): Basic transaction streaming\n- [01_sqlite.ts](./examples/01_sqlite.ts): Transaction streaming with SQLite persistence\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flithdew%2Faptos-indexer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flithdew%2Faptos-indexer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flithdew%2Faptos-indexer/lists"}