https://github.com/smartcontractkit/ccip-tools-ts
Typescript CLI and library to interact with CCIP
https://github.com/smartcontractkit/ccip-tools-ts
Last synced: 3 months ago
JSON representation
Typescript CLI and library to interact with CCIP
- Host: GitHub
- URL: https://github.com/smartcontractkit/ccip-tools-ts
- Owner: smartcontractkit
- License: mit
- Created: 2024-08-20T13:47:18.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2025-06-18T17:00:34.000Z (12 months ago)
- Last Synced: 2025-06-18T17:46:33.658Z (12 months ago)
- Language: TypeScript
- Size: 763 KB
- Stars: 7
- Watchers: 15
- Forks: 8
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# ccip-tools-ts
TypeScript SDK and CLI for [CCIP](https://chain.link/cross-chain) (Cross-Chain Interoperability Protocol).
> [!IMPORTANT]
> This tool is provided under an MIT license and is for convenience and illustration purposes only.
## Packages
| Package | Description | Install |
| --------------------------------- | ----------------------------------- | ------------------------------------ |
| [@chainlink/ccip-sdk](./ccip-sdk) | TypeScript SDK for CCIP integration | `npm install @chainlink/ccip-sdk` |
| [@chainlink/ccip-cli](./ccip-cli) | Command-line interface | `npm install -g @chainlink/ccip-cli` |
## Quick Start
### Track a CCIP Message (CLI)
```bash
ccip-cli show 0xYOUR_TX_HASH \
--rpc https://ethereum-sepolia-rpc.publicnode.com \
--rpc https://sepolia-rollup.arbitrum.io/rpc
```
### Integrate in Your App (SDK)
```ts
import { EVMChain, networkInfo } from '@chainlink/ccip-sdk'
const source = await EVMChain.fromUrl('https://ethereum-sepolia-rpc.publicnode.com')
const router = '0x0BF3dE8c5D3e8A2B34D2BEeB17ABfCeBaf363A59'
const destChainSelector = networkInfo('ethereum-testnet-sepolia-arbitrum-1').chainSelector
const fee = await source.getFee({ router, destChainSelector, message: {
receiver: '0xYourAddress',
data: '0x48656c6c6f',
extraArgs: { gasLimit: 200_000n },
} })
```
## Supported Chains
| Chain Family | Networks | Status |
| ------------ | ------------------------------------------------------------ | -------------- |
| EVM | Ethereum, Arbitrum, Optimism, Polygon, Avalanche, Base, etc. | Supported |
| Solana | Mainnet, Devnet | Supported |
| Aptos | Mainnet, Testnet | Supported |
| Sui | Mainnet, Testnet | Partial (manual exec) |
| TON | Mainnet, Testnet | Partial (no token pool/registry queries) |
## Documentation
📖 **[Full Documentation](./docs/)**
| Guide | Description |
| ---------------------------------------------- | ---------------------------- |
| [Overview](./docs/index.md) | Introduction and quick start |
| [SDK Guide](./docs/sdk/index.md) | SDK usage and patterns |
| [CLI Reference](./docs/cli/index.md) | All commands and options |
| [Contributing](./CONTRIBUTING.md) | Development setup |
| [Adding New Chain](./docs/adding-new-chain.md) | Implement a new blockchain |
## Development
> [!NOTE]
> NodeJS version v20+ is required. For development of the packages, v24+ is required.
> `npm test` will only work with v24+
```bash
git clone https://github.com/smartcontractkit/ccip-tools-ts
cd ccip-tools-ts
npm ci
npm test
```
See [CONTRIBUTING.md](./CONTRIBUTING.md) for details.
## Resources
- [CCIP Official Documentation](https://docs.chain.link/ccip)
- [CCIP Directory](https://docs.chain.link/ccip/directory) - Router addresses by network
- [Changelog](./CHANGELOG.md)
## License
MIT