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
routeTags(SUGGESTED,FASTEST,MAX_OUTPUT,MIN_INPUT) or 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 Advanced flags 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
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. Try it in the Socket Widget playground, then embed it in your app:API base URL
Use the dedicated production API base URL:https://public-backend.socket.tech for testing — no auth required.