{"openapi":"3.1.0","info":{"title":"Flashnet Orchestrator API","version":"0.1.0","description":"Partner API for quotes, orders, standing deposits, webhooks, and affiliates. Operations marked x-excluded are omitted from the documentation navigation; internal, pay-link, SSE, and provider-integration routes are outside this registry."},"servers":[{"url":"https://orchestration.flashnet.xyz"}],"tags":[{"name":"Orchestration","description":"Routes, limits, estimates, quotes, orders, onramp, and ZeroConf decisions for one-off swaps."},{"name":"Standing Deposit Addresses","description":"Permanent per-customer deposit addresses bound to one immutable conversion instruction."},{"name":"Webhooks","description":"Registration of HTTPS endpoints for order status events and recovery events."},{"name":"Affiliates","description":"Registered fee recipients, their accrued balances, and claims."},{"name":"Accumulation Addresses","description":"Legacy reusable addresses that convert one source asset into Spark BTC or USDB."},{"name":"Liquidations","description":"Legacy Bitcoin L1 deposit addresses that convert each output to a configured destination."},{"name":"System"},{"name":"Explorer"},{"name":"Dashboard"},{"name":"Affiliate Dashboard"}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Partner API key in the form `Authorization: Bearer fn_...`."}},"schemas":{"ErrorDetail":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":false},"ErrorResponse":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ErrorDetail"}},"required":["error"],"additionalProperties":false},"OkResponse":{"type":"object","properties":{"ok":{"type":"boolean"}},"required":["ok"],"additionalProperties":false},"HealthzResponse":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]}},"required":["ok"],"additionalProperties":false},"HealthzUnavailableResponse":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"db":{"type":"string","enum":["unreachable"]}},"required":["ok","db"],"additionalProperties":false},"LivezResponse":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"tee":{"type":"string","enum":["ok"]}},"required":["ok","tee"],"additionalProperties":false},"LivezUnavailableResponse":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"tee":{"type":"string","enum":["unreachable"]}},"required":["ok","tee"],"additionalProperties":false},"Chain":{"type":"string","enum":["arbitrum","avalanche","base","bitcoin","bsc","ethereum","hedera","hypercore","hyperevm","lightning","litecoin","monad","monero","optimism","plasma","polygon","robinhood","sei","solana","spark","tempo","ton","tron","xrp","zcash"]},"PublicAssetDetails":{"type":"object","properties":{"chain":{"$ref":"#/components/schemas/Chain"},"asset":{"type":"string"},"assetDisplayName":{"type":"string"},"assetDisplaySymbol":{"type":"string"},"contractAddress":{"type":["string","null"]},"decimals":{"type":"integer"},"chainId":{"type":["string","null"]},"chainDisplayName":{"type":"string"},"chainIcon":{"type":["string","null"]}},"required":["chain","asset","assetDisplayName","assetDisplaySymbol","contractAddress","decimals","chainId","chainDisplayName","chainIcon"],"additionalProperties":false},"Asset":{"type":"string","enum":["AAPL","AI","AMD","AMZN","BNB","BONER","BTC","CASHCAT","COIN","COST","DAI","DELTA","DJT","ETH","GLD","GME","GOOGL","GRAM","HIMS","HSUSD","HYPE","IF","LTC","META","MON","MSFT","MSTR","MU","NVDA","PIPEDOG","PLTR","POL","PONS","PYUSD","PathUSD","QQQ","RDDT","SHX","SKHY","SLV","SNDK","SOL","SPCX","SPY","STONKBROKER","TENDIES","TRX","TSLA","TSM","UP","USDB","USDC","USDC.e","USDG","USDT","USDe","USD₮0","USO","WBNB","WBTC","WEN","XMR","XPL","XRP","ZEC","cbBTC","tBTC"]},"AssetInput":{"anyOf":[{"$ref":"#/components/schemas/Asset"},{"type":"string","enum":["TON"]}],"description":"TON is a legacy input alias for ton:GRAM only; responses use GRAM."},"OperationStage":{"type":"object","properties":{"name":{"type":"string"},"status":{"type":"string","enum":["completed"]},"completedAt":{"type":"string"}},"required":["name","status","completedAt"],"additionalProperties":false},"OperationRecord":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["order"]},"quoteId":{"type":["string","null"]},"status":{"type":"string","description":"Partner-visible order status. Internal paused orders are reported as processing."},"sourceChain":{"allOf":[{"$ref":"#/components/schemas/Chain"},{"type":["string","null"]}]},"sourceAsset":{"type":["string","null"]},"sourceAddress":{"type":["string","null"]},"sourceTxHash":{"type":["string","null"]},"sourceTxVout":{"type":["integer","null"]},"sourceTxKey":{"type":["string","null"]},"sweepTxHash":{"type":["string","null"]},"destinationChain":{"allOf":[{"$ref":"#/components/schemas/Chain"},{"type":["string","null"]}]},"destinationAsset":{"type":["string","null"]},"destinationAddress":{"type":["string","null"]},"destinationTxHash":{"type":["string","null"]},"depositAddress":{"type":["string","null"]},"recipientAddress":{"type":["string","null"]},"supersededByOperationId":{"type":["string","null"],"description":"Successor order ID for a recovered deposit; follow it for the delivered result."},"recoveredFromOperationId":{"type":["string","null"],"description":"Original order ID whose replaced deposit this order recovered."},"amountIn":{"type":["string","null"]},"amountOut":{"type":["string","null"],"description":"Delivered destination amount in smallest units, after delivery fees; null until completion."},"amountInUsd":{"type":"string","description":"Decimal USD value of amountIn on completed orders when derivable."},"amountOutUsd":{"type":"string","description":"Decimal USD value of amountOut on completed orders when derivable."},"amountFiatUsd":{"type":"string","description":"Requested USD amount, present when the order used amountFiatUsd."},"amountFiatCurrency":{"type":"string","description":"Currency for amountFiatUsd. Always \"USD\" today."},"spotUsdPerBtc":{"type":"string","description":"BTC/USD spot used to convert amountFiatUsd to sats at order creation."},"feeBps":{"type":["integer","null"]},"feeAmount":{"type":["string","null"]},"feeAsset":{"type":["string","null"]},"feeAssetDetails":{"$ref":"#/components/schemas/PublicAssetDetails"},"feeAmountUsd":{"type":"string"},"totalFeeAmountUsd":{"type":"string"},"roundingFeeAmount":{"type":["string","null"]},"slippageBps":{"type":["integer","null"]},"flashnetRequestId":{"type":["string","null"]},"sparkTxHash":{"type":["string","null"]},"refundAsset":{"type":["string","null"]},"refundAmount":{"type":["string","null"]},"refundTxHash":{"type":["string","null"]},"errorCode":{"type":["string","null"],"description":"Partner-safe error code."},"errorMessage":{"type":["string","null"],"description":"Partner-safe error message."},"swap":{"type":"object","properties":{}},"ingressSwap":{"type":"object","properties":{}},"egressSwap":{"type":"object","properties":{}},"feePlan":{"type":"object","properties":{}},"feePayouts":{"type":"object","properties":{}},"priceLock":{"type":"object","properties":{}},"reprice":{"type":"object","properties":{}},"paymentIntent":{"type":"object","properties":{}},"zeroconfOffer":{"type":"object","properties":{},"description":"Bitcoin ZeroConf outcome; denied outcomes require a valid readToken or X-Read-Token."},"totalFeeBps":{"type":"integer"},"totalFeeAmount":{"type":"string"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"completedAt":{"type":["string","null"]}},"required":["id","type","status","createdAt","updatedAt"]},"ExplorerRef":{"type":"object","properties":{"type":{"type":"string"},"value":{"type":"string"},"chain":{"type":["string","null"]},"vout":{"type":["integer","null"]},"leg":{"type":["string","null"]}},"required":["type","value","chain","vout","leg"],"additionalProperties":false},"DashboardOperationRecord":{"allOf":[{"$ref":"#/components/schemas/OperationRecord"},{"type":"object","properties":{"sourceAssetAddress":{"type":["string","null"],"description":"Token contract, mint, or jetton master address for sourceAsset when applicable."},"destinationAssetAddress":{"type":["string","null"],"description":"Token contract, mint, or jetton master address for destinationAsset when applicable."},"affiliateIds":{"type":"array","items":{"type":"string"},"description":"Affiliate ids associated with this operation via operation_affiliate_fees. Present on the list endpoint (empty when none); omitted on the single-operation detail endpoint."}},"additionalProperties":false}]},"PublicExplorerOperationRecord":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["order"]},"status":{"type":"string"},"sourceChain":{"allOf":[{"$ref":"#/components/schemas/Chain"},{"type":["string","null"]}]},"sourceAsset":{"type":["string","null"]},"sourceTxHash":{"type":["string","null"]},"sourceTxVout":{"type":["integer","null"]},"destinationChain":{"allOf":[{"$ref":"#/components/schemas/Chain"},{"type":["string","null"]}]},"destinationAsset":{"type":["string","null"]},"destinationTxHash":{"type":["string","null"]},"amountIn":{"type":["string","null"]},"amountOut":{"type":["string","null"]},"sourceToken":{"type":"object","properties":{}},"destinationToken":{"type":"object","properties":{}},"sparkTxHash":{"type":["string","null"]},"refundAsset":{"type":["string","null"]},"refundAmount":{"type":["string","null"]},"refundTxHash":{"type":["string","null"]},"errorCode":{"type":["string","null"]},"errorMessage":{"type":["string","null"]},"slippageBps":{"type":["integer","null"]},"supersededByOperationId":{"type":["string","null"],"description":"Successor order id that recovered this order's deposit, if any (issue #669)."},"recoveredFromOperationId":{"type":["string","null"],"description":"Original order id this order recovered, if any (issue #669)."},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"completedAt":{"type":["string","null"]}},"required":["id","type","status","createdAt","updatedAt"]},"PublicExplorerOperationResult":{"type":"object","properties":{"operation":{"$ref":"#/components/schemas/PublicExplorerOperationRecord"},"partner":{"type":"null"},"refs":{"type":"array","items":{"$ref":"#/components/schemas/ExplorerRef"}}},"required":["operation","partner","refs"],"additionalProperties":false},"PublicExplorerOperationsResponse":{"type":"object","properties":{"operations":{"type":"array","items":{"$ref":"#/components/schemas/PublicExplorerOperationResult"}},"nextOffset":{"type":"null"}},"required":["operations","nextOffset"],"additionalProperties":false},"PublicExplorerOperationDetailResponse":{"type":"object","properties":{"operation":{"$ref":"#/components/schemas/PublicExplorerOperationRecord"},"partner":{"type":"null"},"refs":{"type":"array","items":{"$ref":"#/components/schemas/ExplorerRef"}},"stages":{"type":"array","items":{"$ref":"#/components/schemas/OperationStage"}}},"required":["operation","partner","refs","stages"],"additionalProperties":false},"RoutePair":{"type":"object","properties":{"sourceChain":{"$ref":"#/components/schemas/Chain"},"sourceAsset":{"type":"string"},"destinationChain":{"$ref":"#/components/schemas/Chain"},"destinationAsset":{"type":"string"},"exactOutEligible":{"type":"boolean"},"fixedEligible":{"type":"boolean"},"source":{"type":"object","properties":{"chain":{"$ref":"#/components/schemas/Chain"},"asset":{"type":"string"},"assetDisplayName":{"type":"string"},"assetDisplaySymbol":{"type":"string"},"contractAddress":{"type":["string","null"]},"decimals":{"type":"integer"},"chainId":{"type":["string","null"]},"chainDisplayName":{"type":"string"},"chainIcon":{"type":["string","null"]}},"required":["chain","asset","assetDisplayName","assetDisplaySymbol","contractAddress","decimals","chainId","chainDisplayName","chainIcon"],"additionalProperties":false},"destination":{"type":"object","properties":{"chain":{"$ref":"#/components/schemas/Chain"},"asset":{"type":"string"},"assetDisplayName":{"type":"string"},"assetDisplaySymbol":{"type":"string"},"contractAddress":{"type":["string","null"]},"decimals":{"type":"integer"},"chainId":{"type":["string","null"]},"chainDisplayName":{"type":"string"},"chainIcon":{"type":["string","null"]}},"required":["chain","asset","assetDisplayName","assetDisplaySymbol","contractAddress","decimals","chainId","chainDisplayName","chainIcon"],"additionalProperties":false}},"required":["sourceChain","sourceAsset","destinationChain","destinationAsset","exactOutEligible","fixedEligible","source","destination"],"additionalProperties":false},"OrchestrationRoutesResponse":{"type":"object","properties":{"routes":{"type":"array","items":{"$ref":"#/components/schemas/RoutePair"}}},"required":["routes"],"additionalProperties":false},"RouteSet":{"anyOf":[{"type":"string","enum":["all"]},{"type":"array","items":{"type":"string"}},{"type":"object","properties":{"except":{"type":"array","items":{"type":"string"}}},"required":["except"],"additionalProperties":false}],"description":"Destination IDs from this response: \"all\" means all other assets, an array lists destinations, and {except: [...]} excludes IDs from all other assets; [] means none."},"PublicRouteAsset":{"type":"object","properties":{"id":{"type":"string","description":"Asset ID in <publicChain>:<canonical request asset> form."},"chain":{"$ref":"#/components/schemas/Chain"},"asset":{"type":"string"},"assetDisplayName":{"type":"string"},"assetDisplaySymbol":{"type":"string"},"contractAddress":{"type":["string","null"]},"decimals":{"type":"integer"},"chainId":{"type":["string","null"]},"chainDisplayName":{"type":"string"},"chainIcon":{"type":["string","null"]},"route":{"type":"object","properties":{"to":{"allOf":[{"$ref":"#/components/schemas/RouteSet"},{"description":"Admitted directed destinations from this asset."}]},"exactOutTo":{"allOf":[{"$ref":"#/components/schemas/RouteSet"},{"description":"Destinations in to supporting amountMode=exact_out."}]},"fixedTo":{"allOf":[{"$ref":"#/components/schemas/RouteSet"},{"description":"Destinations in to supporting fixed delivery, subject to partner configuration."}]}},"required":["to","exactOutTo","fixedTo"],"additionalProperties":false}},"required":["id","chain","asset","assetDisplayName","assetDisplaySymbol","contractAddress","decimals","chainId","chainDisplayName","chainIcon","route"],"additionalProperties":false},"OrchestrationRoutesV2Response":{"type":"object","properties":{"assets":{"type":"array","items":{"$ref":"#/components/schemas/PublicRouteAsset"},"description":"Admitted assets in chain-priority order; destination-only assets have empty outbound sets."}},"required":["assets"],"additionalProperties":false},"OrchestrationLimitConstraint":{"type":"object","properties":{"id":{"type":"string"},"amountMode":{"type":"string","enum":["all","exact_in","exact_out"]},"leg":{"type":"string","enum":["source","destination","route"]},"source":{"type":"string","enum":["runtime_order_bounds","flashnet_static_limit","bitcoin_l1_delivery","provider_quote","fiat_amount"]},"description":{"type":"string"},"chain":{"allOf":[{"$ref":"#/components/schemas/Chain"},{"type":["string","null"]}]},"asset":{"type":["string","null"]},"minAmountSmallest":{"type":["string","null"]},"maxAmountSmallest":{"type":["string","null"]},"minUsdCents":{"type":["string","null"]},"maxUsdCents":{"type":["string","null"]}},"required":["id","amountMode","leg","source","description","chain","asset","minAmountSmallest","maxAmountSmallest","minUsdCents","maxUsdCents"],"additionalProperties":false},"OrchestrationLimitRequestAmount":{"type":"object","properties":{"leg":{"type":"string","enum":["source","destination"]},"chain":{"$ref":"#/components/schemas/Chain"},"asset":{"type":"string"},"minAmountSmallest":{"type":["string","null"]},"maxAmountSmallest":{"type":["string","null"]},"minUsdCents":{"type":["string","null"]},"maxUsdCents":{"type":["string","null"]}},"required":["leg","chain","asset","minAmountSmallest","maxAmountSmallest","minUsdCents","maxUsdCents"],"additionalProperties":false},"OrchestrationLimitMode":{"type":"object","properties":{"supported":{"type":"boolean"},"requestAmount":{"allOf":[{"$ref":"#/components/schemas/OrchestrationLimitRequestAmount"},{"type":["object","null"]}]},"constraints":{"type":"array","items":{"type":"string"}}},"required":["supported","requestAmount","constraints"],"additionalProperties":false},"OrchestrationLimitRoute":{"allOf":[{"$ref":"#/components/schemas/RoutePair"},{"type":"object","properties":{"direction":{"type":"string","enum":["buy","sell","xchain"]},"limits":{"type":"object","properties":{"orderNotionalUsd":{"type":"object","properties":{"minCents":{"type":["string","null"]},"maxCents":{"type":["string","null"]},"source":{"type":"string","enum":["runtime_order_bounds"]}},"required":["minCents","maxCents","source"],"additionalProperties":false},"exactIn":{"$ref":"#/components/schemas/OrchestrationLimitMode"},"exactOut":{"$ref":"#/components/schemas/OrchestrationLimitMode"},"fiatUsd":{"type":["object","null"],"properties":{"supported":{"type":"boolean"},"min":{"type":"string"},"max":{"type":"string"},"surfaces":{"type":"array","items":{"type":"string"}}},"required":["supported","min","max","surfaces"],"additionalProperties":false},"dynamicProviderLimits":{"type":"object","properties":{"possible":{"type":"boolean"},"components":{"type":"array","items":{"type":"string"}},"description":{"type":["string","null"]}},"required":["possible","components","description"],"additionalProperties":false},"constraints":{"type":"array","items":{"$ref":"#/components/schemas/OrchestrationLimitConstraint"}}},"required":["orderNotionalUsd","exactIn","exactOut","fiatUsd","dynamicProviderLimits","constraints"],"additionalProperties":false}},"required":["direction","limits"],"additionalProperties":false}]},"OrchestrationLimitsResponse":{"type":"object","properties":{"generatedAt":{"type":"string"},"routes":{"type":"array","items":{"$ref":"#/components/schemas/OrchestrationLimitRoute"}}},"required":["generatedAt","routes"],"additionalProperties":false},"OrchestrationAppFeeRequest":{"type":"object","properties":{"recipient":{"type":"string","minLength":1,"description":"Fee recipient address; sanctioned addresses are rejected."},"fee":{"type":"integer","minimum":1,"maximum":9999}},"required":["recipient","fee"],"description":"Unknown top-level fields are ignored rather than rejected."},"OrchestrationAffiliateIdEntry":{"anyOf":[{"type":"string","minLength":1,"description":"Registered affiliate id. Uses the profile's static feeBps."},{"type":"object","properties":{"affiliateId":{"type":"string","minLength":1},"feeBps":{"type":"integer","minimum":1,"maximum":9999,"description":"Fee override for this quote only; the stored affiliate profile is unchanged."}},"required":["affiliateId","feeBps"],"additionalProperties":false}],"description":"Registered affiliate ID or { affiliateId, feeBps } override."},"OrchestrationAppFeeQuote":{"type":"object","properties":{"affiliateId":{"type":"string"},"recipient":{"type":"string","minLength":1},"feeBps":{"type":"integer","minimum":1,"maximum":9999},"amount":{"type":"string"},"platformCutAmount":{"type":"string"},"recipientAmount":{"type":"string"}},"required":["recipient","feeBps","amount","platformCutAmount","recipientAmount"],"additionalProperties":false},"OrchestrationNetworkCost":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["solana_associated_token_account"]},"nativeAmount":{"type":"string"},"nativeAsset":{"type":"string","enum":["SOL"]},"amount":{"type":"string"},"asset":{"type":"string"},"assumption":{"type":"string","enum":["assumed_missing","observed_missing","observed_exists"]}},"required":["type","nativeAmount","nativeAsset","amount","asset","assumption"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["solana_mayan_order_accounts"]},"nativeAmount":{"type":"string"},"nativeAsset":{"type":"string","enum":["SOL"]},"amount":{"type":"string"},"asset":{"type":"string","enum":["USDC"]}},"required":["type","nativeAmount","nativeAsset","amount","asset"],"additionalProperties":false}]},"OrchestrationEstimateResponse":{"type":"object","properties":{"amountMode":{"type":"string","enum":["exact_in","exact_out"]},"targetAmountOut":{"type":"string"},"requiredAmountIn":{"type":"string"},"maxAcceptedAmountIn":{"type":"string"},"inputBufferBps":{"type":"integer"},"deliveryMode":{"type":"string","enum":["fixed"]},"estimatedOut":{"type":"string"},"feeAmount":{"type":"string"},"roundingFeeAmount":{"type":"string"},"feeBps":{"type":"integer"},"totalFeeAmount":{"type":"string"},"networkCostAmount":{"type":"string","description":"Quoted network cost in smallest units of networkCostAsset."},"networkCostAsset":{"type":"string","description":"Asset used to pay the quoted network cost."},"networkCostRequired":{"type":"boolean","description":"Whether the quoted network cost must be paid."},"networkCosts":{"type":"array","items":{"$ref":"#/components/schemas/OrchestrationNetworkCost"},"description":"Itemized network costs and quote-time assumptions."},"appFeeAmount":{"type":"string"},"appFeePlatformCutAmount":{"type":"string"},"appFees":{"type":"array","items":{"$ref":"#/components/schemas/OrchestrationAppFeeQuote"}},"feeAsset":{"type":"string"},"feeAssetDetails":{"$ref":"#/components/schemas/PublicAssetDetails"},"feeAmountUsd":{"type":"string"},"totalFeeAmountUsd":{"type":"string"},"route":{"type":"array","items":{"type":"string"}},"source":{"type":"object","properties":{"chain":{"$ref":"#/components/schemas/Chain"},"asset":{"type":"string"},"assetDisplayName":{"type":"string"},"assetDisplaySymbol":{"type":"string"},"contractAddress":{"type":["string","null"]},"decimals":{"type":"integer"},"chainId":{"type":["string","null"]},"chainDisplayName":{"type":"string"},"chainIcon":{"type":["string","null"]}},"required":["chain","asset","assetDisplayName","assetDisplaySymbol","contractAddress","decimals","chainId","chainDisplayName","chainIcon"],"additionalProperties":false},"destination":{"type":"object","properties":{"chain":{"$ref":"#/components/schemas/Chain"},"asset":{"type":"string"},"assetDisplayName":{"type":"string"},"assetDisplaySymbol":{"type":"string"},"contractAddress":{"type":["string","null"]},"decimals":{"type":"integer"},"chainId":{"type":["string","null"]},"chainDisplayName":{"type":"string"},"chainIcon":{"type":["string","null"]}},"required":["chain","asset","assetDisplayName","assetDisplaySymbol","contractAddress","decimals","chainId","chainDisplayName","chainIcon"],"additionalProperties":false}},"required":["estimatedOut","feeAmount","feeBps","feeAsset","route","source","destination"],"additionalProperties":false},"OrchestrationQuoteRequest":{"type":"object","properties":{"sourceChain":{"$ref":"#/components/schemas/Chain"},"sourceAsset":{"$ref":"#/components/schemas/AssetInput"},"destinationChain":{"$ref":"#/components/schemas/Chain"},"destinationAsset":{"$ref":"#/components/schemas/AssetInput"},"amount":{"type":"string","pattern":"^[0-9]+$","description":"Amount in smallest units of the source asset, or destination asset for exact_out; stablecoin exact_out amounts require whole cents."},"amountMode":{"type":"string","enum":["exact_in","exact_out"],"description":"exact_out pins the destination amount and requires whole cents for stablecoins."},"deliveryMode":{"type":"string","enum":["variable","fixed"],"description":"Delivery mode; read fixed-delivery destinations from /v2/orchestration/routes."},"recipientAddress":{"type":"string","minLength":1,"description":"Destination recipient; use the owner address for Solana tokens, or a Lightning address or compatible BOLT11 invoice for Lightning."},"refundChain":{"$ref":"#/components/schemas/Chain"},"refundAddress":{"type":"string","minLength":1,"description":"Source-chain refund address where required by the route; sanctioned addresses are rejected."},"slippageBps":{"type":"integer","minimum":0,"maximum":1000,"description":"Slippage tolerance in basis points, subject to the route minimum."},"appFees":{"type":"array","items":{"$ref":"#/components/schemas/OrchestrationAppFeeRequest"},"minItems":1,"maxItems":16,"description":"Inline app fees, requiring a server key or dashboard session."},"affiliateId":{"type":"string","description":"Registered affiliate ID for accrued fees, also accepted from client keys."},"affiliateIds":{"type":"array","items":{"$ref":"#/components/schemas/OrchestrationAffiliateIdEntry"},"minItems":1,"maxItems":16,"description":"Registered affiliate IDs or fee overrides; mutually exclusive with appFees, with overrides requiring a server key or dashboard session."}},"required":["sourceChain","sourceAsset","destinationChain","destinationAsset","amount","recipientAddress"],"description":"Unknown top-level fields are ignored rather than rejected.","allOf":[{"not":{"allOf":[{"properties":{"sourceAsset":{"const":"TON"}},"required":["sourceAsset"]},{"properties":{"sourceChain":{"not":{"const":"ton"}}},"required":["sourceChain"]}]}},{"not":{"allOf":[{"properties":{"destinationAsset":{"const":"TON"}},"required":["destinationAsset"]},{"properties":{"destinationChain":{"not":{"const":"ton"}}},"required":["destinationChain"]}]}}]},"OrchestrationQuoteResponse":{"type":"object","properties":{"quoteId":{"type":"string"},"depositAddress":{"type":"string"},"depositMemo":{"type":"string","description":"Memo or tag required with the deposit when present."},"lightningReceiveRequestId":{"type":"string"},"amountMode":{"type":"string","enum":["exact_in","exact_out"]},"targetAmountOut":{"type":"string"},"requiredAmountIn":{"type":"string"},"maxAcceptedAmountIn":{"type":"string"},"inputBufferBps":{"type":"integer"},"deliveryMode":{"type":"string","enum":["fixed"]},"priceLockMode":{"type":"string","enum":["strict_requote","approval_required"],"description":"Action required when the locked price can no longer be honored."},"lockedMinAmountOut":{"type":"string","description":"Minimum locked destination amount in smallest units."},"amountIn":{"type":"string"},"estimatedOut":{"type":"string"},"feeAmount":{"type":"string"},"roundingFeeAmount":{"type":"string"},"totalFeeAmount":{"type":"string"},"networkCostAmount":{"type":"string","description":"Quoted network cost in smallest units of networkCostAsset."},"networkCostAsset":{"type":"string","description":"Asset used to pay the quoted network cost."},"networkCostRequired":{"type":"boolean","description":"Whether the quoted network cost must be paid."},"networkCosts":{"type":"array","items":{"$ref":"#/components/schemas/OrchestrationNetworkCost"},"description":"Itemized network costs and quote-time assumptions."},"sweepFeeAmount":{"type":"string"},"appFeeAmount":{"type":"string"},"appFeePlatformCutAmount":{"type":"string"},"appFees":{"type":"array","items":{"$ref":"#/components/schemas/OrchestrationAppFeeQuote"}},"feeAsset":{"type":"string"},"feeAssetDetails":{"$ref":"#/components/schemas/PublicAssetDetails"},"feeAmountUsd":{"type":"string"},"totalFeeAmountUsd":{"type":"string"},"feeBps":{"type":"integer"},"route":{"type":"array","items":{"type":"string"}},"expiresAt":{"type":"string"},"readToken":{"type":"string","description":"Client-key read token for this quote and its order, including private ZeroConf outcomes."}},"required":["quoteId","depositAddress","amountIn","estimatedOut","feeAmount","totalFeeAmount","feeAsset","feeBps","route","expiresAt"],"additionalProperties":false},"OrchestrationSubmitRequest":{"type":"object","properties":{"quoteId":{"type":"string","minLength":1},"txHash":{"type":"string","minLength":1,"description":"Source transaction reference; native Hedera transfers require their native transaction ID."},"sourceAddress":{"type":"string","minLength":1,"description":"Expected source-chain sender; a verified mismatch pauses the order for review."},"sparkTxHash":{"type":"string","minLength":1},"sourceSparkAddress":{"type":"string","minLength":1,"description":"Expected Spark sender address; sanctioned addresses are rejected."},"bitcoinTxid":{"type":"string","minLength":1},"bitcoinVout":{"type":"integer","minimum":0},"lightningReceiveRequestId":{"type":"string","minLength":1}},"required":["quoteId"],"description":"Source-specific deposit references; unknown top-level fields are ignored."},"OrchestrationSubmitResponse":{"type":"object","properties":{"orderId":{"type":"string"},"status":{"type":"string","description":"Partner-visible order status. Internal paused orders are reported as processing."}},"required":["orderId","status"],"additionalProperties":false},"OrchestrationOnrampRequest":{"type":"object","properties":{"destinationChain":{"$ref":"#/components/schemas/Chain"},"destinationAsset":{"$ref":"#/components/schemas/AssetInput"},"recipientAddress":{"type":"string","minLength":1,"description":"Destination recipient; use the owner address for Solana tokens; sanctioned addresses are rejected."},"amount":{"type":"string","pattern":"^[0-9]+$","description":"Amount in smallest units; exact_out uses the destination asset and whole cents for stablecoins; mutually exclusive with amountFiatUsd."},"amountFiatUsd":{"type":"string","pattern":"^(?:0|[1-9][0-9]*)(?:\\.[0-9]{1,2})?$","description":"USD amount paid through Cash App or Strike, converted to sats at request time; read current bounds from /v1/orchestration/limits."},"amountMode":{"type":"string","enum":["exact_in","exact_out"],"description":"exact_out pins the destination amount and requires whole cents for stablecoins."},"deliveryMode":{"type":"string","enum":["variable","fixed"],"description":"Requested delivery mode; fixed applies only to eligible exact_in onramps and is echoed when applied."},"slippageBps":{"type":"integer","minimum":0,"maximum":1000,"description":"Slippage tolerance in basis points, subject to the route minimum."},"refundAddress":{"type":"string","minLength":1,"description":"Lightning address or amountless BOLT11 refund invoice; unsupported values appear in ignoredFields, and pre-swap failures without a target report refund_address_missing."},"refundChain":{"allOf":[{"$ref":"#/components/schemas/Chain"},{"description":"Lightning refund chain, inferred when omitted; unsupported values appear in ignoredFields."}]},"appFees":{"type":"array","items":{"$ref":"#/components/schemas/OrchestrationAppFeeRequest"},"minItems":1,"maxItems":16,"description":"Inline app fees, requiring a server key or dashboard session."},"affiliateId":{"type":"string","description":"Registered affiliate ID for accrued fees, also accepted from client keys."},"affiliateIds":{"type":"array","items":{"$ref":"#/components/schemas/OrchestrationAffiliateIdEntry"},"minItems":1,"maxItems":16,"description":"Registered affiliate IDs or fee overrides; mutually exclusive with appFees, with overrides requiring a server key or dashboard session."}},"required":["destinationChain","destinationAsset","recipientAddress"],"description":"Unsupported top-level and refund fields are ignored and returned in ignoredFields.","allOf":[{"not":{"allOf":[{"properties":{"destinationAsset":{"const":"TON"}},"required":["destinationAsset"]},{"properties":{"destinationChain":{"not":{"const":"ton"}}},"required":["destinationChain"]}]}}]},"PaymentLinks":{"type":"object","properties":{"cashApp":{"type":"string","format":"uri"},"shortUrl":{"type":"string","format":"uri"}},"required":["cashApp"],"additionalProperties":false},"OrchestrationOnrampResponse":{"allOf":[{"$ref":"#/components/schemas/OrchestrationQuoteResponse"},{"type":"object","properties":{"orderId":{"type":"string"},"paymentLinks":{"$ref":"#/components/schemas/PaymentLinks"},"effectiveSlippageBps":{"type":"integer","description":"Slippage tolerance applied to the order, in basis points."},"ignoredFields":{"type":"array","items":{"type":"string"},"description":"Names of ignored request fields, including unsupported refundAddress or refundChain values."}},"required":["orderId"],"additionalProperties":false}]},"OrchestrationZeroconfAcceptRequest":{"type":"object","properties":{"orderId":{"type":"string","minLength":1}},"required":["orderId"],"description":"Unknown top-level fields are ignored rather than rejected."},"OrchestrationZeroconfDeclineRequest":{"type":"object","properties":{"orderId":{"type":"string","minLength":1},"reason":{"type":"string","minLength":1,"maxLength":300}},"required":["orderId"],"description":"Unknown top-level fields are ignored rather than rejected."},"QuoteSummary":{"type":"object","properties":{"id":{"type":"string"},"kind":{"type":"string"},"sourceChain":{"$ref":"#/components/schemas/Chain"},"sourceAsset":{"type":"string"},"destinationChain":{"$ref":"#/components/schemas/Chain"},"destinationAsset":{"type":"string"},"amountIn":{"type":"string"},"estimatedOut":{"type":"string"},"feeBps":{"type":"integer"},"feeAmount":{"type":"string"},"feeAsset":{"type":"string"},"feeAssetDetails":{"$ref":"#/components/schemas/PublicAssetDetails"},"feeAmountUsd":{"type":"string"},"roundingFeeAmount":{"type":"string"},"depositAddress":{"type":["string","null"]},"recipientAddress":{"type":"string"},"slippageBps":{"type":"integer"},"expiresAt":{"type":"string"},"expired":{"type":"boolean"},"createdAt":{"type":"string"}},"required":["id","kind","sourceChain","sourceAsset","destinationChain","destinationAsset","amountIn","estimatedOut","feeBps","feeAmount","roundingFeeAmount","depositAddress","recipientAddress","slippageBps","expiresAt","expired","createdAt"],"additionalProperties":false},"OrchestrationStatusResponse":{"type":"object","properties":{"order":{"$ref":"#/components/schemas/OperationRecord"},"stages":{"type":"array","items":{"$ref":"#/components/schemas/OperationStage"}}},"required":["order","stages"],"additionalProperties":false},"OrchestrationOrderResponse":{"type":"object","properties":{"quote":{"$ref":"#/components/schemas/QuoteSummary"},"order":{"allOf":[{"$ref":"#/components/schemas/OperationRecord"},{"type":["object","null"]}]},"stages":{"type":"array","items":{"$ref":"#/components/schemas/OperationStage"}}},"required":["quote","order","stages"],"additionalProperties":false},"OrchestrationHistoryResponse":{"type":"object","properties":{"orders":{"type":"array","items":{"$ref":"#/components/schemas/OperationRecord"}}},"required":["orders"],"additionalProperties":false},"AffiliateUpsertRequest":{"type":"object","properties":{"feeBps":{"type":"integer","minimum":1,"maximum":9999},"payoutChain":{"$ref":"#/components/schemas/Chain"},"payoutAsset":{"type":"string","minLength":1},"payoutAddress":{"type":"string","minLength":1,"description":"Affiliate payout address; sanctioned addresses are rejected."}},"required":["feeBps","payoutChain","payoutAsset","payoutAddress"],"additionalProperties":false},"AffiliateProfile":{"type":"object","properties":{"affiliateId":{"type":"string"},"feeBps":{"type":"integer","minimum":1,"maximum":9999},"payoutChain":{"allOf":[{"$ref":"#/components/schemas/Chain"},{"type":["string","null"]}]},"payoutAsset":{"type":["string","null"]},"payoutAddress":{"type":["string","null"]},"enabled":{"type":"boolean"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"disabledAt":{"type":["string","null"]}},"required":["affiliateId","feeBps","payoutChain","payoutAsset","payoutAddress","enabled","createdAt","updatedAt"],"additionalProperties":false},"AffiliateUpsertResponse":{"type":"object","properties":{"affiliate":{"$ref":"#/components/schemas/AffiliateProfile"}},"required":["affiliate"],"additionalProperties":false},"AffiliateListResponse":{"type":"object","properties":{"affiliates":{"type":"array","items":{"$ref":"#/components/schemas/AffiliateProfile"}}},"required":["affiliates"],"additionalProperties":false},"AffiliateClaim":{"type":"object","properties":{"id":{"type":"string"},"affiliateId":{"type":"string"},"amount":{"type":"string"},"settlementChain":{"type":"string"},"settlementAsset":{"type":"string"},"payoutChain":{"$ref":"#/components/schemas/Chain"},"payoutAsset":{"type":"string"},"payoutAddress":{"type":"string"},"status":{"type":"string","enum":["processing","completed","failed"]},"txHash":{"type":["string","null"]},"relayRequestId":{"type":["string","null"]},"operationId":{"type":["string","null"]},"errorMessage":{"type":["string","null"]},"nextAttemptAt":{"type":"string"},"attempts":{"type":"integer"},"createdAt":{"type":"string"},"completedAt":{"type":["string","null"]}},"required":["id","affiliateId","amount","settlementChain","settlementAsset","payoutChain","payoutAsset","payoutAddress","status","txHash","relayRequestId","operationId","errorMessage","nextAttemptAt","attempts","createdAt","completedAt"],"additionalProperties":false},"AffiliateClaimCreateRequest":{"type":"object","properties":{"settlementChain":{"type":"string","minLength":1},"settlementAsset":{"type":"string","minLength":1},"payoutChain":{"$ref":"#/components/schemas/Chain"},"payoutAsset":{"type":"string","minLength":1},"payoutAddress":{"type":"string","minLength":1,"description":"Server canonicalizes by trimming leading/trailing whitespace; case is preserved."}},"additionalProperties":false},"AffiliateClaimResponse":{"type":"object","properties":{"claim":{"$ref":"#/components/schemas/AffiliateClaim"}},"required":["claim"],"additionalProperties":false},"AffiliateClaimListResponse":{"type":"object","properties":{"claims":{"type":"array","items":{"$ref":"#/components/schemas/AffiliateClaim"}},"nextOffset":{"type":["integer","null"]}},"required":["claims","nextOffset"],"additionalProperties":false},"WebhookCreateRequest":{"type":"object","properties":{"url":{"type":"string","minLength":1,"description":"Server canonicalizes by trimming leading/trailing whitespace; case is preserved."}},"required":["url"],"description":"Unknown top-level fields are ignored rather than rejected."},"WebhookCreateResponse":{"type":"object","properties":{"webhookId":{"type":"string"},"secret":{"type":"string"}},"required":["webhookId","secret"],"additionalProperties":false},"WebhookEndpoint":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"enabled":{"type":"boolean"},"createdAt":{"type":"string"}},"required":["id","url","enabled","createdAt"],"additionalProperties":false},"WebhookListResponse":{"type":"object","properties":{"webhooks":{"type":"array","items":{"$ref":"#/components/schemas/WebhookEndpoint"}}},"required":["webhooks"],"additionalProperties":false},"LiquidationDestination":{"type":"object","properties":{"chain":{"$ref":"#/components/schemas/Chain"},"asset":{"type":"string"},"address":{"type":"string"}},"required":["chain","asset","address"],"additionalProperties":false},"AddressAppFee":{"type":"object","properties":{"affiliateId":{"type":"string"},"recipient":{"type":"string","minLength":1,"description":"Fee recipient address; sanctioned addresses are rejected."},"feeBps":{"type":"integer","minimum":1,"maximum":9999}},"required":["recipient","feeBps"],"additionalProperties":false},"LiquidationAddressCreateRequest":{"type":"object","properties":{"label":{"type":"string","maxLength":255,"pattern":"^[^\\x00-\\x1F\\x7F]*$"},"destinationChain":{"$ref":"#/components/schemas/Chain"},"destinationAsset":{"type":"string","minLength":1},"destinationAddress":{"type":"string","minLength":1,"description":"Server canonicalizes by trimming leading/trailing whitespace; case is preserved."},"slippageBps":{"type":"integer","minimum":0,"maximum":10000},"feeBps":{"type":"integer","minimum":0,"maximum":9999},"appFees":{"type":"array","items":{"$ref":"#/components/schemas/OrchestrationAppFeeRequest"},"minItems":1,"maxItems":16},"affiliateIds":{"type":"array","items":{"$ref":"#/components/schemas/OrchestrationAffiliateIdEntry"},"minItems":1,"maxItems":16,"description":"Registered affiliate IDs or fee overrides for each deposit; mutually exclusive with appFees, with overrides requiring a server key or dashboard session."}},"required":["destinationChain","destinationAddress"],"description":"Unknown top-level fields are ignored rather than rejected."},"LiquidationAddressRecord":{"type":"object","properties":{"liquidationAddressId":{"type":"string"},"label":{"type":"string"},"sparkAddress":{"type":"string"},"l1DepositAddress":{"type":"string"},"destination":{"$ref":"#/components/schemas/LiquidationDestination"},"feeBps":{"type":"integer"},"slippageBps":{"type":"integer"},"enabled":{"type":"boolean"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"disabledAt":{"type":["string","null"]},"appFees":{"type":"array","items":{"$ref":"#/components/schemas/AddressAppFee"}}},"required":["liquidationAddressId","label","sparkAddress","l1DepositAddress","destination","feeBps","slippageBps","enabled","createdAt"],"additionalProperties":false},"LiquidationAddressListResponse":{"type":"object","properties":{"liquidationAddresses":{"type":"array","items":{"$ref":"#/components/schemas/LiquidationAddressRecord"}}},"required":["liquidationAddresses"],"additionalProperties":false},"LiquidationOrdersResponse":{"type":"object","properties":{"orders":{"type":"array","items":{"$ref":"#/components/schemas/OperationRecord"}},"nextOffset":{"type":["integer","null"]}},"required":["orders","nextOffset"],"additionalProperties":false},"AccumulationDestinationAsset":{"type":"string","enum":["BTC","USDB"]},"AccumulationAddressSubscription":{"type":"object","properties":{"provider":{"type":"string"},"chain":{"type":"string"},"address":{"type":"string"},"status":{"type":"string","enum":["pending","active","failed"]},"lastError":{"type":["string","null"]},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["provider","chain","address","status","lastError","createdAt","updatedAt"],"additionalProperties":false},"AccumulationAddressRecord":{"type":"object","properties":{"accumulationAddressId":{"type":"string"},"label":{"type":"string"},"sourceChain":{"$ref":"#/components/schemas/Chain"},"sourceAsset":{"type":"string"},"destinationAsset":{"$ref":"#/components/schemas/AccumulationDestinationAsset"},"recipientSparkAddress":{"type":"string"},"feeBps":{"type":"integer"},"slippageBps":{"type":"integer"},"enabled":{"type":"boolean"},"depositAddress":{"type":["string","null"]},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"disabledAt":{"type":["string","null"]},"subscriptions":{"type":"array","items":{"$ref":"#/components/schemas/AccumulationAddressSubscription"}},"appFees":{"type":"array","items":{"$ref":"#/components/schemas/AddressAppFee"}}},"required":["accumulationAddressId","label","sourceChain","sourceAsset","destinationAsset","recipientSparkAddress","feeBps","slippageBps","enabled","depositAddress","createdAt"],"additionalProperties":false},"AccumulationAddressCreateRequest":{"type":"object","properties":{"label":{"type":"string","maxLength":255,"pattern":"^[^\\x00-\\x1F\\x7F]*$"},"sourceChain":{"$ref":"#/components/schemas/Chain"},"sourceAsset":{"type":"string","minLength":1},"destinationAsset":{"$ref":"#/components/schemas/AccumulationDestinationAsset"},"recipientSparkAddress":{"type":"string","minLength":1,"description":"Server canonicalizes by trimming leading/trailing whitespace; case is preserved."},"feeBps":{"type":"integer","minimum":0,"maximum":9999},"slippageBps":{"type":"integer","minimum":0,"maximum":10000},"appFees":{"type":"array","items":{"$ref":"#/components/schemas/OrchestrationAppFeeRequest"},"minItems":1,"maxItems":16,"description":"Inline fee recipients for each deposit, requiring a server key or dashboard session."},"affiliateId":{"type":"string","description":"Registered affiliate ID for fees on each deposit, also accepted from client keys."},"affiliateIds":{"type":"array","items":{"$ref":"#/components/schemas/OrchestrationAffiliateIdEntry"},"minItems":1,"maxItems":16,"description":"Registered affiliate IDs or fee overrides for each deposit; mutually exclusive with appFees, with overrides requiring a server key or dashboard session."}},"required":["sourceChain","sourceAsset","destinationAsset","recipientSparkAddress"],"description":"Unknown top-level fields are ignored rather than rejected."},"AccumulationAddressCreateResponse":{"allOf":[{"$ref":"#/components/schemas/AccumulationAddressRecord"},{"type":"object","properties":{},"additionalProperties":false}]},"AccumulationAddressGetResponse":{"allOf":[{"$ref":"#/components/schemas/AccumulationAddressRecord"},{"type":"object","properties":{},"required":["subscriptions"],"additionalProperties":false}]},"AccumulationAddressListResponse":{"type":"object","properties":{"accumulationAddresses":{"type":"array","items":{"$ref":"#/components/schemas/AccumulationAddressRecord"}}},"required":["accumulationAddresses"],"additionalProperties":false},"AccumulationAddressSyncError":{"type":"object","properties":{"provider":{"type":"string"},"error":{"type":"string"}},"required":["provider","error"],"additionalProperties":false},"AccumulationAddressSyncResponse":{"type":"object","properties":{"ok":{"type":"boolean"},"enabledCount":{"type":"integer"},"solanaAddressCount":{"type":"integer"},"errors":{"type":"array","items":{"$ref":"#/components/schemas/AccumulationAddressSyncError"}}},"required":["ok","enabledCount","solanaAddressCount","errors"],"additionalProperties":false},"AccumulationAddressReindexCurrency":{"type":"object","properties":{"currency":{"type":"string"},"symbol":{"type":"string"},"balance":{"type":"string"}},"required":["currency","symbol","balance"],"additionalProperties":false},"AccumulationAddressReindexResponse":{"type":"object","properties":{"ok":{"type":"boolean"},"accumulationAddressId":{"type":"string"},"sourceChain":{"$ref":"#/components/schemas/Chain"},"sourceAsset":{"type":"string"},"depositAddress":{"type":"string"},"relay":{"type":"object","properties":{"message":{"type":"string"},"triggeredCurrencies":{"type":"array","items":{"$ref":"#/components/schemas/AccumulationAddressReindexCurrency"}},"checkedCurrencies":{"type":"integer"},"failedCurrencies":{"type":"integer"}},"required":["message","triggeredCurrencies","checkedCurrencies","failedCurrencies"],"additionalProperties":false}},"required":["ok","accumulationAddressId","sourceChain","sourceAsset","depositAddress","relay"],"additionalProperties":false},"DashboardOperationsResponse":{"type":"object","properties":{"operations":{"type":"array","items":{"$ref":"#/components/schemas/DashboardOperationRecord"}},"nextOffset":{"type":["integer","null"]}},"required":["operations","nextOffset"],"additionalProperties":false},"DashboardOperationDetailResponse":{"type":"object","properties":{"operation":{"$ref":"#/components/schemas/DashboardOperationRecord"}},"required":["operation"],"additionalProperties":false},"AffiliateOrderDetail":{"type":"object","properties":{"operationId":{"type":"string"},"affiliateId":{"type":"string"},"feeBps":{"type":"integer"},"recipientAddress":{"type":"string"},"settlementChain":{"type":"string"},"settlementAsset":{"type":"string"},"amount":{"type":["string","null"]},"txHash":{"type":["string","null"]},"paidAt":{"type":["string","null"]},"createdAt":{"type":"string"},"sourceChain":{"allOf":[{"$ref":"#/components/schemas/Chain"},{"type":["string","null"]}]},"sourceAsset":{"type":["string","null"]},"destinationChain":{"allOf":[{"$ref":"#/components/schemas/Chain"},{"type":["string","null"]}]},"destinationAsset":{"type":["string","null"]},"amountIn":{"type":["string","null"]},"amountOut":{"type":["string","null"]},"operationStatus":{"type":["string","null"]}},"required":["operationId","affiliateId","feeBps","recipientAddress","settlementChain","settlementAsset","amount","txHash","paidAt","createdAt","sourceChain","sourceAsset","destinationChain","destinationAsset","amountIn","amountOut","operationStatus"],"additionalProperties":false},"AffiliateDashboardOrdersResponse":{"type":"object","properties":{"orders":{"type":"array","items":{"$ref":"#/components/schemas/AffiliateOrderDetail"}},"nextOffset":{"type":["integer","null"]}},"required":["orders","nextOffset"],"additionalProperties":false},"AffiliateActivityPoint":{"type":"object","properties":{"date":{"type":"string","description":"Bucket start, formatted per the response granularity"},"volumeUsd":{"type":"string","description":"USD volume of completed orders in the bucket"},"earnedAmount":{"type":"string","description":"Accrued affiliate fees in settlement smallest units"},"orderCount":{"type":"integer"}},"required":["date","volumeUsd","earnedAmount","orderCount"],"additionalProperties":false},"AffiliateDashboardMetricsResponse":{"type":"object","properties":{"metrics":{"type":"object","properties":{"volumeUsd":{"type":"string","description":"USD volume of completed orders in the range"},"earnedAmount":{"type":"string","description":"Accrued affiliate fees in settlement smallest units (USDC 6dp)"},"orderCount":{"type":"integer"},"completedCount":{"type":"integer"},"granularity":{"type":"string","description":"Series bucket size: hour or day"},"series":{"type":"array","items":{"$ref":"#/components/schemas/AffiliateActivityPoint"}}},"required":["volumeUsd","earnedAmount","orderCount","completedCount","granularity","series"],"additionalProperties":false}},"required":["metrics"],"additionalProperties":false},"StandingDepositAddress":{"type":"object","properties":{"standingAddressId":{"type":"string"},"addresses":{"type":"object","additionalProperties":{"type":"string"}},"enabled":{"type":"boolean"}},"required":["standingAddressId","addresses","enabled"]},"StandingDeposit":{"type":"object","properties":{"id":{"type":"string","description":"Deposit ID"},"chain":{"type":"string","description":"Deposit source chain"},"asset":{"type":"string","description":"Deposit asset"},"amount":{"type":"string","description":"Detected deposit amount in smallest units"},"sourceTxId":{"type":"string","description":"Source transaction ID"},"sourceTxIndex":{"type":["string","null"],"description":"Source output index, when applicable"},"senderAddress":{"type":["string","null"],"description":"Observed sender address"},"observedAt":{"type":"string","description":"Deposit observation timestamp"},"status":{"type":"string","description":"Deposit processing status"},"code":{"type":["string","null"],"description":"Deposit status code"},"batchId":{"type":["string","null"],"description":"Assigned batch ID"},"orderId":{"type":["string","null"],"description":"Linked order ID"},"quoteId":{"type":["string","null"],"description":"Linked quote ID"},"batchState":{"type":["string","null"],"description":"Assigned batch state"},"refundTxId":{"type":["string","null"],"description":"Refund transaction ID"},"zeroconfOffer":{"type":["object","null"],"properties":{"id":{"type":"string"},"status":{"type":"string","enum":["pending","accepted","declined","expired","superseded"]},"expiresAt":{"type":"string"},"depositSats":{"type":"string"},"feeSats":{"type":"string"},"creditSats":{"type":"string"}},"required":["id","status","expiresAt","depositSats","feeSats","creditSats"]}},"required":["id","chain","asset","amount","sourceTxId","sourceTxIndex","senderAddress","observedAt","status","code","batchId","orderId","quoteId","batchState","refundTxId","zeroconfOffer"]},"StandingDepositAddressRequest":{"type":"object","properties":{"destination":{"type":"object","properties":{"chain":{"type":"string","minLength":1},"asset":{"type":"string","minLength":1},"address":{"type":"string","minLength":1}},"required":["chain","asset","address"],"additionalProperties":false},"slippageBps":{"type":"integer","minimum":0,"maximum":10000,"default":50},"feeBps":{"type":"integer","minimum":0,"maximum":9999,"default":0},"affiliateIds":{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^[a-z0-9][a-z0-9_-]{0,63}$"},{"type":"object","properties":{"affiliateId":{"type":"string","pattern":"^[a-z0-9][a-z0-9_-]{0,63}$"},"feeBps":{"type":"integer","minimum":1,"maximum":9999}},"required":["affiliateId","feeBps"],"additionalProperties":false}]},"maxItems":16,"default":[]},"refundAddresses":{"type":"object","additionalProperties":{"type":"string","minLength":1},"default":{}}},"required":["destination"],"additionalProperties":false}},"parameters":{}},"paths":{"/v1/standing-deposit-addresses/{ref}":{"put":{"tags":["Standing Deposit Addresses"],"x-group":"Standing Deposit Addresses","security":[{"bearerAuth":[]}],"operationId":"registerStandingDepositAddress","summary":"Register standing address","description":"Create or fetch permanent addresses for an immutable instruction. Requires a server key.","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":128},"required":true,"name":"ref","in":"path"},{"schema":{"type":"string","minLength":1},"required":true,"name":"X-Idempotency-Key","in":"header"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandingDepositAddressRequest"},"example":{"destination":{"chain":"base","asset":"USDC","address":"RECIPIENT_ADDRESS"},"slippageBps":50}}}},"responses":{"200":{"description":"Permanent addresses and enabled state.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandingDepositAddress"}}}},"400":{"description":"Error with a stable error.code; foreign customers return not_found."},"401":{"description":"Error with a stable error.code; foreign customers return not_found."},"403":{"description":"Error with a stable error.code; foreign customers return not_found."},"404":{"description":"Error with a stable error.code; foreign customers return not_found."},"409":{"description":"Error with a stable error.code; foreign customers return not_found."},"503":{"description":"Error with a stable error.code; foreign customers return not_found."}}},"get":{"tags":["Standing Deposit Addresses"],"x-group":"Standing Deposit Addresses","security":[{"bearerAuth":[]}],"operationId":"getStandingDepositAddress","summary":"Get standing address","description":"Addresses and enabled state for a ref. Requires a server key.","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":128},"required":true,"name":"ref","in":"path"}],"responses":{"200":{"description":"Permanent addresses and enabled state.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandingDepositAddress"}}}},"400":{"description":"Error with a stable error.code; foreign customers return not_found."},"401":{"description":"Error with a stable error.code; foreign customers return not_found."},"403":{"description":"Error with a stable error.code; foreign customers return not_found."},"404":{"description":"Error with a stable error.code; foreign customers return not_found."},"409":{"description":"Error with a stable error.code; foreign customers return not_found."},"503":{"description":"Error with a stable error.code; foreign customers return not_found."}}},"patch":{"tags":["Standing Deposit Addresses"],"x-group":"Standing Deposit Addresses","security":[{"bearerAuth":[]}],"operationId":"updateStandingDepositAddress","summary":"Pause or resume conversion","description":"Pause or resume conversion while observation continues. Requires a server key.","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":128},"required":true,"name":"ref","in":"path"},{"schema":{"type":"string","minLength":1},"required":true,"name":"X-Idempotency-Key","in":"header"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"],"additionalProperties":false}}}},"responses":{"200":{"description":"Updated","content":{"application/json":{"schema":{"type":"object","properties":{"standingAddressId":{"type":"string"},"enabled":{"type":"boolean"}},"required":["standingAddressId","enabled"]}}}},"400":{"description":"Error with a stable error.code; foreign customers return not_found."},"401":{"description":"Error with a stable error.code; foreign customers return not_found."},"403":{"description":"Error with a stable error.code; foreign customers return not_found."},"404":{"description":"Error with a stable error.code; foreign customers return not_found."},"409":{"description":"Error with a stable error.code; foreign customers return not_found."},"503":{"description":"Error with a stable error.code; foreign customers return not_found."}}}},"/v1/standing-deposit-addresses/{ref}/deposits":{"get":{"tags":["Standing Deposit Addresses"],"x-group":"Standing Deposit Addresses","security":[{"bearerAuth":[]}],"operationId":"listStandingDeposits","summary":"List deposits","description":"Deposits observed on a ref, newest first. Requires a server key.","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":128},"required":true,"name":"ref","in":"path"},{"schema":{"type":"integer","minimum":1,"maximum":200},"required":false,"name":"limit","in":"query"},{"schema":{"type":"integer","minimum":0},"required":false,"name":"offset","in":"query"}],"responses":{"200":{"description":"Observed deposits and their order linkage.","content":{"application/json":{"schema":{"type":"object","properties":{"deposits":{"type":"array","items":{"$ref":"#/components/schemas/StandingDeposit"}},"nextOffset":{"type":["number","null"]}},"required":["deposits","nextOffset"]}}}},"400":{"description":"Error with a stable error.code; foreign customers return not_found."},"401":{"description":"Error with a stable error.code; foreign customers return not_found."},"403":{"description":"Error with a stable error.code; foreign customers return not_found."},"404":{"description":"Error with a stable error.code; foreign customers return not_found."},"409":{"description":"Error with a stable error.code; foreign customers return not_found."},"503":{"description":"Error with a stable error.code; foreign customers return not_found."}}}},"/v1/standing-deposit-addresses/{ref}/deposits/{depositId}/zeroconf/accept":{"post":{"tags":["Standing Deposit Addresses"],"x-group":"Standing Deposit Addresses","security":[{"bearerAuth":[]}],"operationId":"acceptStandingDepositZeroconfOffer","summary":"Accept deposit ZeroConf offer","description":"Record the Bitcoin deposit ZeroConf decision; conflicting or stale decisions return standing_zeroconf_offer_conflict. Requires a server key.","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":128},"required":true,"name":"ref","in":"path"},{"schema":{"type":"string","minLength":1},"required":true,"name":"depositId","in":"path"},{"schema":{"type":"string","minLength":1},"required":true,"name":"X-Idempotency-Key","in":"header"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"offerId":{"type":"string","minLength":1,"maxLength":128}},"required":["offerId"],"additionalProperties":false}}}},"responses":{"202":{"description":"Decision persisted; execution is asynchronous","content":{"application/json":{"schema":{"type":"object","properties":{"deposit":{"$ref":"#/components/schemas/StandingDeposit"}},"required":["deposit"]}}}},"400":{"description":"Error with a stable error.code; foreign customers return not_found."},"401":{"description":"Error with a stable error.code; foreign customers return not_found."},"403":{"description":"Error with a stable error.code; foreign customers return not_found."},"404":{"description":"Error with a stable error.code; foreign customers return not_found."},"409":{"description":"Error with a stable error.code; foreign customers return not_found."},"503":{"description":"Error with a stable error.code; foreign customers return not_found."}}}},"/v1/standing-deposit-addresses/{ref}/deposits/{depositId}/zeroconf/decline":{"post":{"tags":["Standing Deposit Addresses"],"x-group":"Standing Deposit Addresses","security":[{"bearerAuth":[]}],"operationId":"declineStandingDepositZeroconfOffer","summary":"Decline deposit ZeroConf offer","description":"Record the Bitcoin deposit ZeroConf decision; conflicting or stale decisions return standing_zeroconf_offer_conflict. Requires a server key.","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":128},"required":true,"name":"ref","in":"path"},{"schema":{"type":"string","minLength":1},"required":true,"name":"depositId","in":"path"},{"schema":{"type":"string","minLength":1},"required":true,"name":"X-Idempotency-Key","in":"header"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"offerId":{"type":"string","minLength":1,"maxLength":128}},"required":["offerId"],"additionalProperties":false}}}},"responses":{"200":{"description":"Decision persisted; execution is asynchronous","content":{"application/json":{"schema":{"type":"object","properties":{"deposit":{"$ref":"#/components/schemas/StandingDeposit"}},"required":["deposit"]}}}},"400":{"description":"Error with a stable error.code; foreign customers return not_found."},"401":{"description":"Error with a stable error.code; foreign customers return not_found."},"403":{"description":"Error with a stable error.code; foreign customers return not_found."},"404":{"description":"Error with a stable error.code; foreign customers return not_found."},"409":{"description":"Error with a stable error.code; foreign customers return not_found."},"503":{"description":"Error with a stable error.code; foreign customers return not_found."}}}},"/v1/standing-deposit-addresses/{ref}/resolve":{"post":{"tags":["Standing Deposit Addresses"],"x-group":"Standing Deposit Addresses","security":[{"bearerAuth":[]}],"operationId":"requestStandingDepositRefund","summary":"Request deposit refund","description":"Return held deposits to a partner-supplied refund address after asynchronous eligibility checks. Requires a server key.","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":128},"required":true,"name":"ref","in":"path"},{"schema":{"type":"string","minLength":1},"required":true,"name":"X-Idempotency-Key","in":"header"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"batchId":{"type":"string","minLength":1},"refundAddress":{"type":"string","minLength":1}},"required":["batchId","refundAddress"],"additionalProperties":false},{"type":"object","properties":{"depositIds":{"type":"array","items":{"type":"string","minLength":1},"minItems":1,"maxItems":200},"refundAddress":{"type":"string","minLength":1}},"required":["depositIds","refundAddress"],"additionalProperties":false}]}}}},"responses":{"202":{"description":"Return target recorded","content":{"application/json":{"schema":{"type":"object","properties":{"batchId":{"type":"string"},"status":{"type":"string","enum":["refund_requested"]}},"required":["batchId","status"]}}}},"400":{"description":"Error with a stable error.code; foreign customers return not_found."},"401":{"description":"Error with a stable error.code; foreign customers return not_found."},"403":{"description":"Error with a stable error.code; foreign customers return not_found."},"404":{"description":"Error with a stable error.code; foreign customers return not_found."},"409":{"description":"Error with a stable error.code; foreign customers return not_found."},"503":{"description":"Error with a stable error.code; foreign customers return not_found."}}}},"/healthz":{"get":{"summary":"Check health","x-excluded":true,"description":"API and database availability. Public.","operationId":"getHealthz","security":[],"tags":["System"],"x-group":"System","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthzResponse"}}}},"413":{"description":"Request body exceeds maximum size","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"503":{"description":"Database unreachable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthzUnavailableResponse"}}}}}}},"/livez":{"get":{"summary":"Check liveness","x-excluded":true,"description":"API and worker availability. Public.","operationId":"getLivez","security":[],"tags":["System"],"x-group":"System","responses":{"200":{"description":"API and worker reachable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LivezResponse"}}}},"413":{"description":"Request body exceeds maximum size","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"503":{"description":"Worker TEE unreachable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LivezUnavailableResponse"}}}}}}},"/v1/orchestration/routes":{"get":{"summary":"List routes (v1)","description":"Older routes shape, superseded by GET /v2/orchestration/routes. Public. Still served for existing integrations.","deprecated":true,"x-hidden":true,"operationId":"getV1OrchestrationRoutes","security":[{},{"bearerAuth":[]}],"tags":["Orchestration"],"x-group":"Orchestration","responses":{"200":{"description":"Supported public route pairs","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrchestrationRoutesResponse"},"examples":{"success":{"summary":"Bitcoin to Solana USDC route","value":{"routes":[{"sourceChain":"bitcoin","sourceAsset":"BTC","destinationChain":"solana","destinationAsset":"USDC","exactOutEligible":false,"fixedEligible":false,"source":{"chain":"bitcoin","asset":"BTC","assetDisplayName":"Bitcoin","assetDisplaySymbol":"BTC","contractAddress":null,"decimals":8,"chainId":null,"chainDisplayName":"Bitcoin","chainIcon":"/btc.svg"},"destination":{"chain":"solana","asset":"USDC","assetDisplayName":"USDC","assetDisplaySymbol":"USDC","contractAddress":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","decimals":6,"chainId":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","chainDisplayName":"Solana","chainIcon":"/chain-solana.svg"}}]}}}}}}}}},"/v2/orchestration/routes":{"get":{"summary":"List routes","description":"Every asset and the destinations it can reach. Public.","operationId":"getV2OrchestrationRoutes","security":[{},{"bearerAuth":[]}],"tags":["Orchestration"],"x-group":"Orchestration","responses":{"200":{"description":"Compact public route assets","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrchestrationRoutesV2Response"},"examples":{"success":{"summary":"Bitcoin to Solana USDC discovery","value":{"assets":[{"id":"bitcoin:BTC","chain":"bitcoin","asset":"BTC","assetDisplayName":"Bitcoin","assetDisplaySymbol":"BTC","contractAddress":null,"decimals":8,"chainId":null,"chainDisplayName":"Bitcoin","chainIcon":"/btc.svg","route":{"to":"all","exactOutTo":[],"fixedTo":[]}},{"id":"solana:USDC","chain":"solana","asset":"USDC","assetDisplayName":"USDC","assetDisplaySymbol":"USDC","contractAddress":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","decimals":6,"chainId":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","chainDisplayName":"Solana","chainIcon":"/chain-solana.svg","route":{"to":[],"exactOutTo":[],"fixedTo":[]}}]}}}}}},"401":{"description":"Invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Partner account or client-key origin not permitted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited (`rate_limited`). X-RateLimit-Reset is an absolute epoch time in milliseconds; the IP limiter does not send Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/orchestration/limits":{"get":{"summary":"Get route limits","description":"Amount bounds per route; pass filters to narrow results. Public.","operationId":"getV1OrchestrationLimits","security":[{},{"bearerAuth":[]}],"tags":["Orchestration"],"x-group":"Orchestration","parameters":[{"schema":{"$ref":"#/components/schemas/Chain"},"required":false,"name":"sourceChain","in":"query"},{"schema":{"$ref":"#/components/schemas/AssetInput"},"required":false,"description":"TON is a legacy input alias for ton:GRAM only; responses use GRAM.","name":"sourceAsset","in":"query"},{"schema":{"$ref":"#/components/schemas/Chain"},"required":false,"name":"destinationChain","in":"query"},{"schema":{"$ref":"#/components/schemas/AssetInput"},"required":false,"description":"TON is a legacy input alias for ton:GRAM only; responses use GRAM.","name":"destinationAsset","in":"query"}],"responses":{"200":{"description":"Supported route limits and deterministic route constraints","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrchestrationLimitsResponse"},"examples":{"success":{"summary":"Illustrative route limits","value":{"generatedAt":"2026-09-12T12:00:00.000Z","routes":[{"sourceChain":"bitcoin","sourceAsset":"BTC","destinationChain":"solana","destinationAsset":"USDC","exactOutEligible":false,"fixedEligible":false,"source":{"chain":"bitcoin","asset":"BTC","assetDisplayName":"Bitcoin","assetDisplaySymbol":"BTC","contractAddress":null,"decimals":8,"chainId":null,"chainDisplayName":"Bitcoin","chainIcon":"/btc.svg"},"destination":{"chain":"solana","asset":"USDC","assetDisplayName":"USDC","assetDisplaySymbol":"USDC","contractAddress":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","decimals":6,"chainId":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","chainDisplayName":"Solana","chainIcon":"/chain-solana.svg"},"direction":"sell","limits":{"orderNotionalUsd":{"minCents":"1000","maxCents":"1000000","source":"runtime_order_bounds"},"exactIn":{"supported":true,"requestAmount":{"leg":"source","chain":"bitcoin","asset":"BTC","minAmountSmallest":null,"maxAmountSmallest":null,"minUsdCents":"1000","maxUsdCents":"1000000"},"constraints":["order_notional_usd"]},"exactOut":{"supported":false,"requestAmount":null,"constraints":[]},"fiatUsd":null,"dynamicProviderLimits":{"possible":false,"components":[],"description":null},"constraints":[{"id":"order_notional_usd","amountMode":"all","leg":"route","source":"runtime_order_bounds","description":"Runtime USD notional bounds","chain":null,"asset":null,"minAmountSmallest":null,"maxAmountSmallest":null,"minUsdCents":"1000","maxUsdCents":"1000000"}]}}]}}}}}}}}},"/v1/explorer/operations":{"get":{"summary":"List explorer operations","description":"Redacted order lookup by exact order or transaction id. Public.","x-excluded":true,"operationId":"getV1ExplorerOperations","security":[],"tags":["Explorer"],"x-group":"Explorer","parameters":[{"schema":{"type":"string","minLength":1,"description":"Exact order id or transaction id. Address and filter lookups are rejected."},"required":true,"description":"Exact order id or transaction id. Address and filter lookups are rejected.","name":"q","in":"query"}],"responses":{"200":{"description":"Public operation lookup result","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicExplorerOperationsResponse"}}}},"400":{"description":"Missing or invalid identifier","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Operation not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Identifier matches multiple operations","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/explorer/operations/{id}":{"get":{"summary":"Get explorer operation","description":"One public explorer record by id.","x-excluded":true,"operationId":"getV1ExplorerOperationsId","security":[],"tags":["Explorer"],"x-group":"Explorer","parameters":[{"schema":{"type":"string","description":"Exact `ord_...` operation id."},"required":true,"description":"Exact `ord_...` operation id.","name":"id","in":"path"}],"responses":{"200":{"description":"Public operation detail","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicExplorerOperationDetailResponse"}}}},"400":{"description":"Invalid operation id","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Operation not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/orchestration/estimate":{"get":{"summary":"Estimate a swap","description":"Indicative price for a route, no state created. Public.","operationId":"getV1OrchestrationEstimate","security":[{},{"bearerAuth":[]}],"tags":["Orchestration"],"x-group":"Orchestration","parameters":[{"schema":{"$ref":"#/components/schemas/Chain"},"required":true,"name":"sourceChain","in":"query"},{"schema":{"$ref":"#/components/schemas/AssetInput"},"required":true,"description":"TON is a legacy input alias for ton:GRAM only; responses use GRAM.","name":"sourceAsset","in":"query"},{"schema":{"$ref":"#/components/schemas/Chain"},"required":true,"name":"destinationChain","in":"query"},{"schema":{"$ref":"#/components/schemas/AssetInput"},"required":true,"description":"TON is a legacy input alias for ton:GRAM only; responses use GRAM.","name":"destinationAsset","in":"query"},{"schema":{"type":"string","pattern":"^[0-9]+$"},"required":true,"name":"amount","in":"query"},{"schema":{"type":"string","enum":["exact_in","exact_out"]},"required":false,"name":"amountMode","in":"query"},{"schema":{"type":"string","enum":["variable","fixed"],"description":"Delivery mode; read fixed-delivery destinations from /v2/orchestration/routes."},"required":false,"description":"Delivery mode; read fixed-delivery destinations from /v2/orchestration/routes.","name":"deliveryMode","in":"query"},{"schema":{"type":"string","minLength":1,"description":"Destination recipient for validation and network costs; use the owner address for Solana tokens."},"required":false,"description":"Destination recipient for validation and network costs; use the owner address for Solana tokens.","name":"recipientAddress","in":"query"},{"schema":{"type":"integer","minimum":0,"maximum":1000},"required":false,"name":"slippageBps","in":"query"}],"responses":{"200":{"description":"Quote estimate","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrchestrationEstimateResponse"},"examples":{"success":{"summary":"Estimate for 100000 sats","value":{"amountMode":"exact_in","estimatedOut":"99000000","feeAmount":"500000","roundingFeeAmount":"0","totalFeeAmount":"500000","feeBps":50,"feeAsset":"USDC","route":["BTC","USDB","USDC"],"source":{"chain":"bitcoin","asset":"BTC","assetDisplayName":"Bitcoin","assetDisplaySymbol":"BTC","contractAddress":null,"decimals":8,"chainId":null,"chainDisplayName":"Bitcoin","chainIcon":"/btc.svg"},"destination":{"chain":"solana","asset":"USDC","assetDisplayName":"USDC","assetDisplaySymbol":"USDC","contractAddress":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","decimals":6,"chainId":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","chainDisplayName":"Solana","chainIcon":"/chain-solana.svg"}}}}}}},"400":{"description":"Invalid request or unsupported route","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Sanctioned address or cached screening block","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited (`rate_limited`); see the [rate-limits guide](/api/rate-limits). Retry after Retry-After seconds when present (per-key limiter only), otherwise at X-RateLimit-Reset, an absolute epoch timestamp in milliseconds; both limiters also return X-RateLimit-Limit and X-RateLimit-Remaining.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/orchestration/quote":{"post":{"summary":"Create quote","description":"Firm price for 2 minutes plus a deposit address. Paying the address creates the order.","operationId":"postV1OrchestrationQuote","security":[{"bearerAuth":[]}],"tags":["Orchestration"],"x-group":"Orchestration","parameters":[{"schema":{"type":"string","minLength":1},"required":true,"name":"X-Idempotency-Key","in":"header"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrchestrationQuoteRequest"},"example":{"sourceChain":"base","sourceAsset":"USDC","destinationChain":"spark","destinationAsset":"BTC","amount":"50000000","recipientAddress":"RECIPIENT_ADDRESS"}}}},"responses":{"200":{"description":"Quote created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrchestrationQuoteResponse"},"examples":{"success":{"summary":"Bitcoin deposit quote","value":{"amountMode":"exact_in","estimatedOut":"99000000","feeAmount":"500000","roundingFeeAmount":"0","totalFeeAmount":"500000","feeBps":50,"feeAsset":"USDC","route":["BTC","USDB","USDC"],"quoteId":"q_7e450ab4-935b-4f8d-a6c4-4987a3cd2831","depositAddress":"bc1qxy2kgdygjrsqtzq2n0yrf2493p83kkfjhx0wlh","amountIn":"100000","expiresAt":"2026-09-12T12:02:00.000Z"}}}}}},"400":{"description":"Invalid request or unsupported route","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Idempotency conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited (`rate_limited`); see the [rate-limits guide](/api/rate-limits). Retry after Retry-After seconds when present (per-key limiter only), otherwise at X-RateLimit-Reset, an absolute epoch timestamp in milliseconds; both limiters also return X-RateLimit-Limit and X-RateLimit-Remaining.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/orchestration/submit":{"post":{"summary":"Submit deposit proof","description":"Attach a deposit transaction to a quote when automatic detection missed it. Returns the existing order if one exists.","operationId":"postV1OrchestrationSubmit","security":[{"bearerAuth":[]}],"tags":["Orchestration"],"x-group":"Orchestration","parameters":[{"schema":{"type":"string","minLength":1},"required":true,"name":"X-Idempotency-Key","in":"header"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrchestrationSubmitRequest"}}}},"responses":{"200":{"description":"Order created or replayed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrchestrationSubmitResponse"},"examples":{"success":{"summary":"Deposit awaiting confirmation","value":{"orderId":"ord_b91bbf90-42dc-4fe3-9b15-1d2c7e19cce6","status":"confirming"}}}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited (`rate_limited`); see the [rate-limits guide](/api/rate-limits). Retry after Retry-After seconds when present (per-key limiter only), otherwise at X-RateLimit-Reset, an absolute epoch timestamp in milliseconds; both limiters also return X-RateLimit-Limit and X-RateLimit-Remaining.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/orchestration/onramp":{"post":{"summary":"Create onramp order","description":"Quote and order in one call for a Lightning payment into any destination.","operationId":"postV1OrchestrationOnramp","security":[{"bearerAuth":[]}],"tags":["Orchestration"],"x-group":"Orchestration","parameters":[{"schema":{"type":"string","minLength":1},"required":true,"name":"X-Idempotency-Key","in":"header"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrchestrationOnrampRequest"},"example":{"destinationChain":"spark","destinationAsset":"USDB","recipientAddress":"RECIPIENT_ADDRESS","amountFiatUsd":"50.00"}}}},"responses":{"200":{"description":"Quote and order created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrchestrationOnrampResponse"},"examples":{"success":{"summary":"Lightning onramp order","value":{"amountMode":"exact_in","estimatedOut":"99000000","feeAmount":"500000","roundingFeeAmount":"0","totalFeeAmount":"500000","feeBps":50,"feeAsset":"USDC","route":["BTC","USDB","USDC"],"quoteId":"q_7e450ab4-935b-4f8d-a6c4-4987a3cd2831","depositAddress":"lnbc1pvjluezsp5zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zygspp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdpl2pkx2ctnv5sxxmmwwd5kgetjypeh2ursdae8g6twvus8g6rfwvs8qun0dfjkxaq9qrsgq357wnc5r2ueh7ck6q93dj32dlqnls087fxdwk8qakdyafkq3yap9us6v52vjjsrvywa6rt52cm9r9zqt8r2t7mlcwspyetp5h2tztugp9lfyql","amountIn":"100000","expiresAt":"2026-09-12T12:02:00.000Z","orderId":"ord_b91bbf90-42dc-4fe3-9b15-1d2c7e19cce6","paymentLinks":{"cashApp":"https://cash.app/launch/lightning/lnbc1pvjluezsp5zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zygspp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdpl2pkx2ctnv5sxxmmwwd5kgetjypeh2ursdae8g6twvus8g6rfwvs8qun0dfjkxaq9qrsgq357wnc5r2ueh7ck6q93dj32dlqnls087fxdwk8qakdyafkq3yap9us6v52vjjsrvywa6rt52cm9r9zqt8r2t7mlcwspyetp5h2tztugp9lfyql"},"effectiveSlippageBps":1000}}}}}},"400":{"description":"Invalid request or unsupported route","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited (`rate_limited`); see the [rate-limits guide](/api/rate-limits). Retry after Retry-After seconds when present (per-key limiter only), otherwise at X-RateLimit-Reset, an absolute epoch timestamp in milliseconds; both limiters also return X-RateLimit-Limit and X-RateLimit-Remaining.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/orchestration/zeroconf/accept":{"post":{"summary":"Accept ZeroConf offer","description":"Accept a pending ZeroConf offer and credit the deposit before confirmation.","operationId":"postV1OrchestrationZeroconfAccept","security":[{"bearerAuth":[]}],"tags":["Orchestration"],"x-group":"Orchestration","parameters":[{"schema":{"type":"string","minLength":1},"required":true,"name":"X-Idempotency-Key","in":"header"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrchestrationZeroconfAcceptRequest"}}}},"responses":{"200":{"description":"0-conf offer accepted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrchestrationSubmitResponse"},"examples":{"success":{"summary":"Accepted offer resumes processing","value":{"orderId":"ord_b91bbf90-42dc-4fe3-9b15-1d2c7e19cce6","status":"processing"}}}}}},"400":{"description":"Invalid request or state","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/orchestration/zeroconf/decline":{"post":{"summary":"Decline ZeroConf offer","description":"Decline a pending ZeroConf offer and wait for one confirmation.","operationId":"postV1OrchestrationZeroconfDecline","security":[{"bearerAuth":[]}],"tags":["Orchestration"],"x-group":"Orchestration","parameters":[{"schema":{"type":"string","minLength":1},"required":true,"name":"X-Idempotency-Key","in":"header"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrchestrationZeroconfDeclineRequest"}}}},"responses":{"200":{"description":"0-conf offer declined","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrchestrationSubmitResponse"},"examples":{"success":{"summary":"Declined offer waits for confirmation","value":{"orderId":"ord_b91bbf90-42dc-4fe3-9b15-1d2c7e19cce6","status":"confirming"}}}}}},"400":{"description":"Invalid request or state","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/orchestration/status":{"get":{"summary":"Get order status","description":"Authenticated order state by exactly one of id, quoteId, or txHash; client keys require id or quoteId with a matching read token.","operationId":"getV1OrchestrationStatus","security":[{"bearerAuth":[]}],"tags":["Orchestration"],"x-group":"Orchestration","parameters":[{"schema":{"type":"string"},"required":false,"name":"id","in":"query"},{"schema":{"type":"string"},"required":false,"name":"quoteId","in":"query"},{"schema":{"type":"string"},"required":false,"name":"txHash","in":"query"},{"schema":{"$ref":"#/components/schemas/Chain"},"required":false,"name":"sourceChain","in":"query"},{"schema":{"type":"string","description":"Matching read token for client-key lookups by `id` or `quoteId`."},"required":false,"description":"Matching read token for client-key lookups by `id` or `quoteId`.","name":"readToken","in":"query"}],"responses":{"200":{"description":"Order status","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrchestrationStatusResponse"},"examples":{"success":{"summary":"Completed order","value":{"order":{"id":"ord_b91bbf90-42dc-4fe3-9b15-1d2c7e19cce6","type":"order","quoteId":"q_7e450ab4-935b-4f8d-a6c4-4987a3cd2831","status":"completed","sourceChain":"bitcoin","sourceAsset":"BTC","destinationChain":"solana","destinationAsset":"USDC","depositAddress":"bc1qxy2kgdygjrsqtzq2n0yrf2493p83kkfjhx0wlh","recipientAddress":"7EcDhSYGxXyscszYEp35KHN8vvw3svAuLKTzXwCFLtV","amountIn":"100000","amountOut":"99000000","feeAmount":"500000","feeAsset":"USDC","feeBps":50,"slippageBps":100,"createdAt":"2026-09-12T12:00:00.000Z","updatedAt":"2026-09-12T12:04:00.000Z","completedAt":"2026-09-12T12:04:00.000Z"},"stages":[{"name":"completed","status":"completed","completedAt":"2026-09-12T12:04:00.000Z"}]}}}}}},"400":{"description":"Invalid query","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited (`rate_limited`); see the [rate-limits guide](/api/rate-limits). Retry after Retry-After seconds when present (per-key limiter only), otherwise at X-RateLimit-Reset, an absolute epoch timestamp in milliseconds; both limiters also return X-RateLimit-Limit and X-RateLimit-Remaining.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/orchestration/order":{"get":{"summary":"Get quote and order","description":"Quote and its order, or null while the deposit is awaited. Server key.","operationId":"getV1OrchestrationOrder","security":[{"bearerAuth":[]}],"tags":["Orchestration"],"x-group":"Orchestration","parameters":[{"schema":{"type":"string","minLength":1},"required":true,"name":"quoteId","in":"query"}],"responses":{"200":{"description":"Quote plus associated order","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrchestrationOrderResponse"},"examples":{"success":{"summary":"Quote and completed order","value":{"quote":{"id":"q_7e450ab4-935b-4f8d-a6c4-4987a3cd2831","kind":"sell","sourceChain":"bitcoin","sourceAsset":"BTC","destinationChain":"solana","destinationAsset":"USDC","amountIn":"100000","estimatedOut":"99000000","feeBps":50,"feeAmount":"500000","feeAsset":"USDC","roundingFeeAmount":"0","depositAddress":"bc1qxy2kgdygjrsqtzq2n0yrf2493p83kkfjhx0wlh","recipientAddress":"7EcDhSYGxXyscszYEp35KHN8vvw3svAuLKTzXwCFLtV","slippageBps":100,"expiresAt":"2026-09-12T12:02:00.000Z","expired":true,"createdAt":"2026-09-12T12:00:00.000Z"},"order":{"id":"ord_b91bbf90-42dc-4fe3-9b15-1d2c7e19cce6","type":"order","quoteId":"q_7e450ab4-935b-4f8d-a6c4-4987a3cd2831","status":"completed","sourceChain":"bitcoin","sourceAsset":"BTC","destinationChain":"solana","destinationAsset":"USDC","depositAddress":"bc1qxy2kgdygjrsqtzq2n0yrf2493p83kkfjhx0wlh","recipientAddress":"7EcDhSYGxXyscszYEp35KHN8vvw3svAuLKTzXwCFLtV","amountIn":"100000","amountOut":"99000000","feeAmount":"500000","feeAsset":"USDC","feeBps":50,"slippageBps":100,"createdAt":"2026-09-12T12:00:00.000Z","updatedAt":"2026-09-12T12:04:00.000Z","completedAt":"2026-09-12T12:04:00.000Z"},"stages":[{"name":"completed","status":"completed","completedAt":"2026-09-12T12:04:00.000Z"}]}}}}}},"400":{"description":"Invalid query","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited (`rate_limited`); see the [rate-limits guide](/api/rate-limits). Retry after Retry-After seconds when present (per-key limiter only), otherwise at X-RateLimit-Reset, an absolute epoch timestamp in milliseconds; both limiters also return X-RateLimit-Limit and X-RateLimit-Remaining.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/orchestration/history":{"get":{"summary":"List order history","description":"Orders for a recipient address. Server key.","operationId":"getV1OrchestrationHistory","security":[{"bearerAuth":[]}],"tags":["Orchestration"],"x-group":"Orchestration","parameters":[{"schema":{"type":"string","minLength":1},"required":true,"name":"address","in":"query"},{"schema":{"type":"string"},"required":false,"name":"status","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":200},"required":false,"name":"limit","in":"query"},{"schema":{"type":"integer","minimum":0},"required":false,"name":"offset","in":"query"}],"responses":{"200":{"description":"Order history","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrchestrationHistoryResponse"},"examples":{"success":{"summary":"Recipient order history","value":{"orders":[{"id":"ord_b91bbf90-42dc-4fe3-9b15-1d2c7e19cce6","type":"order","quoteId":"q_7e450ab4-935b-4f8d-a6c4-4987a3cd2831","status":"completed","sourceChain":"bitcoin","sourceAsset":"BTC","destinationChain":"solana","destinationAsset":"USDC","depositAddress":"bc1qxy2kgdygjrsqtzq2n0yrf2493p83kkfjhx0wlh","recipientAddress":"7EcDhSYGxXyscszYEp35KHN8vvw3svAuLKTzXwCFLtV","amountIn":"100000","amountOut":"99000000","feeAmount":"500000","feeAsset":"USDC","feeBps":50,"slippageBps":100,"createdAt":"2026-09-12T12:00:00.000Z","updatedAt":"2026-09-12T12:04:00.000Z","completedAt":"2026-09-12T12:04:00.000Z"}]}}}}}},"400":{"description":"Invalid query","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/accumulation-addresses":{"post":{"summary":"Create accumulation address","description":"Legacy address model; new integrations use standing deposit addresses. Create accumulation address.","deprecated":true,"operationId":"postV1AccumulationAddresses","security":[{"bearerAuth":[]}],"tags":["Accumulation Addresses"],"x-group":"Accumulation Addresses","parameters":[{"schema":{"type":"string","minLength":1},"required":true,"name":"X-Idempotency-Key","in":"header"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccumulationAddressCreateRequest"}}}},"responses":{"200":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccumulationAddressCreateResponse"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"get":{"summary":"List accumulation addresses","description":"Legacy address model; new integrations use standing deposit addresses. List accumulation addresses.","deprecated":true,"operationId":"getV1AccumulationAddresses","security":[{"bearerAuth":[]}],"tags":["Accumulation Addresses"],"x-group":"Accumulation Addresses","parameters":[{"schema":{"type":"integer","minimum":1,"maximum":200},"required":false,"name":"limit","in":"query"},{"schema":{"type":"integer","minimum":0},"required":false,"name":"offset","in":"query"}],"responses":{"200":{"description":"List","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccumulationAddressListResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/accumulation-addresses/{idOrAddress}/reindex":{"post":{"summary":"Reindex accumulation address","description":"Legacy address model; new integrations use standing deposit addresses. Reindex accumulation address.","deprecated":true,"operationId":"postV1AccumulationAddressesIdOrAddressReindex","security":[{"bearerAuth":[]}],"tags":["Accumulation Addresses"],"x-group":"Accumulation Addresses","parameters":[{"schema":{"type":"string","minLength":1,"description":"Deposit address or accumulation address ID."},"required":true,"description":"Deposit address or accumulation address ID.","name":"idOrAddress","in":"path"},{"schema":{"type":"string","minLength":1},"required":true,"name":"X-Idempotency-Key","in":"header"}],"responses":{"200":{"description":"Reindex result","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccumulationAddressReindexResponse"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Upstream service unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"503":{"description":"Upstream service unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/accumulation-addresses/sync":{"post":{"summary":"Sync accumulation webhooks","description":"Legacy address model; new integrations use standing deposit addresses. Sync accumulation webhooks.","deprecated":true,"operationId":"postV1AccumulationAddressesSync","security":[{"bearerAuth":[]}],"tags":["Accumulation Addresses"],"x-group":"Accumulation Addresses","parameters":[{"schema":{"type":"string","minLength":1},"required":true,"name":"X-Idempotency-Key","in":"header"}],"responses":{"200":{"description":"Sync result","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccumulationAddressSyncResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/accumulation-addresses/{id}":{"get":{"summary":"Get accumulation address","description":"Legacy address model; new integrations use standing deposit addresses. Get accumulation address.","deprecated":true,"operationId":"getV1AccumulationAddressesId","security":[{"bearerAuth":[]}],"tags":["Accumulation Addresses"],"x-group":"Accumulation Addresses","parameters":[{"schema":{"type":"string","minLength":1},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"Record","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccumulationAddressGetResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"delete":{"summary":"Delete accumulation address","description":"Legacy address model; new integrations use standing deposit addresses. Delete accumulation address.","deprecated":true,"operationId":"deleteV1AccumulationAddressesId","security":[{"bearerAuth":[]}],"tags":["Accumulation Addresses"],"x-group":"Accumulation Addresses","parameters":[{"schema":{"type":"string","minLength":1},"required":true,"name":"id","in":"path"},{"schema":{"type":"string","minLength":1},"required":true,"name":"X-Idempotency-Key","in":"header"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/liquidation-addresses":{"post":{"summary":"Create liquidation address","description":"Legacy address model; new integrations use standing deposit addresses. Create liquidation address.","deprecated":true,"operationId":"postV1LiquidationAddresses","security":[{"bearerAuth":[]}],"tags":["Liquidations"],"x-group":"Liquidations","parameters":[{"schema":{"type":"string","minLength":1},"required":true,"name":"X-Idempotency-Key","in":"header"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LiquidationAddressCreateRequest"}}}},"responses":{"200":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LiquidationAddressRecord"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"get":{"summary":"List liquidation addresses","description":"Legacy address model; new integrations use standing deposit addresses. List liquidation addresses.","deprecated":true,"operationId":"getV1LiquidationAddresses","security":[{"bearerAuth":[]}],"tags":["Liquidations"],"x-group":"Liquidations","parameters":[{"schema":{"type":"integer","minimum":1,"maximum":200},"required":false,"name":"limit","in":"query"},{"schema":{"type":"integer","minimum":0},"required":false,"name":"offset","in":"query"}],"responses":{"200":{"description":"List","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LiquidationAddressListResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/liquidation-addresses/orders":{"get":{"summary":"List liquidation orders","description":"Legacy address model; new integrations use standing deposit addresses. List liquidation orders.","deprecated":true,"operationId":"getV1LiquidationAddressesOrders","security":[{"bearerAuth":[]}],"tags":["Liquidations"],"x-group":"Liquidations","parameters":[{"schema":{"type":"string","minLength":1},"required":false,"name":"id","in":"query"},{"schema":{"type":"string","minLength":1},"required":false,"name":"label","in":"query"},{"schema":{"type":"string"},"required":false,"name":"status","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":200},"required":false,"name":"limit","in":"query"},{"schema":{"type":"integer","minimum":0},"required":false,"name":"offset","in":"query"}],"responses":{"200":{"description":"Orders","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LiquidationOrdersResponse"}}}},"400":{"description":"Invalid query","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/liquidation-addresses/{id}":{"get":{"summary":"Get liquidation address","description":"Legacy address model; new integrations use standing deposit addresses. Get liquidation address.","deprecated":true,"operationId":"getV1LiquidationAddressesId","security":[{"bearerAuth":[]}],"tags":["Liquidations"],"x-group":"Liquidations","parameters":[{"schema":{"type":"string","minLength":1},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"Record","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LiquidationAddressRecord"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"delete":{"summary":"Delete liquidation address","description":"Legacy address model; new integrations use standing deposit addresses. Delete liquidation address.","deprecated":true,"operationId":"deleteV1LiquidationAddressesId","security":[{"bearerAuth":[]}],"tags":["Liquidations"],"x-group":"Liquidations","parameters":[{"schema":{"type":"string","minLength":1},"required":true,"name":"id","in":"path"},{"schema":{"type":"string","minLength":1},"required":true,"name":"X-Idempotency-Key","in":"header"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/affiliates/{affiliateId}":{"put":{"summary":"Upsert affiliate","description":"Create or update an affiliate profile and payout destination.","operationId":"putV1AffiliatesAffiliateId","security":[{"bearerAuth":[]}],"tags":["Affiliates"],"x-group":"Affiliates","parameters":[{"schema":{"type":"string","minLength":1},"required":true,"name":"affiliateId","in":"path"},{"schema":{"type":"string","minLength":1},"required":true,"name":"X-Idempotency-Key","in":"header"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AffiliateUpsertRequest"}}}},"responses":{"200":{"description":"Affiliate upserted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AffiliateUpsertResponse"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"delete":{"summary":"Disable affiliate","description":"Disable an affiliate.","operationId":"deleteV1AffiliatesAffiliateId","security":[{"bearerAuth":[]}],"tags":["Affiliates"],"x-group":"Affiliates","parameters":[{"schema":{"type":"string","minLength":1},"required":true,"name":"affiliateId","in":"path"},{"schema":{"type":"string","minLength":1},"required":true,"name":"X-Idempotency-Key","in":"header"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/affiliates":{"get":{"summary":"List affiliates","description":"Affiliate profiles.","operationId":"getV1Affiliates","security":[{"bearerAuth":[]}],"tags":["Affiliates"],"x-group":"Affiliates","parameters":[{"schema":{"type":"boolean"},"required":false,"name":"includeDisabled","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":1000},"required":false,"name":"limit","in":"query"},{"schema":{"type":"integer","minimum":0},"required":false,"name":"offset","in":"query"}],"responses":{"200":{"description":"Affiliate list","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AffiliateListResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/affiliates/{affiliateId}/claim":{"post":{"summary":"Claim affiliate balance","description":"Claim the full accrued balance.","operationId":"postV1AffiliatesAffiliateIdClaim","security":[{"bearerAuth":[]}],"tags":["Affiliates"],"x-group":"Affiliates","parameters":[{"schema":{"type":"string","minLength":1},"required":true,"name":"affiliateId","in":"path"},{"schema":{"type":"string","minLength":1},"required":true,"name":"X-Idempotency-Key","in":"header"}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AffiliateClaimCreateRequest"}}}},"responses":{"201":{"description":"Claim created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AffiliateClaimResponse"}}}},"400":{"description":"Invalid request or insufficient balance","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"503":{"description":"Payout path quote temporarily unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/affiliates/{affiliateId}/claims":{"get":{"summary":"List affiliate claims","description":"Claims for an affiliate.","operationId":"getV1AffiliatesAffiliateIdClaims","security":[{"bearerAuth":[]}],"tags":["Affiliates"],"x-group":"Affiliates","parameters":[{"schema":{"type":"string","minLength":1},"required":true,"name":"affiliateId","in":"path"},{"schema":{"type":"string","minLength":1},"required":false,"name":"settlementChain","in":"query"},{"schema":{"type":"string","minLength":1},"required":false,"name":"settlementAsset","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":200},"required":false,"name":"limit","in":"query"},{"schema":{"type":"integer","minimum":0},"required":false,"name":"offset","in":"query"}],"responses":{"200":{"description":"Claim list","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AffiliateClaimListResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/affiliates/{affiliateId}/claims/{id}":{"get":{"summary":"Get affiliate claim","description":"One claim.","operationId":"getV1AffiliatesAffiliateIdClaimsId","security":[{"bearerAuth":[]}],"tags":["Affiliates"],"x-group":"Affiliates","parameters":[{"schema":{"type":"string","minLength":1},"required":true,"name":"affiliateId","in":"path"},{"schema":{"type":"string","minLength":1},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"Claim record","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AffiliateClaimResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/webhooks":{"get":{"summary":"List webhooks","description":"Registered endpoints.","operationId":"getV1Webhooks","security":[{"bearerAuth":[]}],"tags":["Webhooks"],"x-group":"Webhooks","responses":{"200":{"description":"Enabled webhook endpoints","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookListResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"post":{"summary":"Register webhook","description":"Register an endpoint. The signing secret is returned once.","operationId":"postV1Webhooks","security":[{"bearerAuth":[]}],"tags":["Webhooks"],"x-group":"Webhooks","parameters":[{"schema":{"type":"string","minLength":1},"required":true,"name":"X-Idempotency-Key","in":"header"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookCreateRequest"},"example":{"url":"https://example.com/webhooks/flashnet"}}}},"responses":{"200":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookCreateResponse"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/webhooks/{id}":{"delete":{"summary":"Delete webhook","description":"Disable an endpoint.","operationId":"deleteV1WebhooksId","security":[{"bearerAuth":[]}],"tags":["Webhooks"],"x-group":"Webhooks","parameters":[{"schema":{"type":"string","minLength":1},"required":true,"name":"id","in":"path"},{"schema":{"type":"string","minLength":1},"required":true,"name":"X-Idempotency-Key","in":"header"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/webhooks/recovery":{"get":{"summary":"List recovery webhooks","description":"Registered recovery endpoints.","operationId":"getV1WebhooksRecovery","security":[{"bearerAuth":[]}],"tags":["Webhooks"],"x-group":"Webhooks","responses":{"200":{"description":"Enabled recovery webhook endpoints","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookListResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"post":{"summary":"Register recovery webhook","description":"Register an endpoint for order.recovery_required events.","operationId":"postV1WebhooksRecovery","security":[{"bearerAuth":[]}],"tags":["Webhooks"],"x-group":"Webhooks","parameters":[{"schema":{"type":"string","minLength":1},"required":true,"name":"X-Idempotency-Key","in":"header"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookCreateRequest"},"example":{"url":"https://example.com/webhooks/flashnet"}}}},"responses":{"200":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookCreateResponse"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/webhooks/recovery/{id}":{"delete":{"summary":"Delete recovery webhook","description":"Disable a recovery endpoint.","operationId":"deleteV1WebhooksRecoveryId","security":[{"bearerAuth":[]}],"tags":["Webhooks"],"x-group":"Webhooks","parameters":[{"schema":{"type":"string","minLength":1},"required":true,"name":"id","in":"path"},{"schema":{"type":"string","minLength":1},"required":true,"name":"X-Idempotency-Key","in":"header"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/partner/dashboard/operations":{"get":{"summary":"List partner operations","description":"List all orders for the authenticated partner with pagination, search, and optional affiliate and chain filtering. Includes fee plan, fee payouts, total fee fields, and associated affiliate ids on each operation.","x-excluded":true,"operationId":"getV1PartnerDashboardOperations","security":[{"bearerAuth":[]}],"tags":["Dashboard"],"x-group":"Dashboard","parameters":[{"schema":{"type":"string","description":"Search query matching operation id, quote id, source tx hash, destination tx hash, or recipient address"},"required":false,"description":"Search query matching operation id, quote id, source tx hash, destination tx hash, or recipient address","name":"q","in":"query"},{"schema":{"type":"string","description":"Filter by operation status. When omitted, expired, paused, and unfulfilled orders are excluded."},"required":false,"description":"Filter by operation status. When omitted, expired, paused, and unfulfilled orders are excluded.","name":"status","in":"query"},{"schema":{"type":"string","description":"Filter to operations carrying a fee for this affiliate id."},"required":false,"description":"Filter to operations carrying a fee for this affiliate id.","name":"affiliateId","in":"query"},{"schema":{"type":"string","description":"Filter to operations whose source or destination chain matches this id. Public aliases such as hypercore also match the internally stored id."},"required":false,"description":"Filter to operations whose source or destination chain matches this id. Public aliases such as hypercore also match the internally stored id.","name":"chain","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":200,"description":"Page size (default 50)"},"required":false,"description":"Page size (default 50)","name":"limit","in":"query"},{"schema":{"type":"integer","minimum":0,"description":"Pagination offset (default 0)"},"required":false,"description":"Pagination offset (default 0)","name":"offset","in":"query"}],"responses":{"200":{"description":"Paginated operations list with fee breakdown","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashboardOperationsResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/partner/dashboard/operations/{id}":{"get":{"summary":"Get partner operation","description":"Get a single operation by ID for the authenticated partner.","x-excluded":true,"operationId":"getV1PartnerDashboardOperationsId","security":[{"bearerAuth":[]}],"tags":["Dashboard"],"x-group":"Dashboard","parameters":[{"schema":{"type":"string","minLength":1},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"Operation detail","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashboardOperationDetailResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/affiliate-dashboard/{affiliateId}/orders":{"get":{"summary":"List affiliate orders","description":"List orders with affiliate fee entries for a given affiliate. Returns affiliate fee details joined with the corresponding operation data. Callable with a full server key, or with a client key that carries the affiliates:read scope and is pinned to exactly this affiliate.","x-excluded":true,"operationId":"getV1AffiliateDashboardAffiliateIdOrders","security":[{"bearerAuth":[]}],"tags":["Affiliate Dashboard"],"x-group":"Affiliate Dashboard","parameters":[{"schema":{"type":"string","minLength":1,"pattern":"^[a-z0-9][a-z0-9_-]{0,63}$","description":"Normalized affiliate ID"},"required":true,"description":"Normalized affiliate ID","name":"affiliateId","in":"path"},{"schema":{"type":"integer","minimum":1,"maximum":200,"description":"Page size (default 50)"},"required":false,"description":"Page size (default 50)","name":"limit","in":"query"},{"schema":{"type":"integer","minimum":0,"description":"Pagination offset (default 0)"},"required":false,"description":"Pagination offset (default 0)","name":"offset","in":"query"},{"schema":{"type":"string","description":"Exact-match search: order ID, quote ID, tx hash, or address (0x values match case-insensitively)"},"required":false,"description":"Exact-match search: order ID, quote ID, tx hash, or address (0x values match case-insensitively)","name":"q","in":"query"},{"schema":{"type":"string","description":"Filter by operation status"},"required":false,"description":"Filter by operation status","name":"status","in":"query"},{"schema":{"type":"string","description":"ISO 8601 inclusive lower bound on fee accrual time"},"required":false,"description":"ISO 8601 inclusive lower bound on fee accrual time","name":"dateFrom","in":"query"},{"schema":{"type":"string","description":"ISO 8601 exclusive upper bound on fee accrual time"},"required":false,"description":"ISO 8601 exclusive upper bound on fee accrual time","name":"dateTo","in":"query"}],"responses":{"200":{"description":"Paginated affiliate orders with fee details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AffiliateDashboardOrdersResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Client key missing the affiliates:read scope or not pinned to this affiliate","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Affiliate not found or disabled","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/affiliate-dashboard/{affiliateId}/metrics":{"get":{"summary":"Get affiliate metrics","description":"Range-scoped activity metrics for one affiliate: USD volume of completed orders carrying the affiliate's fee, accrued fees, order counts, and a bucketed time series. Same auth as the other affiliate-dashboard reads: full server key, or a client key with the affiliates:read scope pinned to this affiliate.","x-excluded":true,"operationId":"getV1AffiliateDashboardAffiliateIdMetrics","security":[{"bearerAuth":[]}],"tags":["Affiliate Dashboard"],"x-group":"Affiliate Dashboard","parameters":[{"schema":{"type":"string","minLength":1,"pattern":"^[a-z0-9][a-z0-9_-]{0,63}$","description":"Normalized affiliate ID"},"required":true,"description":"Normalized affiliate ID","name":"affiliateId","in":"path"},{"schema":{"type":"string","description":"ISO 8601 inclusive lower bound; omit for all time"},"required":false,"description":"ISO 8601 inclusive lower bound; omit for all time","name":"dateFrom","in":"query"},{"schema":{"type":"string","description":"ISO 8601 exclusive upper bound"},"required":false,"description":"ISO 8601 exclusive upper bound","name":"dateTo","in":"query"},{"schema":{"type":"string","description":"IANA timezone for series bucketing (default UTC)"},"required":false,"description":"IANA timezone for series bucketing (default UTC)","name":"tz","in":"query"}],"responses":{"200":{"description":"Affiliate activity metrics","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AffiliateDashboardMetricsResponse"}}}},"400":{"description":"Invalid date parameter","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Client key missing the affiliates:read scope or not pinned to this affiliate","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Affiliate not found or disabled","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}}},"webhooks":{}}