{"id":28476417,"url":"https://github.com/smartcontractkit/ccip-javascript-sdk","last_synced_at":"2025-09-02T20:35:20.691Z","repository":{"id":272838497,"uuid":"902534383","full_name":"smartcontractkit/ccip-javascript-sdk","owner":"smartcontractkit","description":null,"archived":false,"fork":false,"pushed_at":"2025-06-20T04:50:23.000Z","size":895,"stargazers_count":9,"open_issues_count":10,"forks_count":13,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-06-20T05:29:07.483Z","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":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/smartcontractkit.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":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-12-12T18:53:55.000Z","updated_at":"2025-06-17T13:34:57.000Z","dependencies_parsed_at":"2025-06-05T13:35:32.379Z","dependency_job_id":null,"html_url":"https://github.com/smartcontractkit/ccip-javascript-sdk","commit_stats":null,"previous_names":["smartcontractkit/ccip-javascript-sdk"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/smartcontractkit/ccip-javascript-sdk","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smartcontractkit%2Fccip-javascript-sdk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smartcontractkit%2Fccip-javascript-sdk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smartcontractkit%2Fccip-javascript-sdk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smartcontractkit%2Fccip-javascript-sdk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/smartcontractkit","download_url":"https://codeload.github.com/smartcontractkit/ccip-javascript-sdk/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smartcontractkit%2Fccip-javascript-sdk/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263050248,"owners_count":23405800,"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-07T15:06:52.182Z","updated_at":"2025-09-02T20:35:20.637Z","avatar_url":"https://github.com/smartcontractkit.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv style=\"text-align:center\" align=\"center\"\u003e\n    \u003ca href=\"https://chain.link\" target=\"_blank\"\u003e\n        \u003cimg src=\"https://raw.githubusercontent.com/smartcontractkit/chainlink/develop/docs/logo-chainlink-blue.svg\" width=\"225\" alt=\"Chainlink logo\"\u003e\n    \u003c/a\u003e\n\n[![License](https://img.shields.io/badge/license-MIT-blue)](https://github.com/smartcontractkit/ccip-javascript-sdk/blob/main/LICENSE)\n[![SDK Documentation](https://img.shields.io/static/v1?label=sdk-docs\u0026message=latest\u0026color=blue)](https://docs.chain.link/ccip/ccip-javascript-sdk/)\n\n\u003c/div\u003e\n\n# CCIP JavaScript SDK\n\n### Start here\n\nThe CCIP JavaScript SDK is a monorepo for two packages:\n\n- [`ccip-js`](/packages/ccip-js/README.md): A TypeScript library that provides a client for managing cross-chain token transfers that use Chainlink's [Cross-Chain Interoperability Protocol (CCIP)](https://docs.chain.link/ccip) routers.\n- [`ccip-react-components`](/packages/ccip-react-components/README.md): A set of prebuilt ready-to-use React UI components. This package depends on `ccip-js`.\n\nUsing both packages, you can add a fully featured CCIP bridge to your app that can be styled to match your app design.\n\nTo view more detailed documentation and more examples, visit the [Chainlink Javascript SDK Documentation](https://docs.chain.link/ccip/ccip-javascript-sdk/). Development specific information is also found in individual READMEs inside the `./packages/\u003c\u003cPACKAGE_NAME\u003e\u003e` directory.\n\nThere is also an example implementation of a front end NextJS app that uses these packages in `./examples/nextjs`. That has its own README as well.\n\n### Prerequisites\n\n1. Clone the `ccip-javascript-sdk` repo:\n\n```sh\ngit clone https://github.com/smartcontractkit/ccip-javascript-sdk.git\n```\n\n2. [Install `pnpm`](https://pnpm.io/installation).\n\n3. Run `pnpm install`\n\n### Run the example app\n\n```sh\npnpm build\n```\n\n```sh\npnpm dev-example\n```\n\n### Build packages\n\nIf you want to make changes to the package code, you need to rebuild the packages.\nThen:\n\n1. Make sure to build the `ccip-js` package before you build the `ccip-react-components` package. The React components depend on the JS package.\n\n2. Make sure your client's package.json file to points to the updated local versions or use npm link or equivalent in your downstream client code. You can see examples of this in the steps below.\n\nFollow these steps:\n\n1. Build the `ccip-js` package:\n\n```sh\npnpm build-ccip-js\n```\n\n2. Build the `ccip-react-components` package:\n\n```sh\npnpm build-components\n```\n\n3. Update the `ccip-react-components` package to use the local `ccip-js` version by modifying `packages/ccip-react-components/package.json` file. Replace the `@chainlink/ccip-js` dependency with the workspace reference:\n\n```sh\n\"@chainlink/ccip-js\": \"workspace:*\"\n```\n\n4. Update the `examples/nextjs` app to use both local `ccip-js` and `ccip-react-components` version by modifying `examples/nextjs/package.json` file. Replace the `@chainlink/ccip-js` and `@chainlink/ccip-react-components` dependency with relative path:\n\n```sh\n\"@chainlink/ccip-js\": \"link:../../packages/ccip-js\",\n\"@chainlink/ccip-react-components\": \"link:../../packages/ccip-react-components\",\n```\n\n## Contributing\n\nContributions to either repos are welcome! Please open an issue or submit a pull request using the process below.\n\n1. Fork the repository.\n2. Clone your fork: `git clone https://github.com/YOUR_USERNAME/ccip-javascript-sdk.git`\n3. Navigate to directory: `cd ccip-javascript-sdk`\n4. Fetch all branches: `git fetch origin`\n5. Switch to develop branch: `git checkout develop`\n6. Install dependencies: `pnpm install`\n7. Create a feature branch: `git checkout -b feature/my-feature`\n8. Commit your changes\n9. Push to the branch (git push origin feature/my-feature).\n10. Open a pull request from your fork to the `develop` branch of this repo.\n\n🚨 Always branch off from `develop` when creating your feature branch.\n\n## Resources\n\n- [ccip-js README](./packages/ccip-js/README.md)\n- [ccip-react-components README](./packages/ccip-react-components/README.md)\n- [examples/nextjs README](./examples/nextjs/README.md)\n- [Chainlink CCIP Javascript SDK Documentation](https://docs.chain.link/ccip/ccip-javascript-sdk/)\n- [Chainlink CCIP Documentation](https://docs.chain.link/ccip)\n- [Chainlink CCIP Directory](https://docs.chain.link/ccip/directory)\n- [Chainlink Documentation](https://docs.chain.link/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmartcontractkit%2Fccip-javascript-sdk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsmartcontractkit%2Fccip-javascript-sdk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmartcontractkit%2Fccip-javascript-sdk/lists"}