Skip to content

Repository on GitHub

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:

npm install @isthmus-foundation/sdk

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:

npm install @isthmus-foundation/sdk-evm
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:

import { isthmus } from '@isthmus-foundation/sdk';

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:

  const wh = await isthmus('Testnet', [
    evm,
    robinhoodchain,
    aptos,
    algorand,
    cosmwasm,
    sui,
  ]);

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:

Project setup instructions

Use the following commands to create a TypeScript project:

  1. Create a directory and initialize a Node.js project:

    mkdir wh-ts-demo
    cd wh-ts-demo
    npm init -y
    
  2. 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:

    npm install --save-dev tsx typescript @types/node @isthmus-foundation/sdk @isthmus-foundation/sdk-evm @isthmus-foundation/sdk-robinhoodchain
    
  3. Create a tsconfig.json if you don't have one. You can generate a basic one using the following command:

    npx tsc --init
    

    Make sure your tsconfig.json includes the following settings:

    {
        "compilerOptions": {
            // es2020 or newer
            "target": "es2020",
            // Use esnext if you configured your package.json with type: "module"
            "module": "commonjs",
            "esModuleInterop": true,
            "forceConsistentCasingInFileNames": true,
            "strict": true,
            "skipLibCheck": true,
            "resolveJsonModule": true
        }
    }
    
  4. Initialize the main Isthmus class to use the SDK. Create a new TypeScript file named src/main.ts in your project directory:

    mkdir src
    touch src/main.ts
    
  5. Add the following code to initialize the SDK and use the Isthmus instance to return the chain ID and RPC for the chains this instance supports:

    src/main.ts
    import { 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#

  1. Update the main function as follows to retrieve the chain ID and RPC for the chains your project supports:

    src/main.ts
    import { 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);
    });
    
  2. Run the script with the following command, replacing INSERT_FILE_NAME with your file name:

    npx tsx INSERT_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.

    Get Familiar with the SDK

  • Send a Multichain Message


    Use Isthmus's core protocol to publish a multichain message and return transaction information with VAA identifiers.

    Get Started

  • 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.

    Get Started

  • Transfer USDC via the CCTP Bridge


    Perform USDC cross-chain transfers using the TypeScript SDK and Circle's CCTP.

    Get Started

Last update: September 28, 2026
| Created: September 28, 2026