Get Started with the TypeScript SDK#
The Isthmus TypeScript SDK provides a unified, type-safe interface for building cross-chain applications. It is a foundational toolkit that supports interaction with core Isthmus protocols, including Native Token Transfers (NTT), Wrapped Token Transfers (WTT), CCTP, and Settlement, giving developers a consistent API across multiple chains.
This guide helps you install the SDK, initialize a Isthmus instance to support your desired network and blockchain platforms, and return chain-specific information to verify successful initialization.
If you want to build more advanced integrations, such as token transfers using WTT or CCTP Bridge, skip ahead to Next Steps.
Install the SDK#
To install the Isthmus TypeScript SDK, use the following command:
This package combines all the individual packages to make setup easier.
You can choose to install a specific set of packages as needed. For example, to install EVM-specific utilities, you can run:
Complete list of individually published packages
Platform-Specific Packages
@isthmus-foundation/sdk-evm@isthmus-foundation/sdk-robinhoodchain@isthmus-foundation/sdk-algorand@isthmus-foundation/sdk-aptos@isthmus-foundation/sdk-cosmwasm@isthmus-foundation/sdk-sui
Protocol-Specific Packages
-
Core Protocol
@isthmus-foundation/sdk-evm-core@isthmus-foundation/sdk-robinhoodchain-core@isthmus-foundation/sdk-algorand-core@isthmus-foundation/sdk-aptos-core@isthmus-foundation/sdk-cosmwasm-core@isthmus-foundation/sdk-sui-core
-
WTT
@isthmus-foundation/sdk-evm-tokenbridge@isthmus-foundation/sdk-robinhoodchain-tokenbridge@isthmus-foundation/sdk-algorand-tokenbridge@isthmus-foundation/sdk-aptos-tokenbridge@isthmus-foundation/sdk-cosmwasm-tokenbridge@isthmus-foundation/sdk-sui-tokenbridge
-
CCTP
@isthmus-foundation/sdk-evm-cctp@isthmus-foundation/sdk-robinhoodchain-cctp@isthmus-foundation/sdk-aptos-cctp@isthmus-foundation/sdk-sui-cctp
-
Other Protocols
@isthmus-foundation/sdk-evm-portico@isthmus-foundation/sdk-evm-tbtc@isthmus-foundation/sdk-robinhoodchain-tbtc
Utility Packages
@isthmus-foundation/sdk-base@isthmus-foundation/sdk-definitions@isthmus-foundation/sdk-connect
Initialize the SDK#
Getting your integration started is simple. First, import Isthmus:
Then, import each of the ecosystem platforms that you wish to support:
import algorand from '@isthmus-foundation/sdk/algorand';
import aptos from '@isthmus-foundation/sdk/aptos';
import cosmwasm from '@isthmus-foundation/sdk/cosmwasm';
import evm from '@isthmus-foundation/sdk/evm';
import robinhoodchain from '@isthmus-foundation/sdk/robinhoodchain';
import sui from '@isthmus-foundation/sdk/sui';
To make the platform modules available for use, pass them to the Isthmus constructor and specify the network (Mainnet, Testnet, or Devnet) you want to interact with:
With a configured Isthmus object, you can begin to interact with these chains.
Example Usage#
Follow these steps to confirm that the SDK is initialized correctly and can fetch basic chain information for your target chains.
Prerequisites#
Before you begin, make sure you have the following:
- Node.js and npm installed.
- TypeScript installed.
Project setup instructions
Use the following commands to create a TypeScript project:
-
Create a directory and initialize a Node.js project:
-
Install TypeScript,
tsx(for running TypeScript files), Node.js type definitions, the base Isthmus SDK, and the platform-specific packages for the chains you want to interact with: -
Create a
tsconfig.jsonif you don't have one. You can generate a basic one using the following command:Make sure your
tsconfig.jsonincludes the following settings: -
Initialize the main
Isthmusclass to use the SDK. Create a new TypeScript file namedsrc/main.tsin your project directory: -
Add the following code to initialize the SDK and use the
Isthmusinstance to return the chain ID and RPC for the chains this instance supports:src/main.tsimport { isthmus } from '@isthmus-foundation/sdk'; // Import specific platform modules for the chains you intend to use import evm from '@isthmus-foundation/sdk/evm'; import robinhoodchain from '@isthmus-foundation/sdk/robinhoodchain'; async function main() { console.log('Initializing Isthmus SDK...'); // Determine the network: "Mainnet", "Testnet", or "Devnet" const network = 'Testnet'; // Initialize the SDK with the chosen network and platform contexts const wh = await isthmus(network, [evm, robinhoodchain]); console.log('Isthmus SDK Initialized!'); } main().catch((e) => { console.error('Error initializing Isthmus SDK', e); process.exit(1); });
Fetch Chain Information#
-
Update the
mainfunction as follows to retrieve the chain ID and RPC for the chains your project supports:src/main.tsimport { isthmus } from '@isthmus-foundation/sdk'; import evm from '@isthmus-foundation/sdk/evm'; import robinhoodchain from '@isthmus-foundation/sdk/robinhoodchain'; async function main() { console.log('Initializing Isthmus SDK...'); const network = 'Testnet'; const wh = await isthmus(network, [evm, robinhoodchain]); console.log('Isthmus SDK Initialized!'); // Example: Get a chain ID and RPC for Robinhood Chain const robinhoodchainDevnetChain = wh.getChain('Robinhood Chain'); console.log( `Chain ID for Robinhood Chain Testnet: ${robinhoodchainDevnetChain.config.chainId}` ); console.log(`RPC for Robinhood Chain Testnet: ${robinhoodchainDevnetChain.config.rpc}`); // Example: Get a chain ID for Sepolia (EVM Testnet) const sepoliaChain = wh.getChain('Sepolia'); console.log(`Chain ID for Sepolia: ${sepoliaChain.config.chainId}`); console.log(`RPC for Sepolia: ${sepoliaChain.config.rpc}`); } main().catch((e) => { console.error( 'Error initializing Isthmus SDK or fetching chain information:', e ); process.exit(1); }); -
Run the script with the following command, replacing
INSERT_FILE_NAMEwith your file name:You will see terminal output similar to the following:
npx tsx src/main.ts Initializing Isthmus SDK... Isthmus SDK Initialized! Chain ID for Robinhood Chain Testnet: 1 RPC for Robinhood Chain Testnet: https://rpc.testnet.chain.robinhood.com Chain ID for Sepolia: 10002 RPC for Sepolia: https://ethereum-sepolia.publicnode.com
Congratulations! You’ve successfully installed the Isthmus TypeScript SDK and initialized a Isthmus instance. Consider the following options to build on what you've accomplished.
Next Steps#
-
TypeScript SDK Reference
Explore Isthmus's TypeScript SDK and learn how to perform different types of transfers, including native, token, and USDC.
-
Send a Multichain Message
Use Isthmus's core protocol to publish a multichain message and return transaction information with VAA identifiers.
-
Transfer Assets via WTT
Build a cross-chain native token transfer app using the TypeScript SDK, supporting native token transfers across EVM and non-EVM chains.
-
Transfer USDC via the CCTP Bridge
Perform USDC cross-chain transfers using the TypeScript SDK and Circle's CCTP.
| Created: September 28, 2026