API Versioning
The API reference shows/v2 only where the current contract requires it. Unified routes such as
GET /strategies, strategy bytecode, and strategy status use unversioned paths. Version-specific
strategy detail, wallet, and swap routes include /v2, and the prefix is a required part of those
URLs. Cross-resource routes such as /actions are also unversioned.
2026
August 2026
API- Public Brazil Pix rails via
GET /v2/swap/quote(+ bytecode): Pix↔USDC on Base and Monad; Pix↔BRLA on Polygon (mint-to-user onramp / user-send offramp); Pix BRL ↔ BRS Solana (1:1 BRLA inventory; user never holds BRLA); Pix↔Morpho hyperUSDCa on Monad. BRLA and BRS rails charge no Pods/customer swap markup — amounts pass through Avenia / inventory. Deframe-solver Pix rails use two-stepON_RAMP_FIAT/OFF_RAMP_FIATActions with Moralis TRANSFER suppression. - Ramp KYC
walletAddressaccepts a checksummed EVM address or a Solana public key on Sumsub share-token and BigDataCorp session routes. - Solana-origin swap bytecode supports
output=instructions({ instructions, lutsByAddress? }). BRS offramp Memo V1 carriesquote.quoteId(UUID).
- Move money with Pods Ramp: supported-route matrix, USDC addresses for Base/Monad, Pix↔BRLA Polygon examples, Pix↔BRS Solana, and Morpho hyperUSDCa Monad onramp/offramp
- Set up Pods Ramp: KYC
walletAddressmay be a Solana public key - Ramp, KYC money-movement, and Swap guides now treat
GET /v2/swap/quotewith addresses/pixKeyas the only recommended path;POST /v2/swap/bytecodeis documented as legacy/optional - OpenAPI (
GET /v2/swap/quote/POST /v2/swap/bytecode): one-call quote preference; bytecode marked legacy/optional;WalletAddressschema for EVM or Solana
July 2026
API — breakingnetAPYnow deducts the integrator markup fee in addition to the performance fee:grossAPY × (1 − (performanceFeeBps + markupFeeBps) / 10000). Previously only the performance fee was subtracted, so customers on a markup agreement were shown a net APY higher than they would actually earn.grossAPYis now consistently the raw protocol rate on every endpoint. It was previously understated on Aave and Morpho strategies.apyAfterFeeshas been removed from position responses. It was undocumented, absent on Aave and Morpho strategies, and duplicatednetAPY.
- Fees: new APY Fields section documenting which figures include Pods
fees and the
netAPYformula - OpenAPI: gross/net semantics documented on every APY field
May 2026
APIGET /v2/swap/quote: optionalpreferredProviderquery parameter to pin which swap provider’s quote is persisted when multiple providers support the route; response remains a single{ quote }object (bestexpectedAmountOutwhen omitted)
- Get a Quote:
preferredProvider, multi-route aggregation, and related error codes - OpenAPI (
/v2/swap/quote):preferredProviderparameter and updated endpoint description
April 2026
Documentation- Documented canonical chain fields (
chainIdIn,chainIdOut,chainId) across OpenAPI, swap quote guide, architecture overview, and Cursor route rules—aligned with enriched swap, strategy, and tracking responses - Documented success-response contract (2xx JSON body, 204, no
successflag) in OpenAPI intro, Architecture, and Cursor rules - Documented unified error envelope (removed redundant
httpStatusin body); aligned Error Codes examples and rate-limit payload to live behavior - OpenAPI and Architecture: document ISO deadlines and strategy quote timestamps; aligned
scripts/generate-docs.jsstrategy quote response schema.
- Added
/transfer/bytecodeto API Reference with canonicaloriginAddress/destinationAddressand deprecated alias fields (walletOrigin,walletDestination) - Standardized success responses: removed
{ success: true/false }envelopes; invalid API key onGET /customers/by-api-keyis now 401; Supabase signup webhook returns 400/409/500 withHttpErrorshape; member delete returns 204; health and fulfill endpoints return JSON objects instead of bare strings - Standardized error JSON to
{ error: { code, message, details? } }acrossresponser, auth middlewares, 404/500 handlers, rate limits, and OpenAPI - Standardized date/time fields in JSON responses to ISO 8601 (UTC):
GET /v2/swap/quotequote.deadlineDate; wallet history DTOs; top-level dates onGET /actions/:id.
March 2026
Documentation- Added Why Pods page with competitive differentiation and build-vs-buy comparison
- Added Fees page documenting swap fees (25 BPS), yield performance fees (5%), and integrator markup
- Added Error Codes reference with 20+ error codes organized by category
- Added
llms.txtfor AI agent discoverability - Published OpenAPI spec at
docs.pods.finance/openapi.yaml - Linked status page from Architecture and API Reference pages
- Fixed rate limit documentation: aligned to 100 req/min, 1,000 req/hr per API key across all pages
- Added
.envtemplate andwalletAddresssetup to Quickstart - Fixed strategy response shapes in docs to match live API (
datapagination, flatassetfield, compositeid) - Aligned list-pagination docs across OpenAPI, Quickstart, yield guide, and examples:
paginationnow documentstotal,totalPages, andhasMore(replacing mongoose-styletotalRecords/hasNextPageon public responses) - Updated all swap code examples to use
/v2/endpoints
- Added cross-chain investment support
- Added Lido staking strategies (ETH and USD)
- Added covered savings xDAI strategy
- Added fee administration endpoints for integrators
- Fixed Lido addresses and ABIs
- Fixed withdraw history tracking
- Removed
request-lendaction
February 2026
Documentation- Added iframe integration guides (Privy, wagmi/viem)
- Added EarnWidget and SwapWidget documentation
- Added LLM playbook for AI tool integration
- Added external integration guides (Privy, Fireblocks, Dynamic)
January 2026
API- Launched v2 swap endpoints (
/v2/swap/quote,/v2/swap/bytecode,/v2/swap/status/{id}) - Added strategy analytics endpoint
- Added wallet transaction history endpoint (
/wallets/{wallet}/history/{strategyId}) - Added Sepolia testnet support for Aave strategies
- Added Base network strategies
- Migrated documentation to Mintlify
- Added yield guides (check protocol info, deposit, check positions, withdraw)
- Added swap guides (get quote, execute swap)
- Added JavaScript code examples (strategy deposit, same-chain swap, cross-chain swap)