Integration flow
Integrating Socket involves 4 steps:- Get a quote: Fetch quote and pricing information from
/v3/swap/quote - Select a route: Pick the best route from the returned list using
routeTagsor output value - Submit the transaction: Send
txData.objectfromuserAddress(approve first ifapprovalis present) - Monitor status: Poll
/v3/swap/statuswith thequoteId
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.API base URL
Use the dedicated production API base URL:https://public-backend.socket.tech for testing — no auth required.