{"id":23145365,"url":"https://github.com/decentralized-identity/web5-js","last_synced_at":"2026-01-14T14:53:35.053Z","repository":{"id":136554887,"uuid":"610434759","full_name":"decentralized-identity/web5-js","owner":"decentralized-identity","description":"Monorepo for the Web5 JS TypeScript implementation","archived":false,"fork":false,"pushed_at":"2025-03-01T10:03:25.000Z","size":6841,"stargazers_count":138,"open_issues_count":143,"forks_count":56,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-11-04T16:22:26.775Z","etag":null,"topics":["decentralized-identity","decentralized-web","decentralized-web-application","decentralized-web-node","dwn","sdk","web5"],"latest_commit_sha":null,"homepage":"https://tbd54566975.github.io/web5-js/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/decentralized-identity.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":"audit-ci.json","citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":"GOVERNANCE.md","roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-03-06T19:11:53.000Z","updated_at":"2025-09-01T06:49:00.000Z","dependencies_parsed_at":null,"dependency_job_id":"e2eeef9c-6d77-4b2a-b2f1-11342aa1c21d","html_url":"https://github.com/decentralized-identity/web5-js","commit_stats":null,"previous_names":["decentralized-identity/web5-js","tbd54566975/web5-js"],"tags_count":154,"template":false,"template_full_name":"TBD54566975/tbd-project-template","purl":"pkg:github/decentralized-identity/web5-js","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/decentralized-identity%2Fweb5-js","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/decentralized-identity%2Fweb5-js/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/decentralized-identity%2Fweb5-js/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/decentralized-identity%2Fweb5-js/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/decentralized-identity","download_url":"https://codeload.github.com/decentralized-identity/web5-js/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/decentralized-identity%2Fweb5-js/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28424012,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T13:30:50.153Z","status":"ssl_error","status_checked_at":"2026-01-14T13:29:08.907Z","response_time":107,"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":["decentralized-identity","decentralized-web","decentralized-web-application","decentralized-web-node","dwn","sdk","web5"],"created_at":"2024-12-17T16:01:07.377Z","updated_at":"2026-01-14T14:53:35.047Z","avatar_url":"https://github.com/decentralized-identity.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"# Web5 JS Monorepo\n\n[![Coverage](https://img.shields.io/codecov/c/gh/TBD54566975/web5-js/main?logo=codecov\u0026logoColor=FFFFFF\u0026style=flat-square\u0026token=YI87CKF1LI)](https://codecov.io/github/TBD54566975/web5-js)\n[![Chat](https://img.shields.io/badge/chat-on%20discord-7289da.svg?style=flat-square\u0026color=9a1aff\u0026logo=discord\u0026logoColor=FFFFFF\u0026sanitize=true)](https://discord.com/channels/937858703112155166/969272658501976117)\n[![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/TBD54566975/web5-js/badge)](https://securityscorecards.dev/viewer/?uri=github.com/TBD54566975/web5-js)\n\nThis monorepo houses the core components of the [Web5](https://developer.tbd.website/docs/web5/) platform implemented in TypeScript/JavaScript. It features libraries for building applications with decentralized identifiers (DIDs), verifiable credentials (VCs), and decentralized web nodes (DWNs). The packages were designed for modern development runtimes, including Node.js, web browsers, and React Native.\n\n## 🎉 Hacktoberfest 2024 🎉\n\n`web5-js` is a participating project in Hacktoberfest 2024! We’re so excited for your contributions, and have created a wide variety of issues so that anyone can contribute. Whether you're a seasoned developer or a first-time open source contributor, there's something for everyone.\n\n### To get started:\n1. Read the [contributing guide](https://github.com/TBD54566975/web5-js/blob/main/CONTRIBUTING.md).\n2. Read the [code of conduct](https://github.com/TBD54566975/web5-js/blob/main/CODE_OF_CONDUCT.md).\n3. Choose a task from this project's Hacktoberfest issues in our Project Hubs for [our protocol builder here](https://github.com/TBD54566975/tbd-examples/issues/97) and [general tasks here](https://github.com/TBD54566975/web5-js/issues/908) and follow the instructions. Each issue has the 🏷️ `hacktoberfest` label.\n\nHave questions? Connecting with us in our [Discord community](https://discord.gg/tbd) in the `#hacktoberfest` project channel.\n\n---\n\n## Foundational Packages\n\nBelow you can find a list of the foundational platform SDK packages included in this repository.\n\n| package | npm | issues | api reference |\n| ------- | --- | ------ | ------------- |\n| [@web5/common][common-package] | [![NPM Package][common-npm-badge]][common-npm-link] | [![Open Issues][common-issues-badge]][common-issues-link] | _coming soon_ \u003c!--[![API Reference][common-docs-badge]][common-docs-link]--\u003e |\n| [@web5/credentials][credentials-package] | [![NPM Package][credentials-npm-badge]][credentials-npm-link] | [![Open Issues][credentials-issues-badge]][credentials-issues-link] | [![API Reference][credentials-docs-badge]][credentials-docs-link] |\n| [@web5/crypto][crypto-package] | [![NPM Package][crypto-npm-badge]][crypto-npm-link] | [![Open Issues][crypto-issues-badge]][crypto-issues-link] | [![API Reference][crypto-docs-badge]][crypto-docs-link] |\n| [@web5/crypto-aws-kms][crypto-aws-kms-package] | [![NPM Package][crypto-aws-kms-npm-badge]][crypto-aws-kms-npm-link] | [![Open Issues][crypto-aws-kms-issues-badge]][crypto-aws-kms-issues-link] | [![API Reference][crypto-aws-kms-docs-badge]][crypto-aws-kms-docs-link] |\n| [@web5/dids][dids-package] | [![NPM Package][dids-npm-badge]][dids-npm-link] | [![Open Issues][dids-issues-badge]][dids-issues-link] | [![API Reference][dids-docs-badge]][dids-docs-link] |\n\n## Decentralized Web Packages\n\nWeb5 decentralized web applications are built using decentralized identifiers (DIDs), verifiable credentials (VCs), and decentralized web node (DWN) datastores.  This repository includes the following packages designed to make building Web5 apps as simple as possible.\n\n| package | npm | issues | api reference |\n| ------- | --- | ------ | ------------- |\n| [@web5/agent][agent-package] | [![NPM Package][agent-npm-badge]][agent-npm-link] | [![Open Issues][agent-issues-badge]][agent-issues-link] | _coming soon_ \u003c!--[![API Reference][agent-docs-badge]][agent-docs-link]--\u003e |\n| [@web5/api][api-package] | [![NPM Package][api-npm-badge]][api-npm-link] | [![Open Issues][api-issues-badge]][api-issues-link] | [![API Reference][api-docs-badge]][api-docs-link] |\n| [@web5/identity-agent][identity-agent-package] | [![NPM Package][identity-agent-npm-badge]][identity-agent-npm-link] | [![Open Issues][identity-agent-issues-badge]][identity-agent-issues-link] | _coming soon_ \u003c!--[![API Reference][identity-agent-docs-badge]][identity-agent-docs-link]--\u003e |\n| [@web5/proxy-agent][proxy-agent-package] | [![NPM Package][proxy-agent-npm-badge]][proxy-agent-npm-link] | [![Open Issues][proxy-agent-issues-badge]][proxy-agent-issues-link] | _coming soon_ \u003c!--[![API Reference][proxy-agent-docs-badge]][proxy-agent-docs-link]--\u003e |\n| [@web5/user-agent][user-agent-package] | [![NPM Package][user-agent-npm-badge]][user-agent-npm-link] | [![Open Issues][user-agent-issues-badge]][user-agent-issues-link] | _coming soon_ \u003c!--[![API Reference][user-agent-docs-badge]][user-agent-docs-link]--\u003e |\n\n## Getting Started\n\nTo start developing applications and services with the Web5 JS SDK, the following steps will guide\nyou through setting up your local development environment.\n\nFor detailed documentation on usage refer to the\n[API reference documentation](https://tbd54566975.github.io/web5-js/). Additionally, comprehensive\nguides can be found at the [TBD Developer site](https://developer.tbd.website/docs/) to enhance\nyour understanding of the underlying concepts and how to implement them effectively.\n\n### Cloning\n\nThis repository uses git submodules. To clone this repo with submodules:\n```sh\ngit clone --recurse-submodules git@github.com:TBD54566975/web5-js.git\n```\n\nOr to add submodules after cloning:\n```sh\ngit submodule update --init\n```\n\nWe recommend running the command below once which will configure your environment to only checkout the `test-vectors` directory under the `web5-spec` git submodule directory.\n```sh\ngit -C web5-spec sparse-checkout set test-vectors\n```\n\n### Hermit\n\nThis project uses [Hermit](https://cashapp.github.io/hermit/) to manage development tooling.\nSee [this guide](https://cashapp.github.io/hermit/usage/get-started/) to learn how to download the\nHermit open source build and activate it for the project.\n\nBy default, the following packages installed by Hermit:\n- node\n- pnpm\n\nYou can check what has been installed by running `hermit status`.\n\n## Contributing\n\nWe welcome you to join our open source community. Whether you're new to open source or a seasoned\ncontributor, there's a place for you here. From coding to documentation, every contribution matters.\nCheck out our [contribution guide][contributing-link] for ways to get started.\n\nFor help, discussion about best practices, or to chat with others building on Web5 join our\n[Discord Server][discord-link]:\n\n[![discord-badge]][discord-link]\n\nRemember, contributing is not just about code; it's about building together. Join us in shaping the\nfuture of the Web!\n\n## Working with the `web5-spec` submodule\n\n### Pulling\nYou may need to update the `web5-spec` submodule after pulling.\n```sh\ngit pull\ngit submodule update\n```\n\n### Pushing\nIf you have made changes to the `web5-spec` submodule, you should push your changes to the `web5-spec` remote as well as pushing changes to `web5-js`.\n```sh\ncd web5-spec\ngit push\ncd ..\ngit push\n```\n\n## Project Resources\n\n| Resource                                | Description                                                                   |\n| --------------------------------------- | ----------------------------------------------------------------------------- |\n| [CODEOWNERS][codeowners-link]           | Outlines the project lead(s)                                                  |\n| [CODE OF CONDUCT][code-of-conduct-link] | Expected behavior for project contributors, promoting a welcoming environment |\n| [CONTRIBUTING][contributing-link]       | Developer guide to build, test, run, access CI, chat, discuss, file issues    |\n| [GOVERNANCE][governance-link]           | Project governance                                                            |\n| [LICENSE][license-link]                 | Apache License, Version 2.0                                                   |\n\n[agent-package]: ./packages/agent#readme\n[agent-npm-badge]: https://img.shields.io/npm/v/@web5/agent.svg?\u0026color=blue\u0026santize=true\n[agent-npm-link]: https://www.npmjs.com/package/@web5/agent\n[agent-issues-badge]: https://img.shields.io/github/issues/TBD54566975/web5-js/package:%20agent?label=issues\n[agent-issues-link]: https://github.com/TBD54566975/web5-js/issues?q=is%3Aopen+is%3Aissue+label%3A\"package%3A+agent\"\n[agent-docs-badge]: https://img.shields.io/badge/docs-blue?logo=googledocs\u0026logoColor=FFFFFF\n[agent-docs-link]: https://tbd54566975.github.io/web5-js/modules/_web5_agent.html\n\n[api-package]: ./packages/api#readme\n[api-npm-badge]: https://img.shields.io/npm/v/@web5/api.svg?\u0026color=blue\u0026santize=true\n[api-npm-link]: https://www.npmjs.com/package/@web5/api\n[api-issues-badge]: https://img.shields.io/github/issues/TBD54566975/web5-js/package:%20api?label=issues\n[api-issues-link]: https://github.com/TBD54566975/web5-js/issues?q=is%3Aopen+is%3Aissue+label%3A\"package%3A+api\"\n[api-docs-badge]: https://img.shields.io/badge/docs-blue?logo=googledocs\u0026logoColor=FFFFFF\n[api-docs-link]: https://tbd54566975.github.io/web5-js/modules/_web5_api.html\n\n[common-package]: ./packages/common#readme\n[common-npm-badge]: https://img.shields.io/npm/v/@web5/common.svg?\u0026color=blue\u0026santize=true\n[common-npm-link]: https://www.npmjs.com/package/@web5/common\n[common-issues-badge]: https://img.shields.io/github/issues/TBD54566975/web5-js/package:%20common?label=issues\n[common-issues-link]: https://github.com/TBD54566975/web5-js/issues?q=is%3Aopen+is%3Aissue+label%3A\"package%3A+common\"\n[common-docs-badge]: https://img.shields.io/badge/docs-blue?logo=googledocs\u0026logoColor=FFFFFF\n[common-docs-link]: https://tbd54566975.github.io/web5-js/modules/_web5_common.html\n\n[credentials-package]: ./packages/credentials#readme\n[credentials-npm-badge]: https://img.shields.io/npm/v/@web5/credentials.svg?\u0026color=blue\u0026santize=true\n[credentials-npm-link]: https://www.npmjs.com/package/@web5/credentials\n[credentials-issues-badge]: https://img.shields.io/github/issues/TBD54566975/web5-js/package:%20credentials?label=issues\n[credentials-issues-link]: https://github.com/TBD54566975/web5-js/issues?q=is%3Aopen+is%3Aissue+label%3A\"package%3A+credentials\"\n[credentials-docs-badge]: https://img.shields.io/badge/docs-blue?logo=googledocs\u0026logoColor=FFFFFF\n[credentials-docs-link]: https://tbd54566975.github.io/web5-js/modules/_web5_credentials.html\n\n[crypto-package]: ./packages/crypto#readme\n[crypto-npm-badge]: https://img.shields.io/npm/v/@web5/crypto.svg?\u0026color=blue\u0026santize=true\n[crypto-npm-link]: https://www.npmjs.com/package/@web5/crypto\n[crypto-issues-badge]: https://img.shields.io/github/issues/TBD54566975/web5-js/package:%20crypto?label=issues\n[crypto-issues-link]: https://github.com/TBD54566975/web5-js/issues?q=is%3Aopen+is%3Aissue+label%3A\"package%3A+crypto\"\n[crypto-docs-badge]: https://img.shields.io/badge/docs-blue?logo=googledocs\u0026logoColor=FFFFFF\n[crypto-docs-link]: https://tbd54566975.github.io/web5-js/modules/_web5_crypto.html\n\n[crypto-aws-kms-package]: ./packages/crypto-aws-kms#readme\n[crypto-aws-kms-npm-badge]: https://img.shields.io/npm/v/@web5/crypto-aws-kms.svg?\u0026color=blue\u0026santize=true\n[crypto-aws-kms-npm-link]: https://www.npmjs.com/package/@web5/crypto-aws-kms\n[crypto-aws-kms-issues-badge]: https://img.shields.io/github/issues/TBD54566975/web5-js/package:%20crypto-aws-kms?label=issues\n[crypto-aws-kms-issues-link]: https://github.com/TBD54566975/web5-js/issues?q=is%3Aopen+is%3Aissue+label%3A\"package%3A+crypto-aws-kms\"\n[crypto-aws-kms-docs-badge]: https://img.shields.io/badge/docs-blue?logo=googledocs\u0026logoColor=FFFFFF\n[crypto-aws-kms-docs-link]: https://tbd54566975.github.io/web5-js/modules/_web5_crypto_aws_kms.html\n\n[dids-package]: ./packages/dids#readme\n[dids-npm-badge]: https://img.shields.io/npm/v/@web5/dids.svg?\u0026color=blue\u0026santize=true\n[dids-npm-link]: https://www.npmjs.com/package/@web5/dids\n[dids-issues-badge]: https://img.shields.io/github/issues/TBD54566975/web5-js/package:%20dids?label=issues\n[dids-issues-link]: https://github.com/TBD54566975/web5-js/issues?q=is%3Aopen+is%3Aissue+label%3A\"package%3A+dids\"\n[dids-docs-badge]: https://img.shields.io/badge/docs-blue?logo=googledocs\u0026logoColor=FFFFFF\n[dids-docs-link]: https://tbd54566975.github.io/web5-js/modules/_web5_dids.html\n\n[identity-agent-package]: ./packages/identity-agent#readme\n[identity-agent-npm-badge]: https://img.shields.io/npm/v/@web5/identity-agent.svg?\u0026color=blue\u0026santize=true\n[identity-agent-npm-link]: https://www.npmjs.com/package/@web5/identity-agent\n[identity-agent-issues-badge]: https://img.shields.io/github/issues/TBD54566975/web5-js/package:%20identity-agent?label=issues\n[identity-agent-issues-link]: https://github.com/TBD54566975/web5-js/issues?q=is%3Aopen+is%3Aissue+label%3A\"package%3A+identity-agent\"\n[identity-agent-docs-badge]: https://img.shields.io/badge/docs-blue?logo=googledocs\u0026logoColor=FFFFFF\n[identity-agent-docs-link]: https://tbd54566975.github.io/web5-js/modules/_web5_identity_agent.html\n\n[proxy-agent-package]: ./packages/proxy-agent#readme\n[proxy-agent-npm-badge]: https://img.shields.io/npm/v/@web5/proxy-agent.svg?\u0026color=blue\u0026santize=true\n[proxy-agent-npm-link]: https://www.npmjs.com/package/@web5/proxy-agent\n[proxy-agent-issues-badge]: https://img.shields.io/github/issues/TBD54566975/web5-js/package:%20proxy-agent?label=issues\n[proxy-agent-issues-link]: https://github.com/TBD54566975/web5-js/issues?q=is%3Aopen+is%3Aissue+label%3A\"package%3A+proxy-agent\"\n[proxy-agent-docs-badge]: https://img.shields.io/badge/docs-blue?logo=googledocs\u0026logoColor=FFFFFF\n[proxy-agent-docs-link]: https://tbd54566975.github.io/web5-js/modules/_web5_proxy_agent.html\n\n[user-agent-package]: ./packages/user-agent#readme\n[user-agent-npm-badge]: https://img.shields.io/npm/v/@web5/user-agent.svg?\u0026color=blue\u0026santize=true\n[user-agent-npm-link]: https://www.npmjs.com/package/@web5/user-agent\n[user-agent-issues-badge]: https://img.shields.io/github/issues/TBD54566975/web5-js/package:%20user-agent?label=issues\n[user-agent-issues-link]: https://github.com/TBD54566975/web5-js/issues?q=is%3Aopen+is%3Aissue+label%3A\"package%3A+user-agent\"\n[user-agent-docs-badge]: https://img.shields.io/badge/docs-blue?logo=googledocs\u0026logoColor=FFFFFF\n[user-agent-docs-link]: https://tbd54566975.github.io/web5-js/modules/_web5_user_agent.html\n\n[codeowners-link]: https://github.com/TBD54566975/web5-js/blob/main/CODEOWNERS\n[code-of-conduct-link]: https://github.com/TBD54566975/web5-js/blob/main/CODE_OF_CONDUCT.md\n[contributing-link]: https://github.com/TBD54566975/web5-js/blob/main/CONTRIBUTING.md\n[governance-link]: https://github.com/TBD54566975/web5-js/blob/main/GOVERNANCE.md\n[license-link]: https://github.com/TBD54566975/web5-js/blob/main/LICENSE\n[discord-badge]: https://img.shields.io/discord/937858703112155166?color=5865F2\u0026logo=discord\u0026logoColor=white\n[discord-link]: https://discord.com/channels/937858703112155166/969272658501976117","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdecentralized-identity%2Fweb5-js","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdecentralized-identity%2Fweb5-js","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdecentralized-identity%2Fweb5-js/lists"}