Simplified Integration with SDK
Installation
npm install crosscurve-sdk
# Plus one signer library:
npm install viem # recommendedQuick Start
import { CrossCurveSDK, ViemAdapter } from 'crosscurve-sdk';
import { createWalletClient, createPublicClient, http } from 'viem';
import { arbitrum } from 'viem/chains';
import { mnemonicToAccount } from 'viem/accounts';
const account = mnemonicToAccount('your mnemonic');
const walletClient = createWalletClient({ account, chain: arbitrum, transport: http() });
const publicClient = createPublicClient({ chain: arbitrum, transport: http() });
const signer = new ViemAdapter(walletClient, publicClient, account);
const sdk = new CrossCurveSDK();
await sdk.init();
// Get quote
const quote = await sdk.getQuote({
fromChain: 42161, // Arbitrum
toChain: 10, // Optimism
fromToken: '0x0000000000000000000000000000000000000000', // Native ETH
toToken: '0x0000000000000000000000000000000000000000', // Native ETH
amount: '1000000000000000', // 0.001 ETH (in wei)
slippage: 0.5,
sender: account.address,
providers: ['cross-curve', 'rubic', 'bungee'], // optional: filter by provider
});
// Execute with auto-recovery
const result = await sdk.executeQuote(quote, {
signer,
autoRecover: true,
onStatusChange: (status) => console.log('Status:', status.status),
});
console.log('TX:', result.transactionHash);
console.log('Request ID:', result.requestId);Adapters
Configuration
Last updated

