{"id":51630126,"url":"https://github.com/subsquid/create-squid","last_synced_at":"2026-07-13T06:32:48.517Z","repository":{"id":365274937,"uuid":"1055665399","full_name":"subsquid/create-squid","owner":"subsquid","description":"Scaffold a TypeScript SQD indexer from a YAML config: decode EVM event logs across chains into Postgres.","archived":false,"fork":false,"pushed_at":"2026-06-16T15:44:30.000Z","size":465,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-06-16T17:25:33.822Z","etag":null,"topics":["blockchain","ethereum","etl","evm","indexer","multichain","postgres","scaffolding","sqd","typescript","web3"],"latest_commit_sha":null,"homepage":"https://docs.sqd.dev","language":"TypeScript","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/subsquid.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-12T15:56:06.000Z","updated_at":"2026-06-16T15:44:56.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/subsquid/create-squid","commit_stats":null,"previous_names":["subsquid/create-squid"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/subsquid/create-squid","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/subsquid%2Fcreate-squid","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/subsquid%2Fcreate-squid/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/subsquid%2Fcreate-squid/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/subsquid%2Fcreate-squid/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/subsquid","download_url":"https://codeload.github.com/subsquid/create-squid/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/subsquid%2Fcreate-squid/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35413538,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-13T02:00:06.543Z","response_time":119,"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":["blockchain","ethereum","etl","evm","indexer","multichain","postgres","scaffolding","sqd","typescript","web3"],"created_at":"2026-07-13T06:32:47.240Z","updated_at":"2026-07-13T06:32:48.510Z","avatar_url":"https://github.com/subsquid.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# create-squid: scaffold a TypeScript blockchain indexer\n\nCode generation tool for [SQD](https://docs.sqd.dev) indexers a.k.a. squids. It scaffolds a ready-to-run TypeScript indexer from a YAML config and your contract ABIs. Capabilities:\n\n - works with EVM smart contracts;\n - makes multichain indexers;\n - fetches and decodes event logs, then stores them into Postgres;\n - has tests.\n\nLimitations of the tool (will be removed in the future):\n - it requires a YAML config - no interactive mode;\n - it requires a JSON ABI file in the filesystem for every contract;\n - it has some missing functionality:\n    * multiple events with the same name but different signature in a single ABI are not processed correctly;\n    * addresses obtained by event decoding will not be consistent with the addresses used in the rest of the data: they will be in mixed case while the SDK-related addresses will be in flat lower case.\n\n**Requirements:** NodeJS v20 or newer, Docker\n\nThe generated indexers are built on the [Squid SDK](https://github.com/subsquid/squid-sdk). See the [SQD documentation](https://docs.sqd.dev/en/sdk) for guides on customizing and deploying your squid.\n\n## Quickstart\n\n1. Create a folder for your new squid project, then a `./abi` subfolder in it.\n\n2. Create a sample `createSquid.yaml` file in the current directory:\n\n   ```yaml\n   # yaml-language-server: $schema=https://cdn.subsquid.io/create-squid/create-squid.schema.json\n   name: create-squid-ref-event-tables\n   description: Reference squid for the one-table-per-event mode of the create-squid utility\n   contracts:\n     - name: Tokens\n       abi: ./abi/erc20.json\n       instances:\n         - address: \"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48\"\n           name: usdc\n           network: ethereum-mainnet\n           range:\n             from: 6082465\n         - address: \"0x1337420dED5ADb9980CFc35f8f2B054ea86f8aB1\"\n           name: sqd\n           network: arbitrum-one\n           range:\n             from: 194120655\n       events:\n         - \"Transfer(address,address,uint256)\"\n     - name: AavePool\n       abi: ./abi/aave-pool.json\n       instances:\n         - address: \"0x02D84abD89Ee9DB409572f19B6e1596c301F3c81\"\n           proxy: \"0x7d2768dE32b0b80b7a3454c06BdAc94A69DDc7A9\"\n           name: main\n           network: ethereum-mainnet\n           range:\n             from: 11362579\n       events:\n         - \"LiquidationCall(address,address,address,uint256,uint256,address,bool)\"\n   ```\n   The top line works with RedHat's YAML extension on VSCode; edit it to work with your IDE. If you're working with an editor that doesn't use a language server, find the list of available networks [here](https://cdn.subsquid.io/archives/evm.json).\n\n3. Edit `createSquid.yaml` to request all the events you need from your contracts. Save all ABIs you're using to `./abi`.\n\n4. Run `npm create squid`.\n    - if you prefer Yarn or PNPM to NPM, run `npm create squid --skip-install --skip-external-codegens` instead.\n\n5. Follow the post-generation instructions from tool's stdout.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsubsquid%2Fcreate-squid","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsubsquid%2Fcreate-squid","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsubsquid%2Fcreate-squid/lists"}