{"id":31923410,"url":"https://github.com/fuellabs/account-notifier","last_synced_at":"2026-07-18T20:34:08.833Z","repository":{"id":199940406,"uuid":"704147308","full_name":"FuelLabs/account-notifier","owner":"FuelLabs","description":null,"archived":false,"fork":false,"pushed_at":"2026-01-29T04:30:28.000Z","size":57,"stargazers_count":1,"open_issues_count":1,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-02-02T07:47:49.335Z","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/FuelLabs.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}},"created_at":"2023-10-12T16:24:24.000Z","updated_at":"2024-07-29T00:11:38.000Z","dependencies_parsed_at":"2023-10-14T15:54:50.238Z","dependency_job_id":"d3955f15-1730-4102-9168-f28d71770275","html_url":"https://github.com/FuelLabs/account-notifier","commit_stats":null,"previous_names":["fuellabs/account-notifier"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/FuelLabs/account-notifier","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FuelLabs%2Faccount-notifier","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FuelLabs%2Faccount-notifier/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FuelLabs%2Faccount-notifier/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FuelLabs%2Faccount-notifier/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FuelLabs","download_url":"https://codeload.github.com/FuelLabs/account-notifier/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FuelLabs%2Faccount-notifier/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35630866,"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-18T02:00:07.223Z","response_time":61,"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-10-13T23:50:23.007Z","updated_at":"2026-07-18T20:34:08.828Z","avatar_url":"https://github.com/FuelLabs.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Account Notifier\n\nThis is a Vercel function that listens for Alchemy's [_Address Activity Webhook_](https://docs.alchemy.com/reference/address-activity-webhook)\nto create notifications in a Slack channel.\n\nThis webhook tracks the account activity events of an array of addresses, these should be set in both the webhook and Alchemy.\nAdditional to the addresses list, a same length array of names must be provided.  \n\nIndex:\n\n1. [Setting up local environment](#local-environment)\n2. [Alchemy webhook configuration](#webhook-configuration)\n3. [Slack bot configuration](#slack-configuration)\n4. [Deployment](#deployment)\n5. [Contributing](#contributing)\n\n## Local Environment\n\n### Requirements\n\n- Node.js (v18 or later recommended)\n- npm (v6 or later recommended)\n- Vercel CLI (v23 or later recommended)\n- ngrok\n\n### Setup\n\n1. Clone the repository:\n\n   ```\n   git clone https://github.com/FuelLabs/account-notifier.git\n   ```\n\n2. Navigate into the project directory:\n\n   ```\n   cd account-notifier\n   ```\n\n3. Install the dependencies:\n\n   ```\n   pnpm install\n   ```\n\n### Local Development\n\nCreate the env file and fill the required vars\n\n```\ncp .env.example \u003e .env\n```\n\nTo start the local development server, run:\n\n```\nvercel dev\n```\n\nThis starts the server on `localhost:3000`.\n\n### Testing\n\n#### Local Host\n\nUse the following request to test the code.\n\n```\ncurl --location 'localhost:3000/api' \\\n--header 'Content-Type: text/plain' \\\n--data '{\n  \"webhookId\": \"wh_foo\",\n  \"id\": \"fooid_foobody\",\n  \"createdAt\": \"2023-11-03T16:06:02.931Z\",\n  \"type\": \"ADDRESS_ACTIVITY\",\n  \"event\": {\n    \"network\": \"ETH_MAINNET\",\n    \"activity\": [\n      {\n        \"fromAddress\": $FROM,\n        \"toAddress\": $TO,\n        \"blockNum\": \"0x11a9c46\",\n        \"hash\": \"0xabcd...\",\n        \"value\": 420,\n        \"asset\": \"USDC\",\n        \"category\": \"token\",\n        \"rawContract\": {\n          \"rawValue\": \"0x000000000000000000000000000000000000000000000000000000039f712f63\",\n          \"address\": \"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48\",\n          \"decimals\": 6\n        },\n        \"log\": {}\n      }\n    ]\n  }\n}'\n```\n\nTo expose your local server to the internet for testing with external services, use `ngrok`. First, install `ngrok` globally:\n\n```\nnpm install -g ngrok\n```\n\nThen, in a separate terminal window, run:\n\n```\nngrok http 3000\n```\n\n`ngrok` will provide a URL that you can use to access your local server from the internet.\n\nTo test your serverless functions, you can make POST requests to `http://localhost:3000/api/handler` (or the corresponding `ngrok` URL).\n\nCheck this [guide](https://docs.alchemy.com/reference/notify-api-quickstart#test-webhooks-with-ngrok) to get further information.\n\n## Webhook Configuration\n\nThis notifier uses the Alchemy [Address Activity Webhook](https://docs.alchemy.com/reference/address-activity-webhook).\n\nPlease visit [this guide](https://docs.alchemy.com/reference/address-activity-webhook#how-to-set-up-address-activity-webhook) to see how to setup a new webhook. Consider using the [webhook api](https://docs.alchemy.com/reference/create-webhook) to quickly create the webhooks for the array of addresses in just one HTTP request.\n\n## Slack Configuration\n\nVisit [this guide](https://api.slack.com/authentication/token-types#bot) to get your `SLACK_BOT_TOKEN`.\n\nTo find the `SLACK_CHANNEL_ID` open slack in the browser and extract the URL segment that start with C and letters.\n\n      https://app.slack.com/client/T_____/C_____\n\n## Deployment\n\nTo deploy your project to Vercel, run:\n\n```\nvercel\n```\n\nThis command builds and deploys your project, and provides a live URL where you can access it. Use that URL in your Alchemy dashboard.\n\n## Contributing\n\nIf you wish to contribute to this project, please first discuss the change you wish to make via issue, before sending a pull request.\n\n### todo\n\n- [] add signature verification. See more [here](https://docs.alchemy.com/reference/notify-api-quickstart#find-your-signing-key). ","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffuellabs%2Faccount-notifier","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffuellabs%2Faccount-notifier","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffuellabs%2Faccount-notifier/lists"}