Skip to main content

Documentation Index

Fetch the complete documentation index at: https://dev-docs.multihopper.com/llms.txt

Use this file to discover all available pages before exploring further.

Prerequisites

  • A MultiHopper API key (mh_live_... for live, mh_test_... for test)
  • A Solana wallet with funds to transfer

Get API Keys

Sign in to the MultiHopper app to generate your API key.

Transfer flow overview

Transfers require three steps after creation:
1. POST /transfers       → receive serialized funding transactions
2. Sign + submit         → sign each transaction with your wallet and send to Solana
3. POST .../confirm      → confirm the transaction hashes back to the API
Once confirmed, the transfer moves into processing automatically.

Step 1: Estimate fees (optional)

Check expected costs before creating the transfer.
curl -X POST /api/v1/transfers/estimate \
  -H "x-api-key: mh_test_abc123..." \
  -H "Content-Type: application/json" \
  -d '{
    "tokenMint": "So11111111111111111111111111111111111111112",
    "amountRaw": "1000000000",
    "tokenDecimals": 9,
    "hops": 7
  }'
{
  "tier": "standard",
  "percentFeeBps": 5,
  "totalFlatFeeLamports": 42000,
  "usdEquivalent": 150.25
}

Step 2: Create the transfer

curl -X POST /api/v1/transfers \
  -H "x-api-key: mh_test_abc123..." \
  -H "Content-Type: application/json" \
  -d '{
    "tokenMint": "So11111111111111111111111111111111111111112",
    "amountRaw": "1000000000",
    "amountTokens": "1.0",
    "tokenDecimals": 9,
    "tokenSymbol": "SOL",
    "senderWallet": "<YOUR_WALLET>",
    "recipientWallet": "<RECIPIENT_WALLET>",
    "hops": 7,
    "arrivalSeconds": 300,
    "externalId": "my-order-001"
  }'
The response includes a fundingBundle with serialized Solana transactions — one per intermediate wallet.

Step 3: Sign and submit funding transactions

For each transaction in fundingBundle.transactions, sign and submit it to Solana using your wallet. Record the transaction signature (txHash) for each.
# Example using Solana CLI for one transaction
echo "<serialized_base64>" | base64 --decode > tx.bin
solana transaction submit tx.bin

Step 4: Confirm funding

Once all transactions are submitted, confirm the hashes:
curl -X POST /api/v1/transfers/42/funding/confirm \
  -H "x-api-key: mh_test_abc123..." \
  -H "Content-Type: application/json" \
  -d '{
    "fundingResults": [
      { "walletIndex": 0, "txHash": "4mGxFn7m..." },
      { "walletIndex": 1, "txHash": "2qYzLf1x..." }
    ]
  }'
When all wallets are confirmed, the transfer status moves to processing and aggregation is scheduled.

Step 5: Monitor status

curl /api/v1/transfers/42 \
  -H "x-api-key: mh_test_abc123..."
Or receive real-time updates by registering a webhook.

Next steps

API Reference

Full documentation for all endpoints, error codes, and rate limits.

Webhooks

Receive real-time transfer lifecycle events.

How it works

Understand the on-chain abstraction mechanism.

Security model

Trust assumptions and on-chain guarantees.