Skip to main content

Getting Started

Whether you’re building a wallet, dApp, payment system, or automated trading bot, Warp provides simple APIs and SDKs that abstract the complexity of multi-chain operations.

Before You Begin

To use Warp’s APIs, you’ll need an API key:
  1. Visit the Warp Platform
  2. Create an account or sign in
  3. Navigate to API Keys and generate a new key
  4. Store your key securely — you’ll use it in all API requests
Never expose your API key in client-side code or public repositories.
For testing cross-chain transfers and payments:
  1. Use a testnet-compatible wallet (MetaMask, WalletConnect, etc.)
  2. Add testnet networks (Sepolia, Goerli, Mumbai, etc.)
  3. Fund your wallet with testnet tokens from public faucets
Warp supports both mainnet and testnet environments. Always test on testnets first.

Integration Path

Choose the integration method that best fits your use case:

API

Backend integrations, custom UIs, mobile appsFull control over the user experience with simple HTTP requests.

JavaScript SDK

Web applications, React apps, frontend integrationsPre-built functions with TypeScript support and automatic retry logic.

Embedded Widget

Fastest deployment, minimal code changesDrop-in UI component with full cross-chain transfer and payment functionality.

Quick Integration: REST API

Step 1: Get a Cross-Chain Quote

Request a quote for transferring tokens between chains:
curl -X POST https://api.usewarp.net/v1/quote \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "sourceChain": "ethereum",
    "destinationChain": "arbitrum",
    "sourceToken": "USDC",
    "destinationToken": "USDC",
    "amount": "100000000",
    "recipient": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e"
  }'
Response:
{
  "quoteId": "quote_1a2b3c4d5e6f",
  "sourceAmount": "100000000",
  "destinationAmount": "99750000",
  "estimatedFee": "250000",
  "estimatedTime": "45",
  "expiresAt": "2025-12-13T10:15:00Z"
}

Step 2: Execute the Transfer

Once you have a quote, execute the transfer:
curl -X POST https://api.usewarp.net/v1/transfer \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "quoteId": "quote_1a2b3c4d5e6f",
    "userAddress": "0x1234567890abcdef1234567890abcdef12345678"
  }'
Response:
{
  "transferId": "transfer_9x8y7z6w5v4u",
  "status": "pending",
  "sourceTransaction": {
    "chainId": 1,
    "hash": "0xabc123...",
    "confirmations": 0
  }
}

Step 3: Track Transfer Status

Monitor your transfer in real-time:
curl https://api.usewarp.net/v1/transfer/transfer_9x8y7z6w5v4u \
  -H "Authorization: Bearer YOUR_API_KEY"
Response:
{
  "transferId": "transfer_9x8y7z6w5v4u",
  "status": "completed",
  "sourceTransaction": {
    "chainId": 1,
    "hash": "0xabc123...",
    "confirmations": 15
  },
  "destinationTransaction": {
    "chainId": 42161,
    "hash": "0xdef456...",
    "confirmations": 8
  },
  "completedAt": "2025-12-13T10:12:34Z"
}

Quick Integration: JavaScript SDK

Installation

npm install @usewarp/sdk
# or
yarn add @usewarp/sdk

Basic Usage

import { WarpClient } from '@usewarp/sdk';

// Initialize the client
const warp = new WarpClient({
  apiKey: process.env.WARP_API_KEY,
  environment: 'testnet' // or 'mainnet'
});

// Get a quote
const quote = await warp.getQuote({
  sourceChain: 'ethereum',
  destinationChain: 'arbitrum',
  sourceToken: 'USDC',
  destinationToken: 'USDC',
  amount: '100000000',
  recipient: '0x742d35Cc6634C0532925a3b844Bc454e4438f44e'
});

// Execute transfer
const transfer = await warp.executeTransfer({
  quoteId: quote.quoteId,
  userAddress: walletAddress
});

// Track status
const status = await warp.getTransferStatus(transfer.transferId);
console.log('Transfer status:', status.status);

Quick Integration: Embedded Widget

Add the Warp widget to your website with just a few lines of code:
<!-- Add the Warp widget script -->
<script src="https://widget.warp.dev/v1/warp-widget.js"></script>

<!-- Add the widget container -->
<div id="warp-widget"></div>

<script>
  WarpWidget.init({
    container: '#warp-widget',
    apiKey: 'YOUR_PUBLIC_API_KEY',
    defaultSourceChain: 'ethereum',
    defaultDestinationChain: 'arbitrum',
    theme: 'dark' // or 'light'
  });
</script>
The widget handles wallet connection, quote fetching, and transfer execution automatically.

Next Steps


Need Help?

Join our Discord community or contact support@usewarp.net for integration assistance.