{"uid":"cap_bFOZbS3jtHrNabssJX9Bv","slug":"ozmium-base-mainnet-swap-cdp-trade-api-8befd9d7","name":"Ozmium Base Mainnet Swap (CDP Trade API)","description":"Executable Base mainnet swap via the Coinbase CDP Trade API: returns the unsigned transaction + permit2 payload exactly as CDP quotes it; the agent signs with its own wallet. POST /v1/tx/swap { fromToken, toToken, fromAmount (atomic), taker, signerAddress?, slippageBps? }.","url":"https://ozmium.org/v1/tx/swap","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"taker":{"type":"string"},"toToken":{"type":"string"},"fromToken":{"type":"string"},"fromAmount":{"type":"string"},"slippageBps":{"type":"number"}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.01","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.01/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.01","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.01","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_c1uuxueMryCL77VvuUiPw","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.01","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Returns unsigned swap transaction + permit2 payload for a Base mainnet token swap, quoted via Coinbase CDP Trade API, ready for agent-side signing.","exampleAgentPrompt":"Swap 1000000 USDC (atomic units) to WETH on Base mainnet for my wallet 0xAbC...123, using a 50 bps slippage tolerance — give me the unsigned transaction and permit2 payload so I can sign it.","exampleUseCases":[{"title":"Rebalance agent portfolio on Base","prompt":"I need to rebalance my agent wallet on Base — swap 500000000 USDC (atomic units) into ETH for address 0xDef...456, with 30 bps slippage. Give me the unsigned transaction and permit2 payload so my agent can sign and broadcast it."},{"title":"DCA into WBTC using USDC","prompt":"Execute a dollar-cost average buy for my agent wallet 0x123...789 on Base mainnet — swap 250000000 USDC (atomic units) into WBTC with a 25 bps slippage tolerance. Return the unsigned transaction and permit2 payload ready for signing."},{"title":"Convert yield tokens back to stablecoin","prompt":"My agent just harvested yield tokens on Base and needs to convert them back to USDC — swap 1000000000000000000 AERO (atomic units) to USDC for wallet 0xABC...DEF with 100 bps slippage. Give me the raw unsigned transaction and permit2 payload to sign on my end."}],"resultDescription":"Returns the unsigned transaction object and permit2 payload exactly as quoted by the Coinbase CDP Trade API, including calldata, to, value, and any permit2 signature requirements — ready for the agent to sign with its own wallet and broadcast.","failureModes":["Invalid token address returns 400 or empty quote","fromAmount too small for routing returns no-route error","taker address malformed returns validation error","Slippage too tight causes quote failure","CDP Trade API downstream unavailability returns 5xx","Payment of $0.02 USDC not included causes 402 rejection"],"whenToPreferThis":"Use this endpoint when an AI agent needs to swap tokens on Base mainnet and wants the raw unsigned transaction + permit2 payload to sign itself, specifically leveraging Coinbase CDP Trade API routing. Prefer over generic DEX aggregators when operating within the Coinbase/Base ecosystem or when agent-side signing with permit2 is required.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-14T12:41:36.492Z","isFirstParty":false}