Before doing anything with the SDK, we must instantiate it. This will set the sessionKey, chainId and all properties needed to authenticate and authorise the remote-signing

Step 1. set .env variables via export or in your .env If you chose to use them directly skip to Step-2

export WALLET_PRIVATE_KEY=''
export CHAIN_ID=
export API_KEY=''

Step 2. Import the Etherspot RemoteSigner SDK.

  import { RemoteSignerSdk } from '@etherspot/remote-signer';

Step 2. Instantiate the SDK with below initialisation properties using this block of code.

  • privateKey
  • ChainID
  • etherspotWalletAddress
  • sessionKey
  • bundlerApiKey
import { privateKeyToAccount } from 'viem/accounts';
import { Account, Hex } from "viem";
import * as dotenv from 'dotenv';
import { createLocalAccount, EtherspotBundler, ExtendedLocalAccount, getViemAccount, RemoteSignerSdk, toRemoteSigner } from '@etherspot/remote-signer';

const externalViemAccount = privateKeyToAccount(process.env.WALLET_PRIVATE_KEY as string as Hex);
const bundlerProvider = new EtherspotBundler(chainId, bundlerApiKey);
const bundlerApiKey = process.env.API_KEY as string;
const sessionKey = ''; // sessionKey generated by modularSDK
const apiKey = process.env.API_KEY as string;
const etherspotWalletAddress = ''; // your etherspotModularWallet address
const chainId = Number(process.env.CHAIN_ID);

const remoteSignerSdk = await RemoteSignerSdk.create(externalViemAccount, {
  etherspotWalletAddress: etherspotWalletAddress,
  chainId: chainId,
  apiKey: apiKey,
  sessionKey: sessionKey,
  bundlerProvider: bundlerProvider
});

And that’s it! You’re now ready to call any of the RemoteSigner SDK functions.

In the next page we’ll take a look at the various functions the SDK offers.

Before doing anything with the SDK, we must instantiate it. This will set the sessionKey, chainId and all properties needed to authenticate and authorise the remote-signing

Step 1. set .env variables via export or in your .env If you chose to use them directly skip to Step-2

export WALLET_PRIVATE_KEY=''
export CHAIN_ID=
export API_KEY=''

Step 2. Import the Etherspot RemoteSigner SDK.

  import { RemoteSignerSdk } from '@etherspot/remote-signer';

Step 2. Instantiate the SDK with below initialisation properties using this block of code.

  • privateKey
  • ChainID
  • etherspotWalletAddress
  • sessionKey
  • bundlerApiKey
import { privateKeyToAccount } from 'viem/accounts';
import { Account, Hex } from "viem";
import * as dotenv from 'dotenv';
import { createLocalAccount, EtherspotBundler, ExtendedLocalAccount, getViemAccount, RemoteSignerSdk, toRemoteSigner } from '@etherspot/remote-signer';

const externalViemAccount = privateKeyToAccount(process.env.WALLET_PRIVATE_KEY as string as Hex);
const bundlerProvider = new EtherspotBundler(chainId, bundlerApiKey);
const bundlerApiKey = process.env.API_KEY as string;
const sessionKey = ''; // sessionKey generated by modularSDK
const apiKey = process.env.API_KEY as string;
const etherspotWalletAddress = ''; // your etherspotModularWallet address
const chainId = Number(process.env.CHAIN_ID);

const remoteSignerSdk = await RemoteSignerSdk.create(externalViemAccount, {
  etherspotWalletAddress: etherspotWalletAddress,
  chainId: chainId,
  apiKey: apiKey,
  sessionKey: sessionKey,
  bundlerProvider: bundlerProvider
});

And that’s it! You’re now ready to call any of the RemoteSigner SDK functions.

In the next page we’ll take a look at the various functions the SDK offers.