Skip to main content
Socket’s unified API makes same-chain and cross-chain token swaps simple. This page walks you through the integration process and helps you choose the right approach for your app.

Integration flow

Integrating Socket involves 4 steps:
  1. Get a quote: Fetch quote and pricing information from /v3/swap/quote
  2. Select a route: Pick the best route from the returned list using routeTags or output value
  3. Submit the transaction: Send txData.object from userAddress (approve first if approval is present)
  4. Monitor status: Poll /v3/swap/status with the quoteId
And that’s it! Socket handles the rest — routing, bridging, and settlement.
Integrating via a contract? If your integration routes the transaction through an intermediate contract (rather than submitting directly from the user’s wallet), pass contractCaller in your quote request. Without it, AllowanceHolder will see your contract as the caller instead of the user’s wallet and revert with CallerNotSignedUser. See the contractCaller section of the API guide for details.

Swap V3 API Guide

Full integration guide for the Socket Swap V3 API

Deposit Addresses

Accept deposits from any chain via deposit addresses

Non-EVM swaps

Swap across EVM and Solana

Charging Fees

Monetize your integration with integrator fees

Destination Payload

Execute arbitrary contract logic on the destination chain after bridging

Quick start: Socket Widget

If you want the fastest path to production, the Socket Widget is a drop-in React component that handles the full swap and bridging UX.
See the Socket Widget page for setup instructions.

API base URL

Use the dedicated production API base URL:
For production access, request API access. Use https://public-backend.socket.tech for testing — no auth required.