{"openapi":"3.1.0","paths":{"/api/v1/catalog/assets":{"get":{"operationId":"CatalogController_listAssets_v1","parameters":[{"name":"cursor","required":false,"in":"query","schema":{"type":"string","minLength":1,"maxLength":512}},{"name":"limit","required":false,"in":"query","schema":{"default":24,"type":"integer","minimum":1,"maximum":100}},{"name":"category","required":false,"in":"query","schema":{"type":"string","enum":["infrastructure","payment","real-world-asset","utility"]}},{"name":"featured","required":false,"in":"query","schema":{"type":"boolean"}},{"name":"q","required":false,"in":"query","schema":{"type":"string","minLength":1,"maxLength":100}},{"name":"sort","required":false,"in":"query","schema":{"default":"featured","type":"string","enum":["featured","market-cap","name"]}},{"name":"status","required":false,"in":"query","schema":{"type":"string","enum":["active","paused","upcoming"]}},{"name":"tradable","required":false,"in":"query","schema":{"type":"boolean"}},{"$ref":"#/components/parameters/RequestId"}],"responses":{"200":{"description":"Public asset catalog.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"accentColor":{"type":"string"},"category":{"type":"string","enum":["infrastructure","payment","real-world-asset","utility"]},"description":{"type":"string"},"displayDecimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"iconText":{"type":"string"},"id":{"type":"string"},"instrumentId":{"type":"object","properties":{"admin":{"type":"string"},"id":{"type":"string"}},"required":["admin","id"],"additionalProperties":false},"isFeatured":{"type":"boolean"},"isTradable":{"type":"boolean"},"ledgerDecimalScale":{"type":"number","const":10},"marketCapUsd":{"type":"string"},"name":{"type":"string"},"priceChange24hPct":{"type":"string"},"priceUsd":{"type":"string"},"slug":{"type":"string"},"status":{"type":"string","enum":["active","paused","upcoming"]},"symbol":{"type":"string"},"tokenStandard":{"type":"object","properties":{"capabilities":{"type":"object","properties":{"allocations":{"type":"boolean"},"holdings":{"type":"boolean"},"metadata":{"type":"boolean"},"transfers":{"type":"boolean"}},"required":["allocations","holdings","metadata","transfers"],"additionalProperties":false},"name":{"type":"string","const":"CIP-0056"},"version":{"type":"string","const":"v1"}},"required":["capabilities","name","version"],"additionalProperties":false},"totalSupply":{"type":"string"}},"required":["accentColor","category","description","displayDecimals","iconText","id","instrumentId","isFeatured","isTradable","ledgerDecimalScale","marketCapUsd","name","priceChange24hPct","priceUsd","slug","status","symbol","tokenStandard","totalSupply"],"additionalProperties":false}},"meta":{"type":"object","properties":{"provenance":{"type":"object","properties":{"asOf":{"type":"string"},"dataMode":{"type":"string","enum":["projected","simulated"]},"disclaimer":{"type":"string"},"label":{"type":"string"},"networkId":{"type":"string","pattern":"^canton:[-_a-zA-Z0-9]{1,32}$"}},"required":["asOf","dataMode","disclaimer","label","networkId"],"additionalProperties":false},"schemaVersion":{"type":"string","const":"1"}},"required":["provenance","schemaVersion"],"additionalProperties":false},"page":{"type":"object","properties":{"hasMore":{"type":"boolean"},"limit":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"nextCursor":{"type":["string","null"]},"total":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["hasMore","limit","nextCursor","total"],"additionalProperties":false}},"required":["items","meta","page"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"Invalid filters or pagination cursor. Also: `VALIDATION_FAILED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"A dependency is unavailable or the feature is not enabled on this deployment. Codes: `CATALOG_PROJECTION_NOT_CONFIGURED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[],"summary":"List curated public assets.","tags":["catalog"]}},"/api/v1/catalog/markets":{"get":{"operationId":"CatalogController_listMarkets_v1","parameters":[{"name":"cursor","required":false,"in":"query","schema":{"type":"string","minLength":1,"maxLength":512}},{"name":"limit","required":false,"in":"query","schema":{"default":24,"type":"integer","minimum":1,"maximum":100}},{"name":"baseAssetId","required":false,"in":"query","schema":{"type":"string","minLength":1,"maxLength":100,"pattern":"^[a-z0-9][a-z0-9_-]*$"}},{"name":"featured","required":false,"in":"query","schema":{"type":"boolean"}},{"name":"q","required":false,"in":"query","schema":{"type":"string","minLength":1,"maxLength":100}},{"name":"quoteAssetId","required":false,"in":"query","schema":{"type":"string","minLength":1,"maxLength":100,"pattern":"^[a-z0-9][a-z0-9_-]*$"}},{"name":"sort","required":false,"in":"query","schema":{"default":"volume","type":"string","enum":["name","price-change","volume"]}},{"name":"status","required":false,"in":"query","schema":{"type":"string","enum":["active","paused","upcoming"]}},{"name":"venueType","required":false,"in":"query","schema":{"type":"string","enum":["amm","bonding-curve","order-book"]}},{"$ref":"#/components/parameters/RequestId"}],"responses":{"200":{"description":"Public market catalog.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"baseAsset":{"type":"object","properties":{"id":{"type":"string"},"instrumentId":{"type":"object","properties":{"admin":{"type":"string"},"id":{"type":"string"}},"required":["admin","id"],"additionalProperties":false},"name":{"type":"string"},"symbol":{"type":"string"}},"required":["id","instrumentId","name","symbol"],"additionalProperties":false},"baseVolume24h":{"type":"string"},"feeRatePct":{"type":"string"},"high24h":{"type":"string"},"id":{"type":"string"},"isFeatured":{"type":"boolean"},"lastPrice":{"type":"string"},"liquidityQuote":{"type":"string"},"low24h":{"type":"string"},"priceChange24hPct":{"type":"string"},"quoteAsset":{"type":"object","properties":{"id":{"type":"string"},"instrumentId":{"type":"object","properties":{"admin":{"type":"string"},"id":{"type":"string"}},"required":["admin","id"],"additionalProperties":false},"name":{"type":"string"},"symbol":{"type":"string"}},"required":["id","instrumentId","name","symbol"],"additionalProperties":false},"quoteVolume24h":{"type":"string"},"settlement":{"type":"string","const":"atomic-dvp"},"slug":{"type":"string"},"status":{"type":"string","enum":["active","paused","upcoming"]},"updatedAt":{"type":"string"},"venue":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"type":{"type":"string","enum":["amm","bonding-curve","order-book"]}},"required":["id","name","type"],"additionalProperties":false}},"required":["baseAsset","baseVolume24h","feeRatePct","high24h","id","isFeatured","lastPrice","liquidityQuote","low24h","priceChange24hPct","quoteAsset","quoteVolume24h","settlement","slug","status","updatedAt","venue"],"additionalProperties":false}},"meta":{"type":"object","properties":{"provenance":{"type":"object","properties":{"asOf":{"type":"string"},"dataMode":{"type":"string","enum":["projected","simulated"]},"disclaimer":{"type":"string"},"label":{"type":"string"},"networkId":{"type":"string","pattern":"^canton:[-_a-zA-Z0-9]{1,32}$"}},"required":["asOf","dataMode","disclaimer","label","networkId"],"additionalProperties":false},"schemaVersion":{"type":"string","const":"1"}},"required":["provenance","schemaVersion"],"additionalProperties":false},"page":{"type":"object","properties":{"hasMore":{"type":"boolean"},"limit":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"nextCursor":{"type":["string","null"]},"total":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["hasMore","limit","nextCursor","total"],"additionalProperties":false}},"required":["items","meta","page"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"Invalid filters or pagination cursor. Also: `VALIDATION_FAILED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"A dependency is unavailable or the feature is not enabled on this deployment. Codes: `CATALOG_PROJECTION_NOT_CONFIGURED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[],"summary":"List curated public markets.","tags":["catalog"]}},"/api/v1/catalog/launches":{"get":{"operationId":"CatalogController_listLaunches_v1","parameters":[{"name":"cursor","required":false,"in":"query","schema":{"type":"string","minLength":1,"maxLength":512}},{"name":"limit","required":false,"in":"query","schema":{"default":24,"type":"integer","minimum":1,"maximum":100}},{"name":"category","required":false,"in":"query","schema":{"type":"string","enum":["climate","consumer","infrastructure","rwa"]}},{"name":"featured","required":false,"in":"query","schema":{"type":"boolean"}},{"name":"q","required":false,"in":"query","schema":{"type":"string","minLength":1,"maxLength":100}},{"name":"sort","required":false,"in":"query","schema":{"default":"featured","type":"string","enum":["closing-soon","featured","newest","progress"]}},{"name":"status","required":false,"in":"query","schema":{"type":"string","enum":["ended","graduated","live","upcoming"]}},{"$ref":"#/components/parameters/RequestId"}],"responses":{"200":{"description":"Public launch catalog.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"category":{"type":"string","enum":["climate","consumer","infrastructure","rwa"]},"closesAt":{"type":"string"},"id":{"type":"string"},"isFeatured":{"type":"boolean"},"name":{"type":"string"},"offeredAsset":{"type":"object","properties":{"id":{"type":"string"},"instrumentId":{"type":"object","properties":{"admin":{"type":"string"},"id":{"type":"string"}},"required":["admin","id"],"additionalProperties":false},"name":{"type":"string"},"symbol":{"type":"string"}},"required":["id","instrumentId","name","symbol"],"additionalProperties":false},"opensAt":{"type":"string"},"sale":{"type":"object","properties":{"allocationAmount":{"type":"string"},"hardCap":{"type":"string"},"maxContribution":{"type":"string"},"minContribution":{"type":"string"},"paymentAsset":{"type":"object","properties":{"id":{"type":"string"},"instrumentId":{"type":"object","properties":{"admin":{"type":"string"},"id":{"type":"string"}},"required":["admin","id"],"additionalProperties":false},"name":{"type":"string"},"symbol":{"type":"string"}},"required":["id","instrumentId","name","symbol"],"additionalProperties":false},"pricePerToken":{"type":"string"},"softCap":{"type":"string"}},"required":["allocationAmount","hardCap","maxContribution","minContribution","paymentAsset","pricePerToken","softCap"],"additionalProperties":false},"slug":{"type":"string"},"stats":{"type":"object","properties":{"participantCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"progressPct":{"type":"string"},"raisedAmount":{"type":"string"}},"required":["participantCount","progressPct","raisedAmount"],"additionalProperties":false},"status":{"type":"string","enum":["ended","graduated","live","upcoming"]},"summary":{"type":"string"},"theme":{"type":"object","properties":{"accentColor":{"type":"string"},"iconText":{"type":"string"}},"required":["accentColor","iconText"],"additionalProperties":false}},"required":["category","closesAt","id","isFeatured","name","offeredAsset","opensAt","sale","slug","stats","status","summary","theme"],"additionalProperties":false}},"meta":{"type":"object","properties":{"provenance":{"type":"object","properties":{"asOf":{"type":"string"},"dataMode":{"type":"string","enum":["projected","simulated"]},"disclaimer":{"type":"string"},"label":{"type":"string"},"networkId":{"type":"string","pattern":"^canton:[-_a-zA-Z0-9]{1,32}$"}},"required":["asOf","dataMode","disclaimer","label","networkId"],"additionalProperties":false},"schemaVersion":{"type":"string","const":"1"}},"required":["provenance","schemaVersion"],"additionalProperties":false},"page":{"type":"object","properties":{"hasMore":{"type":"boolean"},"limit":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"nextCursor":{"type":["string","null"]},"total":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["hasMore","limit","nextCursor","total"],"additionalProperties":false}},"required":["items","meta","page"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"Invalid filters or pagination cursor. Also: `VALIDATION_FAILED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"A dependency is unavailable or the feature is not enabled on this deployment. Codes: `CATALOG_PROJECTION_NOT_CONFIGURED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[],"summary":"List public Supanova launches.","tags":["catalog"]}},"/api/v1/catalog/launches/{launchReference}":{"get":{"operationId":"CatalogController_getLaunch_v1","parameters":[{"name":"launchReference","required":true,"in":"path","schema":{"type":"string","minLength":1,"maxLength":100,"pattern":"^[a-z0-9][a-z0-9_-]*$"}},{"$ref":"#/components/parameters/RequestId"}],"responses":{"200":{"description":"Public launch detail.","content":{"application/json":{"schema":{"type":"object","properties":{"item":{"type":"object","properties":{"category":{"type":"string","enum":["climate","consumer","infrastructure","rwa"]},"closesAt":{"type":"string"},"id":{"type":"string"},"isFeatured":{"type":"boolean"},"name":{"type":"string"},"offeredAsset":{"type":"object","properties":{"id":{"type":"string"},"instrumentId":{"type":"object","properties":{"admin":{"type":"string"},"id":{"type":"string"}},"required":["admin","id"],"additionalProperties":false},"name":{"type":"string"},"symbol":{"type":"string"}},"required":["id","instrumentId","name","symbol"],"additionalProperties":false},"opensAt":{"type":"string"},"sale":{"type":"object","properties":{"allocationAmount":{"type":"string"},"hardCap":{"type":"string"},"maxContribution":{"type":"string"},"minContribution":{"type":"string"},"paymentAsset":{"type":"object","properties":{"id":{"type":"string"},"instrumentId":{"type":"object","properties":{"admin":{"type":"string"},"id":{"type":"string"}},"required":["admin","id"],"additionalProperties":false},"name":{"type":"string"},"symbol":{"type":"string"}},"required":["id","instrumentId","name","symbol"],"additionalProperties":false},"pricePerToken":{"type":"string"},"softCap":{"type":"string"}},"required":["allocationAmount","hardCap","maxContribution","minContribution","paymentAsset","pricePerToken","softCap"],"additionalProperties":false},"slug":{"type":"string"},"stats":{"type":"object","properties":{"participantCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"progressPct":{"type":"string"},"raisedAmount":{"type":"string"}},"required":["participantCount","progressPct","raisedAmount"],"additionalProperties":false},"status":{"type":"string","enum":["ended","graduated","live","upcoming"]},"summary":{"type":"string"},"theme":{"type":"object","properties":{"accentColor":{"type":"string"},"iconText":{"type":"string"}},"required":["accentColor","iconText"],"additionalProperties":false},"disclosure":{"type":"string"},"longDescription":{"type":"string"},"milestones":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string"},"label":{"type":"string"},"status":{"type":"string","enum":["complete","planned"]}},"required":["date","label","status"],"additionalProperties":false}},"tokenAllocations":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"percentage":{"type":"string"},"vesting":{"type":"string"}},"required":["label","percentage","vesting"],"additionalProperties":false}}},"required":["category","closesAt","id","isFeatured","name","offeredAsset","opensAt","sale","slug","stats","status","summary","theme","disclosure","longDescription","milestones","tokenAllocations"],"additionalProperties":false},"meta":{"type":"object","properties":{"provenance":{"type":"object","properties":{"asOf":{"type":"string"},"dataMode":{"type":"string","enum":["projected","simulated"]},"disclaimer":{"type":"string"},"label":{"type":"string"},"networkId":{"type":"string","pattern":"^canton:[-_a-zA-Z0-9]{1,32}$"}},"required":["asOf","dataMode","disclaimer","label","networkId"],"additionalProperties":false},"schemaVersion":{"type":"string","const":"1"}},"required":["provenance","schemaVersion"],"additionalProperties":false}},"required":["item","meta"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"Invalid launch reference. Also: `VALIDATION_FAILED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"Launch not found.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"A dependency is unavailable or the feature is not enabled on this deployment. Codes: `CATALOG_PROJECTION_NOT_CONFIGURED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[],"summary":"Get one public launch by stable ID or slug.","tags":["catalog"]}},"/api/v1/app-config":{"get":{"operationId":"AppConfigController_getConfig_v1","parameters":[{"$ref":"#/components/parameters/RequestId"}],"responses":{"200":{"description":"Only public, non-secret configuration.","content":{"application/json":{"schema":{"type":"object","properties":{"apiVersion":{"type":"string","const":"v1"},"appStage":{"type":"string","enum":["local","preview","devnet","mainnet"]},"auth":{"type":"object","properties":{"customerProviders":{"type":"array","items":{"type":"string","enum":["mock","privy","supabase"]}},"transport":{"type":"string","const":"bearer"},"workforceProvider":{"type":"string","const":"supabase"}},"required":["customerProviders","transport","workforceProvider"],"additionalProperties":false},"capabilities":{"type":"object","properties":{"accountClosure":{"type":"object","properties":{"dataMode":{"type":"string","enum":["none","projected","simulated"]},"reasonCode":{"type":["string","null"]},"status":{"type":"string","enum":["blocked","disabled","preview","ready"]}},"required":["dataMode","reasonCode","status"],"additionalProperties":false},"activity":{"type":"object","properties":{"dataMode":{"type":"string","enum":["none","projected","simulated"]},"reasonCode":{"type":["string","null"]},"status":{"type":"string","enum":["blocked","disabled","preview","ready"]}},"required":["dataMode","reasonCode","status"],"additionalProperties":false},"cantonExecution":{"type":"object","properties":{"dataMode":{"type":"string","enum":["none","projected","simulated"]},"reasonCode":{"type":["string","null"]},"status":{"type":"string","enum":["blocked","disabled","preview","ready"]}},"required":["dataMode","reasonCode","status"],"additionalProperties":false},"creatorProjection":{"type":"object","properties":{"dataMode":{"type":"string","enum":["none","projected","simulated"]},"reasonCode":{"type":["string","null"]},"status":{"type":"string","enum":["blocked","disabled","preview","ready"]}},"required":["dataMode","reasonCode","status"],"additionalProperties":false},"customAvatarUpload":{"type":"object","properties":{"dataMode":{"type":"string","enum":["none","projected","simulated"]},"reasonCode":{"type":["string","null"]},"status":{"type":"string","enum":["blocked","disabled","preview","ready"]}},"required":["dataMode","reasonCode","status"],"additionalProperties":false},"dappBridge":{"type":"object","properties":{"dataMode":{"type":"string","enum":["none","projected","simulated"]},"reasonCode":{"type":["string","null"]},"status":{"type":"string","enum":["blocked","disabled","preview","ready"]}},"required":["dataMode","reasonCode","status"],"additionalProperties":false},"depositInstructions":{"type":"object","properties":{"dataMode":{"type":"string","enum":["none","projected","simulated"]},"reasonCode":{"type":["string","null"]},"status":{"type":"string","enum":["blocked","disabled","preview","ready"]}},"required":["dataMode","reasonCode","status"],"additionalProperties":false},"depositInitiation":{"type":"object","properties":{"dataMode":{"type":"string","enum":["none","projected","simulated"]},"reasonCode":{"type":["string","null"]},"status":{"type":"string","enum":["blocked","disabled","preview","ready"]}},"required":["dataMode","reasonCode","status"],"additionalProperties":false},"issuerDocuments":{"type":"object","properties":{"dataMode":{"type":"string","enum":["none","projected","simulated"]},"reasonCode":{"type":["string","null"]},"status":{"type":"string","enum":["blocked","disabled","preview","ready"]}},"required":["dataMode","reasonCode","status"],"additionalProperties":false},"favoritesSync":{"type":"object","properties":{"dataMode":{"type":"string","enum":["none","projected","simulated"]},"reasonCode":{"type":["string","null"]},"status":{"type":"string","enum":["blocked","disabled","preview","ready"]}},"required":["dataMode","reasonCode","status"],"additionalProperties":false},"launchApplications":{"type":"object","properties":{"dataMode":{"type":"string","enum":["none","projected","simulated"]},"reasonCode":{"type":["string","null"]},"status":{"type":"string","enum":["blocked","disabled","preview","ready"]}},"required":["dataMode","reasonCode","status"],"additionalProperties":false},"launchCreation":{"type":"object","properties":{"dataMode":{"type":"string","enum":["none","projected","simulated"]},"reasonCode":{"type":["string","null"]},"status":{"type":"string","enum":["blocked","disabled","preview","ready"]}},"required":["dataMode","reasonCode","status"],"additionalProperties":false},"launchParticipation":{"type":"object","properties":{"dataMode":{"type":"string","enum":["none","projected","simulated"]},"reasonCode":{"type":["string","null"]},"status":{"type":"string","enum":["blocked","disabled","preview","ready"]}},"required":["dataMode","reasonCode","status"],"additionalProperties":false},"launchMedia":{"type":"object","properties":{"dataMode":{"type":"string","enum":["none","projected","simulated"]},"reasonCode":{"type":["string","null"]},"status":{"type":"string","enum":["blocked","disabled","preview","ready"]}},"required":["dataMode","reasonCode","status"],"additionalProperties":false},"marketData":{"type":"object","properties":{"dataMode":{"type":"string","enum":["none","projected","simulated"]},"reasonCode":{"type":["string","null"]},"status":{"type":"string","enum":["blocked","disabled","preview","ready"]}},"required":["dataMode","reasonCode","status"],"additionalProperties":false},"marketStreaming":{"type":"object","properties":{"dataMode":{"type":"string","enum":["none","projected","simulated"]},"reasonCode":{"type":["string","null"]},"status":{"type":"string","enum":["blocked","disabled","preview","ready"]}},"required":["dataMode","reasonCode","status"],"additionalProperties":false},"marketingEmail":{"type":"object","properties":{"dataMode":{"type":"string","enum":["none","projected","simulated"]},"reasonCode":{"type":["string","null"]},"status":{"type":"string","enum":["blocked","disabled","preview","ready"]}},"required":["dataMode","reasonCode","status"],"additionalProperties":false},"missionControl":{"type":"object","properties":{"dataMode":{"type":"string","enum":["none","projected","simulated"]},"reasonCode":{"type":["string","null"]},"status":{"type":"string","enum":["blocked","disabled","preview","ready"]}},"required":["dataMode","reasonCode","status"],"additionalProperties":false},"novaAirdrop":{"type":"object","properties":{"dataMode":{"type":"string","enum":["none","projected","simulated"]},"reasonCode":{"type":["string","null"]},"status":{"type":"string","enum":["blocked","disabled","preview","ready"]}},"required":["dataMode","reasonCode","status"],"additionalProperties":false},"novaWaitlist":{"type":"object","properties":{"dataMode":{"type":"string","enum":["none","projected","simulated"]},"reasonCode":{"type":["string","null"]},"status":{"type":"string","enum":["blocked","disabled","preview","ready"]}},"required":["dataMode","reasonCode","status"],"additionalProperties":false},"operations":{"type":"object","properties":{"dataMode":{"type":"string","enum":["none","projected","simulated"]},"reasonCode":{"type":["string","null"]},"status":{"type":"string","enum":["blocked","disabled","preview","ready"]}},"required":["dataMode","reasonCode","status"],"additionalProperties":false},"pendingTransfers":{"type":"object","properties":{"dataMode":{"type":"string","enum":["none","projected","simulated"]},"reasonCode":{"type":["string","null"]},"status":{"type":"string","enum":["blocked","disabled","preview","ready"]}},"required":["dataMode","reasonCode","status"],"additionalProperties":false},"personalTradeHistory":{"type":"object","properties":{"dataMode":{"type":"string","enum":["none","projected","simulated"]},"reasonCode":{"type":["string","null"]},"status":{"type":"string","enum":["blocked","disabled","preview","ready"]}},"required":["dataMode","reasonCode","status"],"additionalProperties":false},"pointsLeaderboard":{"type":"object","properties":{"dataMode":{"type":"string","enum":["none","projected","simulated"]},"reasonCode":{"type":["string","null"]},"status":{"type":"string","enum":["blocked","disabled","preview","ready"]}},"required":["dataMode","reasonCode","status"],"additionalProperties":false},"pointsProgram":{"type":"object","properties":{"dataMode":{"type":"string","enum":["none","projected","simulated"]},"reasonCode":{"type":["string","null"]},"status":{"type":"string","enum":["blocked","disabled","preview","ready"]}},"required":["dataMode","reasonCode","status"],"additionalProperties":false},"portfolioValuation":{"type":"object","properties":{"dataMode":{"type":"string","enum":["none","projected","simulated"]},"reasonCode":{"type":["string","null"]},"status":{"type":"string","enum":["blocked","disabled","preview","ready"]}},"required":["dataMode","reasonCode","status"],"additionalProperties":false},"productAnalytics":{"type":"object","properties":{"dataMode":{"type":"string","enum":["none","projected","simulated"]},"reasonCode":{"type":["string","null"]},"status":{"type":"string","enum":["blocked","disabled","preview","ready"]}},"required":["dataMode","reasonCode","status"],"additionalProperties":false},"portfolio":{"type":"object","properties":{"dataMode":{"type":"string","enum":["none","projected","simulated"]},"reasonCode":{"type":["string","null"]},"status":{"type":"string","enum":["blocked","disabled","preview","ready"]}},"required":["dataMode","reasonCode","status"],"additionalProperties":false},"referenceRates":{"type":"object","properties":{"dataMode":{"type":"string","enum":["none","projected","simulated"]},"reasonCode":{"type":["string","null"]},"status":{"type":"string","enum":["blocked","disabled","preview","ready"]}},"required":["dataMode","reasonCode","status"],"additionalProperties":false},"referrals":{"type":"object","properties":{"dataMode":{"type":"string","enum":["none","projected","simulated"]},"reasonCode":{"type":["string","null"]},"status":{"type":"string","enum":["blocked","disabled","preview","ready"]}},"required":["dataMode","reasonCode","status"],"additionalProperties":false},"restrictedVault":{"type":"object","properties":{"dataMode":{"type":"string","enum":["none","projected","simulated"]},"reasonCode":{"type":["string","null"]},"status":{"type":"string","enum":["blocked","disabled","preview","ready"]}},"required":["dataMode","reasonCode","status"],"additionalProperties":false},"support":{"type":"object","properties":{"dataMode":{"type":"string","enum":["none","projected","simulated"]},"reasonCode":{"type":["string","null"]},"status":{"type":"string","enum":["blocked","disabled","preview","ready"]}},"required":["dataMode","reasonCode","status"],"additionalProperties":false},"supportCases":{"type":"object","properties":{"dataMode":{"type":"string","enum":["none","projected","simulated"]},"reasonCode":{"type":["string","null"]},"status":{"type":"string","enum":["blocked","disabled","preview","ready"]}},"required":["dataMode","reasonCode","status"],"additionalProperties":false},"swaps":{"type":"object","properties":{"dataMode":{"type":"string","enum":["none","projected","simulated"]},"reasonCode":{"type":["string","null"]},"status":{"type":"string","enum":["blocked","disabled","preview","ready"]}},"required":["dataMode","reasonCode","status"],"additionalProperties":false},"transactionDetails":{"type":"object","properties":{"dataMode":{"type":"string","enum":["none","projected","simulated"]},"reasonCode":{"type":["string","null"]},"status":{"type":"string","enum":["blocked","disabled","preview","ready"]}},"required":["dataMode","reasonCode","status"],"additionalProperties":false},"transferPreapprovals":{"type":"object","properties":{"dataMode":{"type":"string","enum":["none","projected","simulated"]},"reasonCode":{"type":["string","null"]},"status":{"type":"string","enum":["blocked","disabled","preview","ready"]}},"required":["dataMode","reasonCode","status"],"additionalProperties":false},"transfers":{"type":"object","properties":{"dataMode":{"type":"string","enum":["none","projected","simulated"]},"reasonCode":{"type":["string","null"]},"status":{"type":"string","enum":["blocked","disabled","preview","ready"]}},"required":["dataMode","reasonCode","status"],"additionalProperties":false},"transactionalEmail":{"type":"object","properties":{"dataMode":{"type":"string","enum":["none","projected","simulated"]},"reasonCode":{"type":["string","null"]},"status":{"type":"string","enum":["blocked","disabled","preview","ready"]}},"required":["dataMode","reasonCode","status"],"additionalProperties":false},"usdcxRouting":{"type":"object","properties":{"dataMode":{"type":"string","enum":["none","projected","simulated"]},"reasonCode":{"type":["string","null"]},"status":{"type":"string","enum":["blocked","disabled","preview","ready"]}},"required":["dataMode","reasonCode","status"],"additionalProperties":false},"walletVerification":{"type":"object","properties":{"dataMode":{"type":"string","enum":["none","projected","simulated"]},"reasonCode":{"type":["string","null"]},"status":{"type":"string","enum":["blocked","disabled","preview","ready"]}},"required":["dataMode","reasonCode","status"],"additionalProperties":false}},"required":["accountClosure","activity","cantonExecution","creatorProjection","customAvatarUpload","dappBridge","depositInstructions","depositInitiation","issuerDocuments","favoritesSync","launchApplications","launchCreation","launchParticipation","launchMedia","marketData","marketStreaming","marketingEmail","missionControl","novaAirdrop","novaWaitlist","operations","pendingTransfers","personalTradeHistory","pointsLeaderboard","pointsProgram","portfolioValuation","productAnalytics","portfolio","referenceRates","referrals","restrictedVault","support","supportCases","swaps","transactionDetails","transferPreapprovals","transfers","transactionalEmail","usdcxRouting","walletVerification"],"additionalProperties":false},"cantonNetworkId":{"type":"string"},"contractVersion":{"type":"string","const":"2026-08-17.2"},"features":{"type":"object","properties":{"activity":{"type":"boolean"},"adminPreview":{"type":"boolean"},"cantonMock":{"type":"boolean"},"catalog":{"type":"boolean"},"launchCreation":{"type":"boolean"},"launchApplications":{"type":"boolean"},"launchMarket":{"type":"boolean"},"launchMedia":{"type":"boolean"},"novaWaitlist":{"type":"boolean"},"launchParticipation":{"type":"boolean"},"portfolio":{"type":"boolean"},"swaps":{"type":"boolean"},"transfers":{"type":"boolean"}},"required":["activity","adminPreview","cantonMock","catalog","launchCreation","launchApplications","launchMarket","launchMedia","novaWaitlist","launchParticipation","portfolio","swaps","transfers"],"additionalProperties":false},"productLegal":{"type":"object","properties":{"documents":{"type":"array","minItems":3,"maxItems":3,"prefixItems":[{"type":"object","properties":{"action":{"type":"string","const":"agree"},"digest":{"type":"string","const":"sha256:ae3001c9110291ba6d97fe27343218a23ec93427ac7f7654e45e77b3fe08523d"},"slug":{"type":"string","const":"terms"}},"required":["action","digest","slug"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","const":"acknowledge"},"digest":{"type":"string","const":"sha256:5cdce14744e77bd382a30b10469918d64b556c62af995ab1c84601304446ab5f"},"slug":{"type":"string","const":"privacy"}},"required":["action","digest","slug"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","const":"acknowledge"},"digest":{"type":"string","const":"sha256:3d54b4c54d38211c9cb5b5789e97607bd7c49157f7cff5928d2e348c66d04c84"},"slug":{"type":"string","const":"risk"}},"required":["action","digest","slug"],"additionalProperties":false}]},"effectiveAt":{"type":"string","const":"2026-08-04T00:00:00.000Z"},"id":{"type":"string","const":"supanova-product-access-legal"},"legalApproval":{"type":"string","const":"required-before-connected-release"},"reacceptance":{"type":"string","const":"material-version-only"},"setDigest":{"type":"string","const":"sha256:b07f64b9f408addf88588d529535451f0421aadaecc665a5e461406597ce77b2"},"updatedAt":{"type":"string","const":"2026-08-12T00:00:00.000Z"},"version":{"type":"string","const":"1"}},"required":["documents","effectiveAt","id","legalApproval","reacceptance","setDigest","updatedAt","version"],"additionalProperties":false},"release":{"anyOf":[{"type":"string","const":"development"},{"type":"string","pattern":"^(?:[0-9a-f]{40}|[0-9a-f]{64}|sha256:[0-9a-f]{64})$"}]},"service":{"type":"string","const":"supanova-superapp-backend"}},"required":["apiVersion","appStage","auth","capabilities","cantonNetworkId","contractVersion","features","productLegal","release","service"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/ApiError"}},"security":[],"summary":"Return the safe runtime and feature configuration for the frontend.","tags":["configuration"]}},"/api/v1/me/created-launches":{"get":{"operationId":"CreatorController_createdLaunches_v1","parameters":[{"$ref":"#/components/parameters/ServiceActAs"},{"$ref":"#/components/parameters/RequestId"}],"responses":{"200":{"description":"Owned creator launch projection.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"maxItems":1000,"type":"array","items":{"type":"object","properties":{"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"token":{"type":"object","properties":{"amm":{"anyOf":[{"type":"object","properties":{"ccReserve":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"feeRate":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"invariant":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"marginalPriceCcPerToken":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,40})?$"},"revision":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"tokenReserve":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["ccReserve","feeRate","invariant","marginalPriceCcPerToken","revision","tokenReserve"],"additionalProperties":false},{"type":"null"}]},"art":{"type":"string","enum":["rings","grid","halo","waves","monolith","comet"]},"banner":{"anyOf":[{"anyOf":[{"type":"string","maxLength":2048,"format":"uri","description":"Public navigation-only HTTPS URL with a DNS hostname; credentials, IP literals, localhost and private/local DNS suffixes are forbidden. This is not permission for server-side fetching.","pattern":"^https://"},{"type":"string","minLength":2,"maxLength":2048}]},{"type":"null"}]},"bannerMimeType":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}]},"category":{"type":"string","enum":["defi","payments","infrastructure","real_world_assets","capital_markets","stablecoins","identity_compliance","data_oracles","consumer","culture","other"]},"change24h":{"type":"string","pattern":"^-?(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"creatorRevenue":{"oneOf":[{"type":"object","properties":{"eligibility":{"type":"string","const":"eligible"},"policy":{"type":"object","properties":{"hash":{"type":"string","const":"sha256:a926e0a380b3938648b5fa9898136638e1276128947cf94033e760f87a27e8b2"},"id":{"type":"string","const":"supanova-creator-revenue-policy"},"version":{"type":"string","const":"1"}},"required":["hash","id","version"],"additionalProperties":false},"reason":{"type":"string","const":"accepted-policy-creator-route"}},"required":["eligibility","policy","reason"],"additionalProperties":false},{"type":"object","properties":{"eligibility":{"type":"string","const":"ineligible"},"policy":{"type":"null"},"reason":{"type":"string","enum":["legacy-no-policy","trader-cashback"]}},"required":["eligibility","policy","reason"],"additionalProperties":false}]},"creator":{"type":"string","minLength":1,"maxLength":100},"creatorHandle":{"type":"string","minLength":1,"maxLength":100},"creatorAvatarPresetId":{"anyOf":[{"type":"string","enum":["supanova-01","supanova-02","supanova-03","supanova-04","supanova-05","supanova-06","supanova-07","supanova-08","supanova-09","supanova-10","supanova-11","supanova-12"]},{"type":"null"}]},"creatorAvatarUrl":{"description":"Public token-scoped custom avatar image path; version changes when the selected image changes.","anyOf":[{"type":"string","maxLength":113,"pattern":"^\\/api\\/v1\\/tokens\\/[a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?\\/creator-avatar\\?v=[a-f0-9]{16}$"},{"type":"null"}]},"description":{"type":"string","minLength":1,"maxLength":2000},"disclaimer":{"type":"string","minLength":1,"maxLength":1000},"docs":{"anyOf":[{"type":"string","maxLength":2048,"format":"uri","description":"Public navigation-only HTTPS URL with a DNS hostname; credentials, IP literals, localhost and private/local DNS suffixes are forbidden. This is not permission for server-side fetching.","pattern":"^https://"},{"type":"null"}]},"fullyDilutedValue":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"holderChange24h":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"holders":{"type":"integer","minimum":0,"maximum":9007199254740991},"id":{"type":"string","minLength":1,"maxLength":100},"image":{"anyOf":[{"anyOf":[{"type":"string","maxLength":2048,"format":"uri","description":"Public navigation-only HTTPS URL with a DNS hostname; credentials, IP literals, localhost and private/local DNS suffixes are forbidden. This is not permission for server-side fetching.","pattern":"^https://"},{"type":"string","minLength":2,"maxLength":2048}]},{"type":"null"}]},"imageKind":{"anyOf":[{"type":"string","enum":["image","video"]},{"type":"null"}]},"imageMimeType":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}]},"instrumentId":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":512},"id":{"type":"string","minLength":1,"maxLength":512}},"required":["admin","id"],"additionalProperties":false},"lastBuyAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}],"description":"Ledger time of the newest confirmed buy. Null when the coin has no buy on record (meta.marketActivity.lastBuy is 'published') or when the figure is not published."},"launchProgress":{"type":"object","properties":{"curveAllocation":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"graduationPercent":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"graduationThresholdCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"liquidityReserve":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"remainingCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"stage":{"type":"string","enum":["ignition","near_escape","graduating","in_orbit"]},"supplyPolicy":{"type":"object","properties":{"kind":{"type":"string","const":"fixed"},"postCreationMinting":{"type":"string","const":"disabled"},"version":{"type":"string","minLength":1,"maxLength":100}},"required":["kind","postCreationMinting","version"],"additionalProperties":false},"totalSupply":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["curveAllocation","graduationPercent","graduationThresholdCc","liquidityReserve","remainingCc","stage","supplyPolicy","totalSupply"],"additionalProperties":false},"marketCap":{"anyOf":[{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},{"type":"null"}],"description":"Fully diluted: price x launchProgress.totalSupply (equals fullyDilutedValue)."},"name":{"type":"string","minLength":1,"maxLength":100},"palette":{"type":"array","minItems":3,"maxItems":3,"prefixItems":[{"type":"string","pattern":"^#[0-9a-f]{6}$"},{"type":"string","pattern":"^#[0-9a-f]{6}$"},{"type":"string","pattern":"^#[0-9a-f]{6}$"}]},"price":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,40})?$"},"pricePerMillionTokensCc":{"description":"CC per million tokens, a display value; present for curve-package tokens.","type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,40})?$"},"raisedCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"references":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"href":{"type":"string","maxLength":2048,"format":"uri","description":"Public navigation-only HTTPS URL with a DNS hostname; credentials, IP literals, localhost and private/local DNS suffixes are forbidden. This is not permission for server-side fetching.","pattern":"^https://"},"kind":{"type":"string","enum":["website","docs","x","telegram","discord","instagram","youtube","tiktok","research"]},"label":{"type":"string","minLength":1,"maxLength":100}},"required":["href","kind","label"],"additionalProperties":false}},"rewardDestination":{"type":"string","enum":["creator","trader_cashback"]},"slug":{"type":"string","minLength":1,"maxLength":64},"sparkline":{"maxItems":500,"type":"array","items":{"type":"string","pattern":"^-?(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,40})?$"}},"tagline":{"type":"string","minLength":1,"maxLength":200},"ticker":{"type":"string","minLength":1,"maxLength":16},"tradeCount24h":{"type":"integer","minimum":0,"maximum":9007199254740991},"verified":{"type":"boolean"},"volume24h":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"volume7d":{"anyOf":[{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},{"type":"null"}],"description":"CC volume over meta.marketActivity.volume7d: \"0\" when the coin had no fills, null when the figure is not published."},"website":{"anyOf":[{"type":"string","maxLength":2048,"format":"uri","description":"Public navigation-only HTTPS URL with a DNS hostname; credentials, IP literals, localhost and private/local DNS suffixes are forbidden. This is not permission for server-side fetching.","pattern":"^https://"},{"type":"null"}]}},"required":["art","banner","bannerMimeType","category","change24h","createdAt","creatorRevenue","creator","creatorHandle","description","disclaimer","docs","fullyDilutedValue","holderChange24h","holders","id","image","imageKind","imageMimeType","instrumentId","lastBuyAt","launchProgress","marketCap","name","palette","price","raisedCc","references","rewardDestination","slug","sparkline","tagline","ticker","tradeCount24h","verified","volume24h","volume7d","website"],"additionalProperties":false}},"required":["createdAt","token"],"additionalProperties":false}},"meta":{"anyOf":[{"type":"object","properties":{"asOf":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"dataMode":{"type":"string","const":"simulated"},"disclaimer":{"type":"string","minLength":1,"maxLength":512},"networkId":{"type":"string","pattern":"^canton:[-_a-zA-Z0-9]{1,32}$"},"projection":{"type":"null"}},"required":["asOf","dataMode","disclaimer","networkId","projection"],"additionalProperties":false},{"type":"object","properties":{"asOf":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"dataMode":{"type":"string","const":"projected"},"disclaimer":{"type":"string","minLength":1,"maxLength":512},"networkId":{"type":"string","pattern":"^canton:[-_a-zA-Z0-9]{1,32}$"},"source":{"type":"string","const":"confirmed-launch-operations"}},"required":["asOf","dataMode","disclaimer","networkId","source"],"additionalProperties":false}]}},"required":["items","meta"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The request is malformed or failed validation. Codes: `AMBIGUOUS_CREDENTIALS`, `SERVICE_ACT_AS_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `AUTHENTICATION_REQUIRED`, `INVALID_AUTHORIZATION_HEADER`, `INVALID_ACCESS_TOKEN`, `SESSION_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Codes: `ACCOUNT_RESTRICTED`, `ANONYMOUS_ACCOUNT_NOT_ALLOWED`, `API_KEY_ROUTE_NOT_ALLOWED`, `SERVICE_PARTY_NOT_ALLOWED`, `SERVICE_PRINCIPAL_NOT_ALLOWED`, `SIGNUP_NOT_INVITED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"A dependency is unavailable or the feature is not enabled on this deployment. Codes: `AUTHENTICATION_UNAVAILABLE`, `AUTHORIZATION_UNAVAILABLE`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{"bearer":[]}],"summary":"List token launches attributed to the active product account.","tags":["creator"]}},"/api/v1/me/creator-rewards":{"get":{"operationId":"CreatorController_rewards_v1","parameters":[{"name":"limit","required":false,"in":"query","schema":{"default":20,"type":"integer","minimum":1,"maximum":100}},{"name":"attributionCursor","required":false,"in":"query","schema":{"type":"string","minLength":1,"maxLength":512}},{"name":"distributionCursor","required":false,"in":"query","schema":{"type":"string","minLength":1,"maxLength":512}},{"name":"launchCursor","required":false,"in":"query","schema":{"type":"string","minLength":1,"maxLength":512}},{"$ref":"#/components/parameters/ServiceActAs"},{"$ref":"#/components/parameters/RequestId"}],"responses":{"200":{"description":"Entitled creator revenue projection.","content":{"application/json":{"schema":{"type":"object","properties":{"accounting":{"type":"object","properties":{"attributions":{"type":"array","items":{"type":"object","properties":{"attributionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"attributionReference":{"type":"string","minLength":3,"maxLength":256,"pattern":"^[A-Za-z0-9._:-]+$"},"basisAmountCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,23})(?:\\.\\d{1,10})?$"},"beneficiaryPartyId":{"type":"string","description":"Opaque, case-sensitive Canton Party ID containing 3-512 Unicode scalar values with no normalization, edge whitespace, or C0/C1 control characters.","minLength":3,"maxLength":512},"beneficiaryPartySource":{"type":"string","enum":["external","launcher"]},"creatorRevenueCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,23})(?:\\.\\d{1,10})?$"},"distributedCreatorRevenueCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,23})(?:\\.\\d{1,10})?$"},"entryKind":{"type":"string","enum":["accrual","reversal"]},"evidence":{"oneOf":[{"type":"object","properties":{"cantonEventId":{"type":"string","minLength":1,"maxLength":512},"cantonUpdateId":{"type":"string","minLength":1,"maxLength":512},"eventDigest":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"},"eventReference":{"type":"string","minLength":3,"maxLength":256,"pattern":"^[A-Za-z0-9._:-]+$"},"ledgerOffset":{"type":"string","minLength":1,"maxLength":512},"marketReference":{"type":"string","minLength":1,"maxLength":160},"recordTime":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"routeLegCount":{"type":"integer","minimum":1,"maximum":2},"routeLegIndex":{"type":"integer","minimum":0,"maximum":1},"source":{"type":"string","const":"virtual-curve-trading-fee"}},"required":["cantonEventId","cantonUpdateId","eventDigest","eventReference","ledgerOffset","marketReference","recordTime","routeLegCount","routeLegIndex","source"],"additionalProperties":false},{"type":"object","properties":{"cantonEventId":{"type":"string","minLength":1,"maxLength":512},"cantonUpdateId":{"type":"string","minLength":1,"maxLength":512},"eventDigest":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"},"eventReference":{"type":"string","minLength":3,"maxLength":256,"pattern":"^[A-Za-z0-9._:-]+$"},"ledgerOffset":{"type":"string","minLength":1,"maxLength":512},"marketReference":{"type":"string","minLength":1,"maxLength":160},"recordTime":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"routeLegCount":{"type":"integer","minimum":1,"maximum":2},"routeLegIndex":{"type":"integer","minimum":0,"maximum":1},"source":{"type":"string","const":"supaswap-amm-trading-fee"}},"required":["cantonEventId","cantonUpdateId","eventDigest","eventReference","ledgerOffset","marketReference","recordTime","routeLegCount","routeLegIndex","source"],"additionalProperties":false},{"type":"object","properties":{"cantonEventId":{"type":"string","minLength":1,"maxLength":512},"cantonUpdateId":{"type":"string","minLength":1,"maxLength":512},"couponContractId":{"type":"string","minLength":1,"maxLength":512},"eventDigest":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"},"eventReference":{"type":"string","minLength":3,"maxLength":256,"pattern":"^[A-Za-z0-9._:-]+$"},"ledgerOffset":{"type":"string","minLength":1,"maxLength":512},"markerContractId":{"type":"string","minLength":1,"maxLength":512},"recordTime":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"round":{"type":"string","pattern":"^(0|[1-9][0-9]{0,18})$"},"source":{"type":"string","const":"featured-app-cc-reward"}},"required":["cantonEventId","cantonUpdateId","couponContractId","eventDigest","eventReference","ledgerOffset","markerContractId","recordTime","round","source"],"additionalProperties":false}]},"formulaId":{"type":"string","const":"supanova-creator-revenue-v1"},"grossRevenueCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,23})(?:\\.\\d{1,10})?$"},"launchId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"outstandingCreatorRevenueCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,23})(?:\\.\\d{1,10})?$"},"policyHash":{"type":"string","const":"sha256:a926e0a380b3938648b5fa9898136638e1276128947cf94033e760f87a27e8b2"},"policyId":{"type":"string","const":"supanova-creator-revenue-policy"},"policyVersion":{"type":"string","const":"1"},"protocolRootId":{"type":"string","minLength":1,"maxLength":160},"protocolRevenueCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,23})(?:\\.\\d{1,10})?$"},"reversesAttributionId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"null"}]},"source":{"type":"string","enum":["virtual-curve-trading-fee","supaswap-amm-trading-fee","featured-app-cc-reward"]},"tokenInstrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false},"tokenSlug":{"type":"string","pattern":"^[a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?$"},"viewerRelationship":{"type":"string","enum":["beneficiary","both","launch_creator"]}},"required":["attributionId","attributionReference","basisAmountCc","beneficiaryPartyId","beneficiaryPartySource","creatorRevenueCc","distributedCreatorRevenueCc","entryKind","evidence","formulaId","grossRevenueCc","launchId","outstandingCreatorRevenueCc","policyHash","policyId","policyVersion","protocolRootId","protocolRevenueCc","reversesAttributionId","source","tokenInstrument","tokenSlug","viewerRelationship"],"additionalProperties":false}},"launches":{"type":"array","items":{"type":"object","properties":{"accrualCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"beneficiaryPartyId":{"type":"string","description":"Opaque, case-sensitive Canton Party ID containing 3-512 Unicode scalar values with no normalization, edge whitespace, or C0/C1 control characters.","minLength":3,"maxLength":512},"beneficiaryPartySource":{"type":"string","enum":["external","launcher"]},"distributionCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"launchId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"protocolRootId":{"type":"string","minLength":1,"maxLength":160},"reversalCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"sources":{"type":"array","items":{"type":"object","properties":{"source":{"type":"string","enum":["virtual-curve-trading-fee","supaswap-amm-trading-fee","featured-app-cc-reward"]},"totals":{"type":"object","properties":{"creatorRevenueCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"distributedCreatorRevenueCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"grossRevenueCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"outstandingCreatorRevenueCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"protocolRevenueCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["creatorRevenueCc","distributedCreatorRevenueCc","grossRevenueCc","outstandingCreatorRevenueCc","protocolRevenueCc"],"additionalProperties":false}},"required":["source","totals"],"additionalProperties":false}},"tokenSlug":{"type":"string","pattern":"^[a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?$"},"tokenInstrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false},"totals":{"type":"object","properties":{"creatorRevenueCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"distributedCreatorRevenueCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"grossRevenueCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"outstandingCreatorRevenueCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"protocolRevenueCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["creatorRevenueCc","distributedCreatorRevenueCc","grossRevenueCc","outstandingCreatorRevenueCc","protocolRevenueCc"],"additionalProperties":false}},"required":["accrualCount","beneficiaryPartyId","beneficiaryPartySource","distributionCount","launchId","protocolRootId","reversalCount","sources","tokenSlug","tokenInstrument","totals"],"additionalProperties":false}},"policy":{"type":"object","properties":{"attribution":{"type":"object","properties":{"featuredApp":{"type":"string","const":"authoritative-cc-event-uniquely-correlated-to-one-accepted-launch-instrument-only"},"reversal":{"type":"string","const":"append-only-exact-opposite-once-and-only-before-any-distribution-allocation"},"routedTokenToToken":{"type":"string","const":"one-source-event-per-supaswap-leg-attributed-to-that-leg-token-launch"},"unattributedActivity":{"type":"string","const":"reject-never-api-prorate"}},"required":["featuredApp","reversal","routedTokenToToken","unattributedActivity"],"additionalProperties":false},"eligibility":{"type":"object","properties":{"activation":{"type":"string","const":"exact-policy-accepted-launches-only-no-retroactive-attribution"},"beneficiary":{"type":"string","const":"immutable-token-launch-reward-route-party"},"rewardDestination":{"type":"string","const":"creator"},"traderCashback":{"type":"string","const":"ineligible-pending-explicit-product-decision"}},"required":["activation","beneficiary","rewardDestination","traderCashback"],"additionalProperties":false},"formulaId":{"type":"string","const":"supanova-creator-revenue-v1"},"hash":{"type":"string","const":"sha256:a926e0a380b3938648b5fa9898136638e1276128947cf94033e760f87a27e8b2"},"id":{"type":"string","const":"supanova-creator-revenue-policy"},"immutable":{"type":"boolean","const":true},"numericScale":{"type":"number","const":10},"numericDomain":{"type":"object","properties":{"dust":{"type":"string","const":"reject-if-gross-or-creator-rounds-to-zero"},"maximumBasisAmountCc":{"type":"string","const":"999999999999999999999999.9999999999"}},"required":["dust","maximumBasisAmountCc"],"additionalProperties":false},"rounding":{"type":"object","properties":{"grossRevenue":{"type":"string","const":"round10-half-even(source-basis-cc*source-rate)"},"split":{"type":"string","const":"creator=round10-half-even(gross-revenue-cc*creator-share-rate);protocol=gross-revenue-cc-creator-revenue-cc"}},"required":["grossRevenue","split"],"additionalProperties":false},"settlement":{"type":"object","properties":{"execution":{"type":"string","const":"not-enabled"},"featuredAppExternalPartyRequirement":{"type":"string","const":"beneficiary-mint-delegation-or-manual-mint-each-round-required"},"legalApproval":{"type":"string","const":"required-before-live"},"readiness":{"type":"string","const":"canton-attribution-and-distribution-writers-not-configured"}},"required":["execution","featuredAppExternalPartyRequirement","legalApproval","readiness"],"additionalProperties":false},"sources":{"type":"array","minItems":3,"maxItems":3,"prefixItems":[{"type":"object","properties":{"basis":{"type":"string","const":"gross-curve-trade-notional-cc"},"creatorShareRate":{"type":"string","const":"0.80"},"id":{"type":"string","const":"virtual-curve-trading-fee"},"protocolShareRate":{"type":"string","const":"0.20"},"revenueRate":{"type":"string","const":"0.01"},"settlementStrategy":{"type":"string","const":"accounted-then-ledger-distribution"}},"required":["basis","creatorShareRate","id","protocolShareRate","revenueRate","settlementStrategy"],"additionalProperties":false},{"type":"object","properties":{"basis":{"type":"string","const":"gross-supaswap-trade-notional-cc"},"creatorShareRate":{"type":"string","const":"0.80"},"id":{"type":"string","const":"supaswap-amm-trading-fee"},"protocolShareRate":{"type":"string","const":"0.20"},"revenueRate":{"type":"string","const":"0.01"},"settlementStrategy":{"type":"string","const":"accounted-then-ledger-distribution"}},"required":["basis","creatorShareRate","id","protocolShareRate","revenueRate","settlementStrategy"],"additionalProperties":false},{"type":"object","properties":{"basis":{"type":"string","const":"coin-attributable-featured-app-reward-cc"},"creatorShareRate":{"type":"string","const":"0.50"},"id":{"type":"string","const":"featured-app-cc-reward"},"protocolShareRate":{"type":"string","const":"0.50"},"revenueRate":{"type":"string","const":"1.00"},"settlementStrategy":{"type":"string","const":"weighted-featured-app-marker-direct"}},"required":["basis","creatorShareRate","id","protocolShareRate","revenueRate","settlementStrategy"],"additionalProperties":false}]},"version":{"type":"string","const":"1"}},"required":["attribution","eligibility","formulaId","hash","id","immutable","numericScale","numericDomain","rounding","settlement","sources","version"],"additionalProperties":false},"settlement":{"type":"object","properties":{"distributionMutationAvailable":{"type":"boolean","const":false},"execution":{"type":"string","const":"not-enabled"},"featuredAppStrategy":{"type":"string","const":"weighted-featured-app-marker-direct"},"readiness":{"type":"string","const":"canton-attribution-and-distribution-writers-not-configured"}},"required":["distributionMutationAvailable","execution","featuredAppStrategy","readiness"],"additionalProperties":false},"totals":{"type":"object","properties":{"creatorRevenueCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"distributedCreatorRevenueCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"grossRevenueCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"outstandingCreatorRevenueCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"protocolRevenueCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["creatorRevenueCc","distributedCreatorRevenueCc","grossRevenueCc","outstandingCreatorRevenueCc","protocolRevenueCc"],"additionalProperties":false}},"required":["attributions","launches","policy","settlement","totals"],"additionalProperties":false},"items":{"type":"array","items":{"type":"object","properties":{"amountCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"attributionIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"creatorRewardPartyId":{"type":"string","description":"Opaque, case-sensitive Canton Party ID containing 3-512 Unicode scalar values with no normalization, edge whitespace, or C0/C1 control characters.","minLength":3,"maxLength":512},"creatorRewardPartySource":{"type":"string","enum":["launcher","external"]},"distributionId":{"type":"string","minLength":3,"maxLength":256,"pattern":"^[A-Za-z0-9._:-]+$"},"evidenceStatus":{"type":"string","enum":["ledger-confirmed-value-movement","simulated"]},"occurredAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"rewardRoutingPolicyHash":{"type":"string","const":"sha256:fe83c99bff082060a46d8a30ea9de61fc1f165ccd2c28c595b85f393accd86dd"},"tokenSlug":{"type":"string","pattern":"^[a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?$"},"valueMovementProven":{"type":"boolean"},"viewerRelationship":{"type":"string","enum":["beneficiary","both","launch_creator"]}},"required":["amountCc","attributionIds","creatorRewardPartyId","creatorRewardPartySource","distributionId","evidenceStatus","occurredAt","rewardRoutingPolicyHash","tokenSlug","valueMovementProven","viewerRelationship"],"additionalProperties":false}},"meta":{"oneOf":[{"type":"object","properties":{"asOf":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"dataMode":{"type":"string","const":"simulated"},"disclaimer":{"type":"string","minLength":1,"maxLength":512},"networkId":{"type":"string","pattern":"^canton:[-_a-zA-Z0-9]{1,32}$"},"projection":{"type":"null"}},"required":["asOf","dataMode","disclaimer","networkId","projection"],"additionalProperties":false},{"type":"object","properties":{"asOf":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"dataMode":{"type":"string","const":"projected"},"disclaimer":{"type":"string","minLength":1,"maxLength":512},"networkId":{"type":"string","pattern":"^canton:[-_a-zA-Z0-9]{1,32}$"},"projection":{"type":"object","properties":{"ledgerOffset":{"type":"string","minLength":1,"maxLength":512},"policyHash":{"type":"string","const":"sha256:a926e0a380b3938648b5fa9898136638e1276128947cf94033e760f87a27e8b2"},"recordTime":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"semanticDecoder":{"type":"string","const":"supanova-creator-revenue-v1"},"version":{"type":"string","const":"1"}},"required":["ledgerOffset","policyHash","recordTime","semanticDecoder","version"],"additionalProperties":false}},"required":["asOf","dataMode","disclaimer","networkId","projection"],"additionalProperties":false}]},"page":{"type":"object","properties":{"attributions":{"type":"object","properties":{"hasMore":{"type":"boolean"},"limit":{"type":"integer","minimum":1,"maximum":100},"nextCursor":{"type":["string","null"]}},"required":["hasMore","limit","nextCursor"],"additionalProperties":false},"distributions":{"type":"object","properties":{"hasMore":{"type":"boolean"},"limit":{"type":"integer","minimum":1,"maximum":100},"nextCursor":{"type":["string","null"]}},"required":["hasMore","limit","nextCursor"],"additionalProperties":false},"launches":{"type":"object","properties":{"hasMore":{"type":"boolean"},"limit":{"type":"integer","minimum":1,"maximum":100},"nextCursor":{"type":["string","null"]}},"required":["hasMore","limit","nextCursor"],"additionalProperties":false}},"required":["attributions","distributions","launches"],"additionalProperties":false},"totalCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["accounting","items","meta","page","totalCc"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The request is malformed or failed validation. Codes: `VALIDATION_FAILED`, `AMBIGUOUS_CREDENTIALS`, `SERVICE_ACT_AS_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `AUTHENTICATION_REQUIRED`, `INVALID_AUTHORIZATION_HEADER`, `INVALID_ACCESS_TOKEN`, `SESSION_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Codes: `ACCOUNT_RESTRICTED`, `ANONYMOUS_ACCOUNT_NOT_ALLOWED`, `API_KEY_ROUTE_NOT_ALLOWED`, `SERVICE_PARTY_NOT_ALLOWED`, `SERVICE_PRINCIPAL_NOT_ALLOWED`, `SIGNUP_NOT_INVITED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"A dependency is unavailable or the feature is not enabled on this deployment. Codes: `AUTHENTICATION_UNAVAILABLE`, `AUTHORIZATION_UNAVAILABLE`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{"bearer":[]}],"summary":"Read bounded creator revenue accounting and distribution history.","tags":["creator"]}},"/api/v1/me/creator-rewards/summary":{"get":{"operationId":"CreatorController_rewardsSummary_v1","parameters":[{"$ref":"#/components/parameters/ServiceActAs"},{"$ref":"#/components/parameters/RequestId"}],"responses":{"200":{"description":"Creator reward totals at one ledger offset; zeros when the account has no launch.","content":{"application/json":{"schema":{"type":"object","properties":{"pendingCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,37})(?:\\.\\d{1,10})?$"},"accruedCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,37})(?:\\.\\d{1,10})?$"},"claimedCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,37})(?:\\.\\d{1,10})?$"},"claimedSource":{"type":"string","const":"confirmed-maker-claims"},"confirmedClaims":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,37})(?:\\.\\d{1,10})?$"},"launches":{"type":"integer","minimum":0,"maximum":9007199254740991},"asOf":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"ledgerOffset":{"anyOf":[{"type":"string","pattern":"^\\d+$"},{"type":"null"}]},"dataMode":{"type":"string","const":"ledger"},"networkId":{"type":"string","pattern":"^canton:[-_a-zA-Z0-9]{1,32}$"}},"required":["pendingCc","accruedCc","claimedCc","claimedSource","confirmedClaims","totalCc","launches","asOf","ledgerOffset","dataMode","networkId"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The request is malformed or failed validation. Codes: `AMBIGUOUS_CREDENTIALS`, `SERVICE_ACT_AS_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"A product account is required. Also: `AUTHENTICATION_REQUIRED`, `INVALID_AUTHORIZATION_HEADER`, `INVALID_ACCESS_TOKEN`, `SESSION_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Codes: `ACCOUNT_RESTRICTED`, `ANONYMOUS_ACCOUNT_NOT_ALLOWED`, `API_KEY_ROUTE_NOT_ALLOWED`, `SERVICE_PARTY_NOT_ALLOWED`, `SERVICE_PRINCIPAL_NOT_ALLOWED`, `SIGNUP_NOT_INVITED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"A ledger, market or claim read failed; never represented as a zero or partial total. Also: `AUTHENTICATION_UNAVAILABLE`, `AUTHORIZATION_UNAVAILABLE`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{"bearer":[]}],"summary":"Total, claimed and pending creator rewards of the caller's launches, from live maker fee accruals and confirmed maker claims.","tags":["creator"]}},"/api/v1/fee-claims/maker":{"get":{"operationId":"FeeClaimController_makerBalance_v1","parameters":[{"name":"instrumentId","required":true,"in":"query","schema":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9._-]{0,159}$"}},{"name":"walletConnectionId","required":false,"in":"query","schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},{"$ref":"#/components/parameters/ServiceActAs"},{"$ref":"#/components/parameters/RequestId"}],"responses":{"200":{"description":"Current curve and AMM maker fee balances at one ledger offset.","content":{"application/json":{"schema":{"type":"object","properties":{"partyId":{"type":"string","minLength":1},"instrumentId":{"type":"string","minLength":1,"maxLength":160},"walletConnectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"networkId":{"type":"string","minLength":1},"asOf":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"ledgerOffset":{"type":"string","pattern":"^\\d+$"},"venues":{"minItems":1,"maxItems":2,"type":"array","items":{"type":"object","properties":{"venue":{"type":"string","enum":["curve","amm"]},"accruedCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"minimumClaimCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"claimableCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["venue","accruedCc","minimumClaimCc","claimableCc"],"additionalProperties":false}},"totalAccruedCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,28})(?:\\.\\d{1,10})?$"},"totalClaimableCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,28})(?:\\.\\d{1,10})?$"}},"required":["partyId","instrumentId","walletConnectionId","networkId","asOf","ledgerOffset","venues","totalAccruedCc","totalClaimableCc"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The request is malformed or failed validation. Codes: `VALIDATION_FAILED`, `AMBIGUOUS_CREDENTIALS`, `SERVICE_ACT_AS_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `AUTHENTICATION_REQUIRED`, `INVALID_AUTHORIZATION_HEADER`, `INVALID_ACCESS_TOKEN`, `SESSION_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"Not the token creator, or the Party is not allowed. Also: `ACCOUNT_RESTRICTED`, `ANONYMOUS_ACCOUNT_NOT_ALLOWED`, `API_KEY_ROUTE_NOT_ALLOWED`, `SERVICE_PARTY_NOT_ALLOWED`, `SERVICE_PRINCIPAL_NOT_ALLOWED`, `SIGNUP_NOT_INVITED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"No wallet, or no pool for the token.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"The ledger is unavailable; never represented as a zero balance. Also: `AUTHENTICATION_UNAVAILABLE`, `AUTHORIZATION_UNAVAILABLE`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{"bearer":[]}],"summary":"Read the connected creator wallet’s accrued and claimable maker fees without preparing or submitting a claim.","tags":["fee claims"]}},"/api/v1/fee-claims/maker/prepare":{"post":{"operationId":"FeeClaimController_prepareMakerClaim_v1","parameters":[{"$ref":"#/components/parameters/ServiceActAs"},{"$ref":"#/components/parameters/RequestId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"instrumentId":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9._-]{0,159}$"},"walletConnectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["instrumentId"],"additionalProperties":false}}}},"responses":{"201":{"description":"The claim command for sendTransaction.","content":{"application/json":{"schema":{"type":"object","properties":{"commandId":{"type":"string","minLength":1,"maxLength":255},"partyId":{"type":"string","minLength":1},"instrumentId":{"type":"string","minLength":1,"maxLength":160},"venue":{"type":"string","enum":["curve","amm"]},"claimableCc":{"type":"string"},"minimumClaimCc":{"type":"string"},"balanceCid":{"type":"string","minLength":1},"balanceCreated":{"type":"boolean"},"actAs":{"minItems":1,"maxItems":1,"type":"array","items":{"type":"string","minLength":1}},"commands":{"minItems":1,"maxItems":1,"type":"array","items":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}}},"disclosedContracts":{"maxItems":1,"type":"array","items":{"type":"object","properties":{"contractId":{"type":"string","minLength":1,"maxLength":255},"createdEventBlob":{"type":"string","minLength":1},"synchronizerId":{"type":"string","minLength":1,"maxLength":512},"templateId":{"type":"string","minLength":1,"maxLength":255}},"required":["contractId","createdEventBlob","synchronizerId","templateId"],"additionalProperties":false}},"packageIdSelectionPreference":{"maxItems":4,"type":"array","items":{"type":"string","pattern":"^[0-9a-f]{64}$"}}},"required":["commandId","partyId","instrumentId","venue","claimableCc","minimumClaimCc","balanceCid","balanceCreated","actAs","commands","disclosedContracts","packageIdSelectionPreference"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The request is malformed or failed validation. Codes: `VALIDATION_FAILED`, `AMBIGUOUS_CREDENTIALS`, `SERVICE_ACT_AS_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `AUTHENTICATION_REQUIRED`, `INVALID_AUTHORIZATION_HEADER`, `INVALID_ACCESS_TOKEN`, `SESSION_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"Not the token creator, or the Party is not allowed. Also: `ACCOUNT_RESTRICTED`, `ANONYMOUS_ACCOUNT_NOT_ALLOWED`, `API_KEY_ROUTE_NOT_ALLOWED`, `SERVICE_PARTY_NOT_ALLOWED`, `SERVICE_PRINCIPAL_NOT_ALLOWED`, `SIGNUP_NOT_INVITED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"No wallet, or no pool for the token.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"413":{"description":"The request body exceeds the size limit.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The accrual is below the claim minimum.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"428":{"description":"The signed-in account must accept the current product terms first. Codes: `PRODUCT_LEGAL_ACCEPTANCE_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"The ledger is unavailable. Also: `AUTHENTICATION_UNAVAILABLE`, `AUTHORIZATION_UNAVAILABLE`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{"bearer":[]}],"summary":"Prepare the creator's wallet-signed maker fee claim of one token.","tags":["fee claims"]}},"/api/v1/wallet/connections/challenges":{"post":{"operationId":"WalletController_createConnectionChallenge_v1","parameters":[{"name":"Origin","in":"header","description":"Exact browser origin to bind into the signed challenge.","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/ServiceActAs"},{"$ref":"#/components/parameters/RequestId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"partyId":{"type":"string","description":"Opaque, case-sensitive Canton Party ID containing 3-512 Unicode scalar values with no normalization, edge whitespace, or C0/C1 control characters.","minLength":3,"maxLength":512},"publicKey":{"type":"string","pattern":"^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$"},"walletProvider":{"type":"string","minLength":3,"maxLength":64,"pattern":"^[a-z0-9](?:[a-z0-9.-]{1,62}[a-z0-9])$"}},"required":["partyId","walletProvider"],"additionalProperties":false}}}},"responses":{"201":{"description":"A one-time binding challenge: sign signingRequest.params.hash with the Party key.","content":{"application/json":{"schema":{"type":"object","properties":{"binding":{"type":"object","properties":{"appOrigin":{"type":"string","format":"uri"},"appStage":{"type":"string","enum":["local","preview","devnet","mainnet"]},"networkId":{"type":"string"},"partyId":{"type":"string","description":"Opaque, case-sensitive Canton Party ID containing 3-512 Unicode scalar values with no normalization, edge whitespace, or C0/C1 control characters.","minLength":3,"maxLength":512},"walletProvider":{"type":"string","minLength":3,"maxLength":64,"pattern":"^[a-z0-9](?:[a-z0-9.-]{1,62}[a-z0-9])$"}},"required":["appOrigin","appStage","networkId","partyId","walletProvider"],"additionalProperties":false},"challengeId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"expiresAt":{"type":"string"},"message":{"type":"string"},"signingRequest":{"type":"object","properties":{"method":{"type":"string","const":"signHash"},"params":{"type":"object","properties":{"hash":{"type":"string"},"message":{"type":"string"}},"required":["hash","message"],"additionalProperties":false},"standard":{"type":"string","const":"supanova-launchpad-binding-v1"}},"required":["method","params","standard"],"additionalProperties":false}},"required":["binding","challengeId","expiresAt","message","signingRequest"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The request is malformed or failed validation. Codes: `VALIDATION_FAILED`, `AMBIGUOUS_CREDENTIALS`, `SERVICE_ACT_AS_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `AUTHENTICATION_REQUIRED`, `INVALID_AUTHORIZATION_HEADER`, `INVALID_ACCESS_TOKEN`, `SESSION_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Codes: `ACCOUNT_RESTRICTED`, `ANONYMOUS_ACCOUNT_NOT_ALLOWED`, `API_KEY_ROUTE_NOT_ALLOWED`, `SERVICE_PARTY_NOT_ALLOWED`, `SERVICE_PRINCIPAL_NOT_ALLOWED`, `SIGNUP_NOT_INVITED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"413":{"description":"The request body exceeds the size limit.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"428":{"description":"The signed-in account must accept the current product terms first. Codes: `PRODUCT_LEGAL_ACCEPTANCE_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"A dependency is unavailable or the feature is not enabled on this deployment. Codes: `AUTHENTICATION_UNAVAILABLE`, `AUTHORIZATION_UNAVAILABLE`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{"bearer":[]}],"summary":"Create a short-lived, origin-bound CIP-0103 wallet ownership challenge.","tags":["wallet"]}},"/api/v1/wallet/connections/verify":{"post":{"operationId":"WalletController_verifyConnectionChallenge_v1","parameters":[{"name":"Origin","in":"header","description":"Exact browser origin used when the challenge was created.","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/ServiceActAs"},{"$ref":"#/components/parameters/RequestId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"challengeId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"message":{"type":"string","minLength":1,"maxLength":4096},"publicKey":{"type":"string","pattern":"^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$"},"signature":{"type":"string","minLength":16,"maxLength":8192}},"required":["challengeId","message","signature"],"additionalProperties":false}}}},"responses":{"200":{"description":"The server-verified wallet connection.","content":{"application/json":{"schema":{"type":"object","properties":{"connection":{"type":"object","properties":{"cantonPartyId":{"type":"string","description":"Opaque, case-sensitive Canton Party ID containing 3-512 Unicode scalar values with no normalization, edge whitespace, or C0/C1 control characters.","minLength":3,"maxLength":512},"dataMode":{"type":"string","enum":["projected","simulated"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"isPrimary":{"type":"boolean"},"label":{"type":["string","null"]},"networkId":{"type":"string"},"status":{"type":"string","const":"verified"},"verifiedAt":{"type":"string"},"verificationMethod":{"type":"string","const":"cip-0103-sign-message"},"walletKind":{"type":"string","const":"canton"},"walletProvider":{"type":"string","minLength":3,"maxLength":64,"pattern":"^[a-z0-9](?:[a-z0-9.-]{1,62}[a-z0-9])$"}},"required":["cantonPartyId","dataMode","id","isPrimary","label","networkId","status","verifiedAt","verificationMethod","walletKind","walletProvider"],"additionalProperties":false},"verification":{"type":"object","properties":{"method":{"type":"string","const":"cip-0103-sign-message"},"standard":{"type":"string","const":"CIP-0103"},"verifiedAt":{"type":"string"}},"required":["method","standard","verifiedAt"],"additionalProperties":false}},"required":["connection","verification"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The request is malformed or failed validation. Codes: `VALIDATION_FAILED`, `AMBIGUOUS_CREDENTIALS`, `SERVICE_ACT_AS_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `AUTHENTICATION_REQUIRED`, `INVALID_AUTHORIZATION_HEADER`, `INVALID_ACCESS_TOKEN`, `SESSION_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Codes: `ACCOUNT_RESTRICTED`, `ANONYMOUS_ACCOUNT_NOT_ALLOWED`, `API_KEY_ROUTE_NOT_ALLOWED`, `SERVICE_PARTY_NOT_ALLOWED`, `SERVICE_PRINCIPAL_NOT_ALLOWED`, `SIGNUP_NOT_INVITED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"413":{"description":"The request body exceeds the size limit.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"428":{"description":"The signed-in account must accept the current product terms first. Codes: `PRODUCT_LEGAL_ACCEPTANCE_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"A dependency is unavailable or the feature is not enabled on this deployment. Codes: `AUTHENTICATION_UNAVAILABLE`, `AUTHORIZATION_UNAVAILABLE`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{"bearer":[]}],"summary":"Consume a challenge and verify the Party-key signature over its binding digest once.","tags":["wallet"]}},"/api/v1/wallet/portfolio":{"get":{"operationId":"WalletController_portfolio_v1","parameters":[{"name":"walletConnectionId","required":false,"in":"query","schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},{"$ref":"#/components/parameters/ServiceActAs"},{"$ref":"#/components/parameters/RequestId"}],"responses":{"200":{"description":"The owned wallet portfolio read model.","content":{"application/json":{"schema":{"type":"object","properties":{"asOf":{"type":"string"},"balances":{"type":"array","items":{"type":"object","properties":{"actions":{"type":"object","properties":{"swapBuy":{"type":"object","properties":{"dataMode":{"type":"string","enum":["none","projected","simulated"]},"reasonCode":{"anyOf":[{"type":"string","minLength":1,"maxLength":128},{"type":"null"}]},"status":{"type":"string","enum":["blocked","disabled","preview","ready"]}},"required":["dataMode","reasonCode","status"],"additionalProperties":false},"swapSell":{"type":"object","properties":{"dataMode":{"type":"string","enum":["none","projected","simulated"]},"reasonCode":{"anyOf":[{"type":"string","minLength":1,"maxLength":128},{"type":"null"}]},"status":{"type":"string","enum":["blocked","disabled","preview","ready"]}},"required":["dataMode","reasonCode","status"],"additionalProperties":false},"transfer":{"type":"object","properties":{"dataMode":{"type":"string","enum":["none","projected","simulated"]},"reasonCode":{"anyOf":[{"type":"string","minLength":1,"maxLength":128},{"type":"null"}]},"status":{"type":"string","enum":["blocked","disabled","preview","ready"]}},"required":["dataMode","reasonCode","status"],"additionalProperties":false}},"required":["swapBuy","swapSell","transfer"],"additionalProperties":false},"asset":{"type":"object","properties":{"assetType":{"type":"string","enum":["native","stablecoin","utility","governance","security","other"]},"canonicalSlug":{"type":"string","minLength":3,"maxLength":64,"pattern":"^[a-z0-9][a-z0-9-]{1,62}[a-z0-9]$"},"decimals":{"type":"integer","minimum":0,"maximum":18},"logoPath":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]},"marketSlug":{"anyOf":[{"type":"string","minLength":3,"maxLength":64,"pattern":"^[a-z0-9][a-z0-9-]{1,62}[a-z0-9]$"},{"type":"null"}]}},"required":["assetType","canonicalSlug","decimals","logoPath","marketSlug"],"additionalProperties":false},"availableAmount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"depositAccount":{"type":"object","properties":{"frozen":{"type":"boolean"},"walletCcAmount":{"anyOf":[{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},{"type":"null"}]},"walletCcUnavailableReason":{"anyOf":[{"type":"string","minLength":1,"maxLength":64},{"type":"null"}]}},"required":["frozen","walletCcAmount","walletCcUnavailableReason"],"additionalProperties":false},"instrumentId":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":512},"id":{"type":"string","minLength":1,"maxLength":512}},"required":["admin","id"],"additionalProperties":false},"lockedAmount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"name":{"type":"string"},"publicHolderHints":{"maxItems":4,"type":"array","items":{"type":"string","pattern":"^holder_[0-9a-f]{24}$"}},"symbol":{"type":"string"},"totalAmount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["actions","asset","availableAmount","instrumentId","lockedAmount","name","symbol","totalAmount"],"additionalProperties":false}},"dataMode":{"type":"string","enum":["projected","simulated"]},"disclaimer":{"type":"string"},"networkId":{"type":"string","pattern":"^canton:[-_a-zA-Z0-9]{1,32}$"},"partyId":{"type":"string"},"walletConnectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["asOf","balances","dataMode","disclaimer","networkId","partyId","walletConnectionId"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The request is malformed or failed validation. Codes: `VALIDATION_FAILED`, `AMBIGUOUS_CREDENTIALS`, `SERVICE_ACT_AS_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `AUTHENTICATION_REQUIRED`, `INVALID_AUTHORIZATION_HEADER`, `INVALID_ACCESS_TOKEN`, `SESSION_REVOKED`, `API_KEY_INVALID`, `API_KEY_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Owner routes accept only a customer API key: an internal master key answers `API_KEY_ROUTE_NOT_ALLOWED`. Codes: `ACCOUNT_RESTRICTED`, `ANONYMOUS_ACCOUNT_NOT_ALLOWED`, `API_KEY_ROUTE_NOT_ALLOWED`, `SERVICE_PARTY_NOT_ALLOWED`, `SERVICE_PRINCIPAL_NOT_ALLOWED`, `SIGNUP_NOT_INVITED`, `API_KEY_IP_NOT_ALLOWED`, `PRODUCT_ACCOUNT_RESTRICTED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"A dependency is unavailable or the feature is not enabled on this deployment. Codes: `AUTHENTICATION_UNAVAILABLE`, `AUTHORIZATION_UNAVAILABLE`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Read the authenticated user’s wallet portfolio projection.","tags":["wallet"],"x-api-key-scope":"read"}},"/api/v1/wallet/transfers/prepare":{"post":{"operationId":"WalletController_prepareTransfer_v1","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":256,"pattern":"^[A-Za-z0-9._:-]+$"}},{"$ref":"#/components/parameters/ServiceActAs"},{"$ref":"#/components/parameters/RequestId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"amount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"instrumentId":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":512},"id":{"type":"string","minLength":1,"maxLength":512}},"required":["admin","id"],"additionalProperties":false},"memo":{"type":"string","minLength":1,"maxLength":280},"recipientPartyId":{"type":"string","description":"Opaque, case-sensitive Canton Party ID containing 3-512 Unicode scalar values with no normalization, edge whitespace, or C0/C1 control characters.","minLength":3,"maxLength":512},"walletConnectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["amount","instrumentId","recipientPartyId","walletConnectionId"],"additionalProperties":false}}}},"responses":{"201":{"description":"A wallet-neutral action and operation.","content":{"application/json":{"schema":{"type":"object","properties":{"execution":{"type":"string","const":"simulated"},"fee":{"type":"object","properties":{"amount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"asset":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":512},"id":{"type":"string","minLength":1,"maxLength":512}},"required":["admin","id"],"additionalProperties":false},"policy":{"type":"string","const":"cip-0078-no-cc-transfer-fee"}},"required":["amount","asset","policy"],"additionalProperties":false},"feeLineItems":{"type":"array","items":{"type":"object","properties":{"amount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"instrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":512},"id":{"type":"string","minLength":1,"maxLength":512}},"required":["admin","id"],"additionalProperties":false},"kind":{"type":"string","const":"transfer"},"label":{"type":"string"}},"required":["amount","instrument","kind","label"],"additionalProperties":false}},"operation":{"type":"object","properties":{"expiresAt":{"type":"string"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"status":{"type":"string","enum":["received","validating","awaiting_signature","ready","submitted","confirmed","failed","rejected","expired","cancelled"]}},"required":["expiresAt","id","status"],"additionalProperties":false},"walletAction":{"type":"object","properties":{"expiresAt":{"type":"string"},"intent":{"type":"object","properties":{"amount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"feeAmountCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"instrumentId":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":512},"id":{"type":"string","minLength":1,"maxLength":512}},"required":["admin","id"],"additionalProperties":false},"memo":{"type":"string"},"recipientPartyId":{"type":"string"},"senderPartyId":{"type":"string"},"type":{"type":"string","const":"transfer.execute"}},"required":["amount","feeAmountCc","instrumentId","recipientPartyId","senderPartyId","type"],"additionalProperties":false},"kind":{"type":"string","const":"canton.prepare-execute"},"method":{"type":"string","const":"prepareExecute"},"networkId":{"type":"string","pattern":"^canton:[-_a-zA-Z0-9]{1,32}$"},"operationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"readiness":{"type":"string","enum":["daml-command-builder-not-configured","ready"]},"request":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["application-submission","interactive-submission","wallet-submission"]},"commandId":{"type":"string","minLength":1,"maxLength":255},"actAs":{"minItems":1,"maxItems":8,"type":"array","items":{"type":"string","minLength":3,"maxLength":512}},"synchronizerId":{"type":"string","minLength":1,"maxLength":512},"hashingSchemeVersion":{"type":"string","minLength":1,"maxLength":64},"signatureFormat":{"type":"string","const":"SIGNATURE_FORMAT_RAW"},"signingAlgorithmSpec":{"type":"string","const":"SIGNING_ALGORITHM_SPEC_ED25519"},"signedBy":{"anyOf":[{"type":"string","minLength":4,"maxLength":160},{"type":"null"}]},"preparedTransaction":{"anyOf":[{"type":"string","maxLength":4194304},{"type":"null"}]},"preparedTransactionHash":{"anyOf":[{"type":"string","maxLength":512},{"type":"null"}]}},"required":["kind","commandId","actAs","synchronizerId","hashingSchemeVersion","signatureFormat","signingAlgorithmSpec","signedBy","preparedTransaction","preparedTransactionHash"],"additionalProperties":false},{"type":"null"}]},"standard":{"type":"string","const":"CIP-0103"}},"required":["expiresAt","intent","kind","method","networkId","operationId","readiness","request","standard"],"additionalProperties":false}},"required":["execution","fee","feeLineItems","operation","walletAction"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The request is malformed or failed validation. Codes: `VALIDATION_FAILED`, `IDEMPOTENCY_KEY_REQUIRED`, `AMBIGUOUS_CREDENTIALS`, `SERVICE_ACT_AS_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `AUTHENTICATION_REQUIRED`, `INVALID_AUTHORIZATION_HEADER`, `INVALID_ACCESS_TOKEN`, `SESSION_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Codes: `ACCOUNT_RESTRICTED`, `ANONYMOUS_ACCOUNT_NOT_ALLOWED`, `API_KEY_ROUTE_NOT_ALLOWED`, `SERVICE_PARTY_NOT_ALLOWED`, `SERVICE_PRINCIPAL_NOT_ALLOWED`, `SIGNUP_NOT_INVITED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The request conflicts with current state, or the Idempotency-Key was reused with a different request (`IDEMPOTENCY_KEY_CONFLICT`; the former `IDEMPOTENCY_CONFLICT` is a deprecated alias, no longer returned, that clients handle the same way for one release). Codes: `IDEMPOTENCY_KEY_CONFLICT`, `IDEMPOTENCY_CONFLICT`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"413":{"description":"The request body exceeds the size limit.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"428":{"description":"The signed-in account must accept the current product terms first. Codes: `PRODUCT_LEGAL_ACCEPTANCE_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"A dependency is unavailable or the feature is not enabled on this deployment. Codes: `AUTHENTICATION_UNAVAILABLE`, `AUTHORIZATION_UNAVAILABLE`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{"bearer":[]}],"summary":"Create an idempotent wallet-authorized transfer intent.","tags":["wallet"]}},"/api/v1/operations":{"get":{"operationId":"OperationController_list_v1","parameters":[{"name":"cursor","required":false,"in":"query","schema":{"maxLength":512,"minLength":1,"type":"string"}},{"name":"limit","required":false,"in":"query","schema":{"default":24,"maximum":100,"minimum":1,"type":"integer"}},{"$ref":"#/components/parameters/ServiceActAs"},{"$ref":"#/components/parameters/RequestId"}],"responses":{"200":{"description":"Cursor-paginated owned operations.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"cantonCommandId":{"type":["string","null"]},"cantonUpdateId":{"description":"The ledger update that completed the operation, when it is the only operation that update completed. Always null for swap.execute operations of trade orders and user-signed trades: their status follows the order or trade (submitted, confirmed, rejected, cancelled, expired) and the update id, offset and record time are in result.ledgerExecution, since one batch-fill update settles many orders.","type":["string","null"]},"completedAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"correlationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"error":{"anyOf":[{"type":"object","properties":{"code":{"type":"string"},"message":{"type":["string","null"]}},"required":["code","message"],"additionalProperties":false},{"type":"null"}]},"expiresAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"networkId":{"type":"string","pattern":"^canton:[-_a-zA-Z0-9]{1,32}$"},"result":{"anyOf":[{"anyOf":[{"type":"object","properties":{"ledgerPreparation":{"type":"object","properties":{"kind":{"type":"string","enum":["application-submission","interactive-submission","wallet-submission"]},"commandId":{"type":"string","minLength":1,"maxLength":255},"actAs":{"minItems":1,"maxItems":8,"type":"array","items":{"type":"string","minLength":1,"maxLength":512}},"synchronizerId":{"type":"string","minLength":1,"maxLength":512},"hashingSchemeVersion":{"type":"string","minLength":1,"maxLength":64},"preparedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"signedBy":{"anyOf":[{"type":"string","minLength":4,"maxLength":160},{"type":"null"}]},"preparedTransaction":{"anyOf":[{"type":"string","maxLength":4194304},{"type":"null"}]},"preparedTransactionHash":{"anyOf":[{"type":"string","maxLength":512},{"type":"null"}]},"applicationChoice":{"anyOf":[{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},{"type":"null"}]},"applicationPolicy":{"anyOf":[{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},{"type":"null"}]},"disclosedContracts":{"anyOf":[{"maxItems":64,"type":"array","items":{"type":"object","properties":{"contractId":{"type":"string","minLength":1,"maxLength":255},"createdEventBlob":{"type":"string","minLength":1},"synchronizerId":{"type":"string","minLength":1,"maxLength":512},"templateId":{"type":"string","minLength":1,"maxLength":255}},"required":["contractId","createdEventBlob","synchronizerId","templateId"],"additionalProperties":false}},{"type":"null"}]},"submissionAttempt":{"anyOf":[{"type":"object","properties":{"submissionId":{"type":"string","minLength":1,"maxLength":255},"beginExclusive":{"type":"integer","minimum":0,"maximum":9007199254740991},"startedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["submissionId","beginExclusive","startedAt"],"additionalProperties":false},{"type":"null"}]}},"required":["kind","commandId","actAs","synchronizerId","hashingSchemeVersion","preparedAt","signedBy","preparedTransaction","preparedTransactionHash","applicationChoice","applicationPolicy","submissionAttempt"],"additionalProperties":false}},"required":["ledgerPreparation"],"additionalProperties":false},{"type":"object","properties":{"ledgerExecution":{"type":"object","properties":{"updateId":{"type":"string","minLength":1,"maxLength":255},"offset":{"type":"string","minLength":1,"maxLength":64},"recordTime":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}]},"synchronizerId":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]},"recovered":{"type":"boolean"},"exercised":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}}},"required":["updateId","offset","recordTime","synchronizerId","recovered","exercised"],"additionalProperties":false}},"required":["ledgerExecution"],"additionalProperties":false},{"type":"object","properties":{"walletReport":{"type":"object","properties":{"commandId":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]},"errorCode":{"anyOf":[{"type":"string","minLength":1,"maxLength":128},{"type":"null"}]},"reportedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"source":{"type":"string","const":"wallet"},"status":{"type":"string","enum":["submitted","rejected"]},"updateId":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]}},"required":["commandId","errorCode","reportedAt","source","status","updateId"],"additionalProperties":false}},"required":["walletReport"],"additionalProperties":false},{"type":"object","properties":{"confirmed":{"type":"boolean","const":true},"execution":{"type":"string","const":"simulated"}},"required":["confirmed","execution"],"additionalProperties":false},{"type":"object","properties":{"expiredAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"reason":{"type":"string","const":"operation_deadline_elapsed"}},"required":["expiredAt","reason"],"additionalProperties":false},{"type":"object","properties":{"cancelledAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"reason":{"type":"string","enum":["account_closed_before_submission","order_cancelled"]}},"required":["cancelledAt","reason"],"additionalProperties":false}]},{"type":"null"}],"description":"Status-specific evidence: ledgerExecution (updateId, offset, recordTime) for a confirmed operation, ledgerPreparation while a signature is awaited, expiredAt or cancelledAt for those terminal states, walletReport for a wallet-reported outcome, else null."},"status":{"type":"string","enum":["received","validating","awaiting_signature","ready","submitted","confirmed","failed","rejected","expired","cancelled"]},"type":{"type":"string","minLength":1,"maxLength":128},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["cantonCommandId","cantonUpdateId","completedAt","correlationId","createdAt","error","expiresAt","id","networkId","result","status","type","updatedAt"],"additionalProperties":false}},"nextCursor":{"type":["string","null"]}},"required":["items","nextCursor"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The request is malformed or failed validation. Codes: `VALIDATION_FAILED`, `AMBIGUOUS_CREDENTIALS`, `SERVICE_ACT_AS_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `AUTHENTICATION_REQUIRED`, `INVALID_AUTHORIZATION_HEADER`, `INVALID_ACCESS_TOKEN`, `SESSION_REVOKED`, `API_KEY_INVALID`, `API_KEY_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Owner routes accept only a customer API key: an internal master key answers `API_KEY_ROUTE_NOT_ALLOWED`. Codes: `ACCOUNT_RESTRICTED`, `ANONYMOUS_ACCOUNT_NOT_ALLOWED`, `API_KEY_ROUTE_NOT_ALLOWED`, `SERVICE_PARTY_NOT_ALLOWED`, `SERVICE_PRINCIPAL_NOT_ALLOWED`, `SIGNUP_NOT_INVITED`, `API_KEY_IP_NOT_ALLOWED`, `PRODUCT_ACCOUNT_RESTRICTED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"A dependency is unavailable or the feature is not enabled on this deployment. Codes: `AUTHENTICATION_UNAVAILABLE`, `AUTHORIZATION_UNAVAILABLE`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"List the authenticated user’s operation lifecycle.","tags":["operations"],"x-api-key-scope":"read"}},"/api/v1/operations/{operationId}":{"get":{"operationId":"OperationController_get_v1","parameters":[{"name":"operationId","required":true,"in":"path","schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},{"$ref":"#/components/parameters/ServiceActAs"},{"$ref":"#/components/parameters/RequestId"}],"responses":{"200":{"description":"The owned operation.","content":{"application/json":{"schema":{"type":"object","properties":{"cantonCommandId":{"type":["string","null"]},"cantonUpdateId":{"description":"The ledger update that completed the operation, when it is the only operation that update completed. Always null for swap.execute operations of trade orders and user-signed trades: their status follows the order or trade (submitted, confirmed, rejected, cancelled, expired) and the update id, offset and record time are in result.ledgerExecution, since one batch-fill update settles many orders.","type":["string","null"]},"completedAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"correlationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"error":{"anyOf":[{"type":"object","properties":{"code":{"type":"string"},"message":{"type":["string","null"]}},"required":["code","message"],"additionalProperties":false},{"type":"null"}]},"expiresAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"networkId":{"type":"string","pattern":"^canton:[-_a-zA-Z0-9]{1,32}$"},"result":{"anyOf":[{"anyOf":[{"type":"object","properties":{"ledgerPreparation":{"type":"object","properties":{"kind":{"type":"string","enum":["application-submission","interactive-submission","wallet-submission"]},"commandId":{"type":"string","minLength":1,"maxLength":255},"actAs":{"minItems":1,"maxItems":8,"type":"array","items":{"type":"string","minLength":1,"maxLength":512}},"synchronizerId":{"type":"string","minLength":1,"maxLength":512},"hashingSchemeVersion":{"type":"string","minLength":1,"maxLength":64},"preparedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"signedBy":{"anyOf":[{"type":"string","minLength":4,"maxLength":160},{"type":"null"}]},"preparedTransaction":{"anyOf":[{"type":"string","maxLength":4194304},{"type":"null"}]},"preparedTransactionHash":{"anyOf":[{"type":"string","maxLength":512},{"type":"null"}]},"applicationChoice":{"anyOf":[{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},{"type":"null"}]},"applicationPolicy":{"anyOf":[{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},{"type":"null"}]},"disclosedContracts":{"anyOf":[{"maxItems":64,"type":"array","items":{"type":"object","properties":{"contractId":{"type":"string","minLength":1,"maxLength":255},"createdEventBlob":{"type":"string","minLength":1},"synchronizerId":{"type":"string","minLength":1,"maxLength":512},"templateId":{"type":"string","minLength":1,"maxLength":255}},"required":["contractId","createdEventBlob","synchronizerId","templateId"],"additionalProperties":false}},{"type":"null"}]},"submissionAttempt":{"anyOf":[{"type":"object","properties":{"submissionId":{"type":"string","minLength":1,"maxLength":255},"beginExclusive":{"type":"integer","minimum":0,"maximum":9007199254740991},"startedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["submissionId","beginExclusive","startedAt"],"additionalProperties":false},{"type":"null"}]}},"required":["kind","commandId","actAs","synchronizerId","hashingSchemeVersion","preparedAt","signedBy","preparedTransaction","preparedTransactionHash","applicationChoice","applicationPolicy","submissionAttempt"],"additionalProperties":false}},"required":["ledgerPreparation"],"additionalProperties":false},{"type":"object","properties":{"ledgerExecution":{"type":"object","properties":{"updateId":{"type":"string","minLength":1,"maxLength":255},"offset":{"type":"string","minLength":1,"maxLength":64},"recordTime":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}]},"synchronizerId":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]},"recovered":{"type":"boolean"},"exercised":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}}},"required":["updateId","offset","recordTime","synchronizerId","recovered","exercised"],"additionalProperties":false}},"required":["ledgerExecution"],"additionalProperties":false},{"type":"object","properties":{"walletReport":{"type":"object","properties":{"commandId":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]},"errorCode":{"anyOf":[{"type":"string","minLength":1,"maxLength":128},{"type":"null"}]},"reportedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"source":{"type":"string","const":"wallet"},"status":{"type":"string","enum":["submitted","rejected"]},"updateId":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]}},"required":["commandId","errorCode","reportedAt","source","status","updateId"],"additionalProperties":false}},"required":["walletReport"],"additionalProperties":false},{"type":"object","properties":{"confirmed":{"type":"boolean","const":true},"execution":{"type":"string","const":"simulated"}},"required":["confirmed","execution"],"additionalProperties":false},{"type":"object","properties":{"expiredAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"reason":{"type":"string","const":"operation_deadline_elapsed"}},"required":["expiredAt","reason"],"additionalProperties":false},{"type":"object","properties":{"cancelledAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"reason":{"type":"string","enum":["account_closed_before_submission","order_cancelled"]}},"required":["cancelledAt","reason"],"additionalProperties":false}]},{"type":"null"}],"description":"Status-specific evidence: ledgerExecution (updateId, offset, recordTime) for a confirmed operation, ledgerPreparation while a signature is awaited, expiredAt or cancelledAt for those terminal states, walletReport for a wallet-reported outcome, else null."},"status":{"type":"string","enum":["received","validating","awaiting_signature","ready","submitted","confirmed","failed","rejected","expired","cancelled"]},"type":{"type":"string","minLength":1,"maxLength":128},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["cantonCommandId","cantonUpdateId","completedAt","correlationId","createdAt","error","expiresAt","id","networkId","result","status","type","updatedAt"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The request is malformed or failed validation. Codes: `VALIDATION_FAILED`, `AMBIGUOUS_CREDENTIALS`, `SERVICE_ACT_AS_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `AUTHENTICATION_REQUIRED`, `INVALID_AUTHORIZATION_HEADER`, `INVALID_ACCESS_TOKEN`, `SESSION_REVOKED`, `API_KEY_INVALID`, `API_KEY_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Owner routes accept only a customer API key: an internal master key answers `API_KEY_ROUTE_NOT_ALLOWED`. Codes: `ACCOUNT_RESTRICTED`, `ANONYMOUS_ACCOUNT_NOT_ALLOWED`, `API_KEY_ROUTE_NOT_ALLOWED`, `SERVICE_PARTY_NOT_ALLOWED`, `SERVICE_PRINCIPAL_NOT_ALLOWED`, `SIGNUP_NOT_INVITED`, `API_KEY_IP_NOT_ALLOWED`, `PRODUCT_ACCOUNT_RESTRICTED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"No resource the caller may see matches the path.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"A dependency is unavailable or the feature is not enabled on this deployment. Codes: `AUTHENTICATION_UNAVAILABLE`, `AUTHORIZATION_UNAVAILABLE`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Get one owned operation.","tags":["operations"],"x-api-key-scope":"read"}},"/api/v1/operations/{operationId}/wallet-report":{"post":{"operationId":"OperationController_reportWalletResult_v1","parameters":[{"name":"operationId","required":true,"in":"path","schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},{"$ref":"#/components/parameters/ServiceActAs"},{"$ref":"#/components/parameters/RequestId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"status":{"type":"string","const":"submitted"},"walletReportedCommandId":{"type":"string","minLength":1,"maxLength":512},"walletReportedUpdateId":{"type":"string","minLength":1,"maxLength":512}},"required":["status","walletReportedCommandId"],"additionalProperties":false},{"type":"object","properties":{"errorCode":{"type":"string","minLength":1,"maxLength":128},"status":{"type":"string","const":"rejected"},"walletReportedCommandId":{"type":"string","minLength":1,"maxLength":512}},"required":["errorCode","status"],"additionalProperties":false}]}}}},"responses":{"201":{"description":"The updated operation hint state.","content":{"application/json":{"schema":{"type":"object","properties":{"cantonCommandId":{"type":["string","null"]},"cantonUpdateId":{"description":"The ledger update that completed the operation, when it is the only operation that update completed. Always null for swap.execute operations of trade orders and user-signed trades: their status follows the order or trade (submitted, confirmed, rejected, cancelled, expired) and the update id, offset and record time are in result.ledgerExecution, since one batch-fill update settles many orders.","type":["string","null"]},"completedAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"correlationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"error":{"anyOf":[{"type":"object","properties":{"code":{"type":"string"},"message":{"type":["string","null"]}},"required":["code","message"],"additionalProperties":false},{"type":"null"}]},"expiresAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"networkId":{"type":"string","pattern":"^canton:[-_a-zA-Z0-9]{1,32}$"},"result":{"anyOf":[{"anyOf":[{"type":"object","properties":{"ledgerPreparation":{"type":"object","properties":{"kind":{"type":"string","enum":["application-submission","interactive-submission","wallet-submission"]},"commandId":{"type":"string","minLength":1,"maxLength":255},"actAs":{"minItems":1,"maxItems":8,"type":"array","items":{"type":"string","minLength":1,"maxLength":512}},"synchronizerId":{"type":"string","minLength":1,"maxLength":512},"hashingSchemeVersion":{"type":"string","minLength":1,"maxLength":64},"preparedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"signedBy":{"anyOf":[{"type":"string","minLength":4,"maxLength":160},{"type":"null"}]},"preparedTransaction":{"anyOf":[{"type":"string","maxLength":4194304},{"type":"null"}]},"preparedTransactionHash":{"anyOf":[{"type":"string","maxLength":512},{"type":"null"}]},"applicationChoice":{"anyOf":[{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},{"type":"null"}]},"applicationPolicy":{"anyOf":[{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},{"type":"null"}]},"disclosedContracts":{"anyOf":[{"maxItems":64,"type":"array","items":{"type":"object","properties":{"contractId":{"type":"string","minLength":1,"maxLength":255},"createdEventBlob":{"type":"string","minLength":1},"synchronizerId":{"type":"string","minLength":1,"maxLength":512},"templateId":{"type":"string","minLength":1,"maxLength":255}},"required":["contractId","createdEventBlob","synchronizerId","templateId"],"additionalProperties":false}},{"type":"null"}]},"submissionAttempt":{"anyOf":[{"type":"object","properties":{"submissionId":{"type":"string","minLength":1,"maxLength":255},"beginExclusive":{"type":"integer","minimum":0,"maximum":9007199254740991},"startedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["submissionId","beginExclusive","startedAt"],"additionalProperties":false},{"type":"null"}]}},"required":["kind","commandId","actAs","synchronizerId","hashingSchemeVersion","preparedAt","signedBy","preparedTransaction","preparedTransactionHash","applicationChoice","applicationPolicy","submissionAttempt"],"additionalProperties":false}},"required":["ledgerPreparation"],"additionalProperties":false},{"type":"object","properties":{"ledgerExecution":{"type":"object","properties":{"updateId":{"type":"string","minLength":1,"maxLength":255},"offset":{"type":"string","minLength":1,"maxLength":64},"recordTime":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}]},"synchronizerId":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]},"recovered":{"type":"boolean"},"exercised":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}}},"required":["updateId","offset","recordTime","synchronizerId","recovered","exercised"],"additionalProperties":false}},"required":["ledgerExecution"],"additionalProperties":false},{"type":"object","properties":{"walletReport":{"type":"object","properties":{"commandId":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]},"errorCode":{"anyOf":[{"type":"string","minLength":1,"maxLength":128},{"type":"null"}]},"reportedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"source":{"type":"string","const":"wallet"},"status":{"type":"string","enum":["submitted","rejected"]},"updateId":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]}},"required":["commandId","errorCode","reportedAt","source","status","updateId"],"additionalProperties":false}},"required":["walletReport"],"additionalProperties":false},{"type":"object","properties":{"confirmed":{"type":"boolean","const":true},"execution":{"type":"string","const":"simulated"}},"required":["confirmed","execution"],"additionalProperties":false},{"type":"object","properties":{"expiredAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"reason":{"type":"string","const":"operation_deadline_elapsed"}},"required":["expiredAt","reason"],"additionalProperties":false},{"type":"object","properties":{"cancelledAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"reason":{"type":"string","enum":["account_closed_before_submission","order_cancelled"]}},"required":["cancelledAt","reason"],"additionalProperties":false}]},{"type":"null"}],"description":"Status-specific evidence: ledgerExecution (updateId, offset, recordTime) for a confirmed operation, ledgerPreparation while a signature is awaited, expiredAt or cancelledAt for those terminal states, walletReport for a wallet-reported outcome, else null."},"status":{"type":"string","enum":["received","validating","awaiting_signature","ready","submitted","confirmed","failed","rejected","expired","cancelled"]},"type":{"type":"string","minLength":1,"maxLength":128},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["cantonCommandId","cantonUpdateId","completedAt","correlationId","createdAt","error","expiresAt","id","networkId","result","status","type","updatedAt"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The request is malformed or failed validation. Codes: `VALIDATION_FAILED`, `AMBIGUOUS_CREDENTIALS`, `SERVICE_ACT_AS_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `AUTHENTICATION_REQUIRED`, `INVALID_AUTHORIZATION_HEADER`, `INVALID_ACCESS_TOKEN`, `SESSION_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Codes: `ACCOUNT_RESTRICTED`, `ANONYMOUS_ACCOUNT_NOT_ALLOWED`, `API_KEY_ROUTE_NOT_ALLOWED`, `SERVICE_PARTY_NOT_ALLOWED`, `SERVICE_PRINCIPAL_NOT_ALLOWED`, `SIGNUP_NOT_INVITED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"No resource the caller may see matches the path.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"413":{"description":"The request body exceeds the size limit.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"428":{"description":"The signed-in account must accept the current product terms first. Codes: `PRODUCT_LEGAL_ACCEPTANCE_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"A dependency is unavailable or the feature is not enabled on this deployment. Codes: `AUTHENTICATION_UNAVAILABLE`, `AUTHORIZATION_UNAVAILABLE`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{"bearer":[]}],"summary":"Record a wallet submission hint; ledger observation remains authoritative.","tags":["operations"]}},"/api/v1/operations/{operationId}/submit":{"post":{"operationId":"OperationController_submit_v1","parameters":[{"name":"operationId","required":true,"in":"path","schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},{"$ref":"#/components/parameters/ServiceActAs"},{"$ref":"#/components/parameters/RequestId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"partySignatures":{"type":"object","properties":{"signatures":{"minItems":1,"maxItems":2,"type":"array","items":{"type":"object","properties":{"party":{"type":"string","minLength":1,"maxLength":512},"signatures":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"signature":{"type":"string","minLength":16,"maxLength":8192},"signedBy":{"type":"string","minLength":4,"maxLength":160},"format":{"type":"string","const":"SIGNATURE_FORMAT_RAW"},"signingAlgorithmSpec":{"type":"string","const":"SIGNING_ALGORITHM_SPEC_ED25519"}},"required":["signature","signedBy","format","signingAlgorithmSpec"],"additionalProperties":false}}},"required":["party","signatures"],"additionalProperties":false}}},"required":["signatures"],"additionalProperties":false},"walletSubmission":{"type":"object","properties":{"commandId":{"type":"string","minLength":1,"maxLength":255},"submissionId":{"type":"string","minLength":1,"maxLength":255}},"required":["commandId"],"additionalProperties":false}},"additionalProperties":false}}}},"responses":{"201":{"description":"The operation after ledger execution.","content":{"application/json":{"schema":{"type":"object","properties":{"cantonCommandId":{"type":["string","null"]},"cantonUpdateId":{"description":"The ledger update that completed the operation, when it is the only operation that update completed. Always null for swap.execute operations of trade orders and user-signed trades: their status follows the order or trade (submitted, confirmed, rejected, cancelled, expired) and the update id, offset and record time are in result.ledgerExecution, since one batch-fill update settles many orders.","type":["string","null"]},"completedAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"correlationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"error":{"anyOf":[{"type":"object","properties":{"code":{"type":"string"},"message":{"type":["string","null"]}},"required":["code","message"],"additionalProperties":false},{"type":"null"}]},"expiresAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"networkId":{"type":"string","pattern":"^canton:[-_a-zA-Z0-9]{1,32}$"},"result":{"anyOf":[{"anyOf":[{"type":"object","properties":{"ledgerPreparation":{"type":"object","properties":{"kind":{"type":"string","enum":["application-submission","interactive-submission","wallet-submission"]},"commandId":{"type":"string","minLength":1,"maxLength":255},"actAs":{"minItems":1,"maxItems":8,"type":"array","items":{"type":"string","minLength":1,"maxLength":512}},"synchronizerId":{"type":"string","minLength":1,"maxLength":512},"hashingSchemeVersion":{"type":"string","minLength":1,"maxLength":64},"preparedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"signedBy":{"anyOf":[{"type":"string","minLength":4,"maxLength":160},{"type":"null"}]},"preparedTransaction":{"anyOf":[{"type":"string","maxLength":4194304},{"type":"null"}]},"preparedTransactionHash":{"anyOf":[{"type":"string","maxLength":512},{"type":"null"}]},"applicationChoice":{"anyOf":[{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},{"type":"null"}]},"applicationPolicy":{"anyOf":[{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},{"type":"null"}]},"disclosedContracts":{"anyOf":[{"maxItems":64,"type":"array","items":{"type":"object","properties":{"contractId":{"type":"string","minLength":1,"maxLength":255},"createdEventBlob":{"type":"string","minLength":1},"synchronizerId":{"type":"string","minLength":1,"maxLength":512},"templateId":{"type":"string","minLength":1,"maxLength":255}},"required":["contractId","createdEventBlob","synchronizerId","templateId"],"additionalProperties":false}},{"type":"null"}]},"submissionAttempt":{"anyOf":[{"type":"object","properties":{"submissionId":{"type":"string","minLength":1,"maxLength":255},"beginExclusive":{"type":"integer","minimum":0,"maximum":9007199254740991},"startedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["submissionId","beginExclusive","startedAt"],"additionalProperties":false},{"type":"null"}]}},"required":["kind","commandId","actAs","synchronizerId","hashingSchemeVersion","preparedAt","signedBy","preparedTransaction","preparedTransactionHash","applicationChoice","applicationPolicy","submissionAttempt"],"additionalProperties":false}},"required":["ledgerPreparation"],"additionalProperties":false},{"type":"object","properties":{"ledgerExecution":{"type":"object","properties":{"updateId":{"type":"string","minLength":1,"maxLength":255},"offset":{"type":"string","minLength":1,"maxLength":64},"recordTime":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}]},"synchronizerId":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]},"recovered":{"type":"boolean"},"exercised":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}}},"required":["updateId","offset","recordTime","synchronizerId","recovered","exercised"],"additionalProperties":false}},"required":["ledgerExecution"],"additionalProperties":false},{"type":"object","properties":{"walletReport":{"type":"object","properties":{"commandId":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]},"errorCode":{"anyOf":[{"type":"string","minLength":1,"maxLength":128},{"type":"null"}]},"reportedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"source":{"type":"string","const":"wallet"},"status":{"type":"string","enum":["submitted","rejected"]},"updateId":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]}},"required":["commandId","errorCode","reportedAt","source","status","updateId"],"additionalProperties":false}},"required":["walletReport"],"additionalProperties":false},{"type":"object","properties":{"confirmed":{"type":"boolean","const":true},"execution":{"type":"string","const":"simulated"}},"required":["confirmed","execution"],"additionalProperties":false},{"type":"object","properties":{"expiredAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"reason":{"type":"string","const":"operation_deadline_elapsed"}},"required":["expiredAt","reason"],"additionalProperties":false},{"type":"object","properties":{"cancelledAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"reason":{"type":"string","enum":["account_closed_before_submission","order_cancelled"]}},"required":["cancelledAt","reason"],"additionalProperties":false}]},{"type":"null"}],"description":"Status-specific evidence: ledgerExecution (updateId, offset, recordTime) for a confirmed operation, ledgerPreparation while a signature is awaited, expiredAt or cancelledAt for those terminal states, walletReport for a wallet-reported outcome, else null."},"status":{"type":"string","enum":["received","validating","awaiting_signature","ready","submitted","confirmed","failed","rejected","expired","cancelled"]},"type":{"type":"string","minLength":1,"maxLength":128},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["cantonCommandId","cantonUpdateId","completedAt","correlationId","createdAt","error","expiresAt","id","networkId","result","status","type","updatedAt"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The request is malformed or failed validation. Codes: `VALIDATION_FAILED`, `AMBIGUOUS_CREDENTIALS`, `SERVICE_ACT_AS_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `AUTHENTICATION_REQUIRED`, `INVALID_AUTHORIZATION_HEADER`, `INVALID_ACCESS_TOKEN`, `SESSION_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Codes: `ACCOUNT_RESTRICTED`, `ANONYMOUS_ACCOUNT_NOT_ALLOWED`, `API_KEY_ROUTE_NOT_ALLOWED`, `SERVICE_PARTY_NOT_ALLOWED`, `SERVICE_PRINCIPAL_NOT_ALLOWED`, `SIGNUP_NOT_INVITED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"No resource the caller may see matches the path.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"413":{"description":"The request body exceeds the size limit.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"428":{"description":"The signed-in account must accept the current product terms first. Codes: `PRODUCT_LEGAL_ACCEPTANCE_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"A dependency is unavailable or the feature is not enabled on this deployment. Codes: `AUTHENTICATION_UNAVAILABLE`, `AUTHORIZATION_UNAVAILABLE`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{"bearer":[]}],"summary":"Execute a prepared operation on the ledger with the wallet’s signatures (local ledger configuration only).","tags":["operations"]}},"/api/v1/tokens":{"get":{"operationId":"SuperappMarketController_listTokens_v1","parameters":[{"name":"cursor","required":false,"in":"query","schema":{"type":"string","minLength":1,"maxLength":512}},{"name":"limit","required":false,"in":"query","schema":{"default":24,"type":"integer","minimum":1,"maximum":100}},{"name":"category","required":false,"in":"query","schema":{"default":"all","type":"string","enum":["all","defi","payments","infrastructure","real_world_assets","capital_markets","stablecoins","identity_compliance","data_oracles","consumer","culture","other"]}},{"name":"instrumentAdmin","required":false,"in":"query","schema":{"type":"string","minLength":1,"maxLength":512,"description":"Exact composite instrument admin; must be supplied with instrumentId."}},{"name":"instrumentId","required":false,"in":"query","schema":{"type":"string","minLength":1,"maxLength":512,"description":"Exact composite instrument ID; must be supplied with instrumentAdmin."}},{"name":"maxMarketCap","required":false,"in":"query","schema":{"type":"string","minLength":1,"maxLength":80,"pattern":"^(?:0|[1-9]\\d*)(?:\\.\\d+)?$"}},{"name":"maxVolume24h","required":false,"in":"query","schema":{"type":"string","minLength":1,"maxLength":80,"pattern":"^(?:0|[1-9]\\d*)(?:\\.\\d+)?$"}},{"name":"minMarketCap","required":false,"in":"query","schema":{"type":"string","minLength":1,"maxLength":80,"pattern":"^(?:0|[1-9]\\d*)(?:\\.\\d+)?$"}},{"name":"minVolume24h","required":false,"in":"query","schema":{"type":"string","minLength":1,"maxLength":80,"pattern":"^(?:0|[1-9]\\d*)(?:\\.\\d+)?$"}},{"name":"nearEscapeOnly","required":false,"in":"query","schema":{"type":"boolean"}},{"name":"lastBuyWithin","required":false,"in":"query","schema":{"type":"string","enum":["24h","7d"],"description":"Only coins whose newest confirmed buy is inside this window, ending at the request time."}},{"name":"q","required":false,"in":"query","schema":{"type":"string","minLength":1,"maxLength":1100}},{"name":"ranking","required":false,"in":"query","schema":{"type":"string","enum":["trending","top","latest"]}},{"name":"reviewedOnly","required":false,"in":"query","schema":{"type":"boolean"}},{"name":"sort","required":false,"in":"query","schema":{"type":"string","enum":["momentum","market_cap","price","change_24h","created_at","graduation","volume_24h","volume_7d","last_buy"]}},{"name":"stages","required":false,"in":"query","schema":{"description":"Comma-separated launch stages to include (ignition, near_escape, graduating, in_orbit). Graduated coins are in_orbit.","type":"string","minLength":1,"maxLength":100}},{"name":"direction","required":false,"in":"query","schema":{"default":"descending","type":"string","enum":["ascending","descending"]}},{"$ref":"#/components/parameters/RequestId"}],"responses":{"200":{"description":"Public token discovery page.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"amm":{"anyOf":[{"type":"object","properties":{"ccReserve":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"feeRate":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"invariant":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"marginalPriceCcPerToken":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,40})?$"},"revision":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"tokenReserve":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["ccReserve","feeRate","invariant","marginalPriceCcPerToken","revision","tokenReserve"],"additionalProperties":false},{"type":"null"}]},"art":{"type":"string","enum":["rings","grid","halo","waves","monolith","comet"]},"banner":{"anyOf":[{"anyOf":[{"type":"string","maxLength":2048,"format":"uri","description":"Public navigation-only HTTPS URL with a DNS hostname; credentials, IP literals, localhost and private/local DNS suffixes are forbidden. This is not permission for server-side fetching.","pattern":"^https://"},{"type":"string","minLength":2,"maxLength":2048}]},{"type":"null"}]},"bannerMimeType":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}]},"category":{"type":"string","enum":["defi","payments","infrastructure","real_world_assets","capital_markets","stablecoins","identity_compliance","data_oracles","consumer","culture","other"]},"change24h":{"type":"string","pattern":"^-?(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"creatorRevenue":{"oneOf":[{"type":"object","properties":{"eligibility":{"type":"string","const":"eligible"},"policy":{"type":"object","properties":{"hash":{"type":"string","const":"sha256:a926e0a380b3938648b5fa9898136638e1276128947cf94033e760f87a27e8b2"},"id":{"type":"string","const":"supanova-creator-revenue-policy"},"version":{"type":"string","const":"1"}},"required":["hash","id","version"],"additionalProperties":false},"reason":{"type":"string","const":"accepted-policy-creator-route"}},"required":["eligibility","policy","reason"],"additionalProperties":false},{"type":"object","properties":{"eligibility":{"type":"string","const":"ineligible"},"policy":{"type":"null"},"reason":{"type":"string","enum":["legacy-no-policy","trader-cashback"]}},"required":["eligibility","policy","reason"],"additionalProperties":false}]},"creator":{"type":"string","minLength":1,"maxLength":100},"creatorHandle":{"type":"string","minLength":1,"maxLength":100},"creatorAvatarPresetId":{"anyOf":[{"type":"string","enum":["supanova-01","supanova-02","supanova-03","supanova-04","supanova-05","supanova-06","supanova-07","supanova-08","supanova-09","supanova-10","supanova-11","supanova-12"]},{"type":"null"}]},"creatorAvatarUrl":{"description":"Public token-scoped custom avatar image path; version changes when the selected image changes.","anyOf":[{"type":"string","maxLength":113,"pattern":"^\\/api\\/v1\\/tokens\\/[a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?\\/creator-avatar\\?v=[a-f0-9]{16}$"},{"type":"null"}]},"description":{"type":"string","minLength":1,"maxLength":2000},"disclaimer":{"type":"string","minLength":1,"maxLength":1000},"docs":{"anyOf":[{"type":"string","maxLength":2048,"format":"uri","description":"Public navigation-only HTTPS URL with a DNS hostname; credentials, IP literals, localhost and private/local DNS suffixes are forbidden. This is not permission for server-side fetching.","pattern":"^https://"},{"type":"null"}]},"fullyDilutedValue":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"holderChange24h":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"holders":{"type":"integer","minimum":0,"maximum":9007199254740991},"id":{"type":"string","minLength":1,"maxLength":100},"image":{"anyOf":[{"anyOf":[{"type":"string","maxLength":2048,"format":"uri","description":"Public navigation-only HTTPS URL with a DNS hostname; credentials, IP literals, localhost and private/local DNS suffixes are forbidden. This is not permission for server-side fetching.","pattern":"^https://"},{"type":"string","minLength":2,"maxLength":2048}]},{"type":"null"}]},"imageKind":{"anyOf":[{"type":"string","enum":["image","video"]},{"type":"null"}]},"imageMimeType":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}]},"instrumentId":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":512},"id":{"type":"string","minLength":1,"maxLength":512}},"required":["admin","id"],"additionalProperties":false},"lastBuyAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}],"description":"Ledger time of the newest confirmed buy. Null when the coin has no buy on record (meta.marketActivity.lastBuy is 'published') or when the figure is not published."},"launchProgress":{"type":"object","properties":{"curveAllocation":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"graduationPercent":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"graduationThresholdCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"liquidityReserve":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"remainingCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"stage":{"type":"string","enum":["ignition","near_escape","graduating","in_orbit"]},"supplyPolicy":{"type":"object","properties":{"kind":{"type":"string","const":"fixed"},"postCreationMinting":{"type":"string","const":"disabled"},"version":{"type":"string","minLength":1,"maxLength":100}},"required":["kind","postCreationMinting","version"],"additionalProperties":false},"totalSupply":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["curveAllocation","graduationPercent","graduationThresholdCc","liquidityReserve","remainingCc","stage","supplyPolicy","totalSupply"],"additionalProperties":false},"marketCap":{"anyOf":[{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},{"type":"null"}],"description":"Fully diluted: price x launchProgress.totalSupply (equals fullyDilutedValue)."},"name":{"type":"string","minLength":1,"maxLength":100},"palette":{"type":"array","minItems":3,"maxItems":3,"prefixItems":[{"type":"string","pattern":"^#[0-9a-f]{6}$"},{"type":"string","pattern":"^#[0-9a-f]{6}$"},{"type":"string","pattern":"^#[0-9a-f]{6}$"}]},"price":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,40})?$"},"pricePerMillionTokensCc":{"description":"CC per million tokens, a display value; present for curve-package tokens.","type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,40})?$"},"raisedCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"references":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"href":{"type":"string","maxLength":2048,"format":"uri","description":"Public navigation-only HTTPS URL with a DNS hostname; credentials, IP literals, localhost and private/local DNS suffixes are forbidden. This is not permission for server-side fetching.","pattern":"^https://"},"kind":{"type":"string","enum":["website","docs","x","telegram","discord","instagram","youtube","tiktok","research"]},"label":{"type":"string","minLength":1,"maxLength":100}},"required":["href","kind","label"],"additionalProperties":false}},"rewardDestination":{"type":"string","enum":["creator","trader_cashback"]},"slug":{"type":"string","minLength":1,"maxLength":64},"sparkline":{"maxItems":500,"type":"array","items":{"type":"string","pattern":"^-?(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,40})?$"}},"tagline":{"type":"string","minLength":1,"maxLength":200},"ticker":{"type":"string","minLength":1,"maxLength":16},"tradeCount24h":{"type":"integer","minimum":0,"maximum":9007199254740991},"verified":{"type":"boolean"},"volume24h":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"volume7d":{"anyOf":[{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},{"type":"null"}],"description":"CC volume over meta.marketActivity.volume7d: \"0\" when the coin had no fills, null when the figure is not published."},"website":{"anyOf":[{"type":"string","maxLength":2048,"format":"uri","description":"Public navigation-only HTTPS URL with a DNS hostname; credentials, IP literals, localhost and private/local DNS suffixes are forbidden. This is not permission for server-side fetching.","pattern":"^https://"},{"type":"null"}]},"marketCapUsd":{"anyOf":[{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},{"type":"null"}],"description":"marketCap x meta.ccUsdQuote.rateUsdPerCc at Decimal10; null without a quote."},"priceUsd":{"anyOf":[{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,40})?$"},{"type":"null"}],"description":"price x meta.ccUsdQuote.rateUsdPerCc, a display value with significant digits; null without a quote."}},"required":["art","banner","bannerMimeType","category","change24h","createdAt","creatorRevenue","creator","creatorHandle","description","disclaimer","docs","fullyDilutedValue","holderChange24h","holders","id","image","imageKind","imageMimeType","instrumentId","lastBuyAt","launchProgress","marketCap","name","palette","price","raisedCc","references","rewardDestination","slug","sparkline","tagline","ticker","tradeCount24h","verified","volume24h","volume7d","website","marketCapUsd","priceUsd"],"additionalProperties":false}},"meta":{"type":"object","properties":{"provenance":{"type":"object","properties":{"asOf":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"dataMode":{"type":"string","enum":["projected","simulated"]},"disclaimer":{"type":"string","minLength":1},"label":{"type":"string","minLength":1},"networkId":{"type":"string","pattern":"^canton:[-_a-zA-Z0-9]{1,32}$"},"visibility":{"type":"string","enum":["aggregated-from-entitled-views","public-by-design"]}},"required":["asOf","dataMode","disclaimer","label","networkId","visibility"],"additionalProperties":false},"schemaVersion":{"type":"string","const":"1"},"ccUsdQuote":{"anyOf":[{"type":"object","properties":{"asOf":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"When this backend fetched the rate."},"rateUsdPerCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$","description":"USD per CC."},"roundNumber":{"type":"integer","minimum":0,"maximum":9007199254740991},"source":{"type":"string","minLength":1,"maxLength":100},"stale":{"type":"boolean"}},"required":["asOf","rateUsdPerCc","roundNumber","source","stale"],"additionalProperties":false},{"type":"null"}]},"marketActivity":{"anyOf":[{"type":"object","properties":{"asOf":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"Every fill the participant query store held at this time is included."},"lastBuy":{"type":"string","enum":["published","unavailable"],"description":"'unavailable': lastBuyAt is null for every coin because it could not be read."},"unit":{"type":"string","const":"CC"},"volume24h":{"type":"object","properties":{"windowEnd":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"windowStart":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"An hour boundary; the window is whole hourly buckets."}},"required":["windowEnd","windowStart"],"additionalProperties":false},"volume7d":{"type":"object","properties":{"windowEnd":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"windowStart":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"An hour boundary; the window is whole hourly buckets."}},"required":["windowEnd","windowStart"],"additionalProperties":false},"volumeBasis":{"type":"string","const":"net_reserve_change","description":"Absolute change of the pool's net CC reserve per confirmed fill."}},"required":["asOf","lastBuy","unit","volume24h","volume7d","volumeBasis"],"additionalProperties":false},{"type":"null"}],"description":"Null when this source does not publish lastBuyAt and volume7d."}},"required":["provenance","schemaVersion","ccUsdQuote","marketActivity"],"additionalProperties":false},"page":{"type":"object","properties":{"hasMore":{"type":"boolean"},"limit":{"type":"integer","minimum":1,"maximum":100},"nextCursor":{"type":["string","null"]},"total":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["hasMore","limit","nextCursor","total"],"additionalProperties":false}},"required":["items","meta","page"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"Invalid filters, ordering, or cursor. Also: `VALIDATION_FAILED`, `AMBIGUOUS_CREDENTIALS`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `API_KEY_INVALID`, `API_KEY_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Codes: `API_KEY_IP_NOT_ALLOWED`, `PRODUCT_ACCOUNT_RESTRICTED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"The stage projection is not configured.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{},{"apiKey":[]}],"summary":"Discover public Supanova launch tokens.","tags":["superapp tokens"],"x-api-key-scope":"read"}},"/api/v1/tokens/summary":{"get":{"operationId":"SuperappMarketController_getSummary_v1","parameters":[{"$ref":"#/components/parameters/RequestId"}],"responses":{"200":{"description":"Public launch-market summary.","content":{"application/json":{"schema":{"type":"object","properties":{"item":{"type":"object","properties":{"holderPositions":{"type":"integer","minimum":0,"maximum":9007199254740991},"marketCapCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"publishedMarketCapCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"stages":{"type":"object","properties":{"graduating":{"type":"integer","minimum":0,"maximum":9007199254740991},"ignition":{"type":"integer","minimum":0,"maximum":9007199254740991},"inOrbit":{"type":"integer","minimum":0,"maximum":9007199254740991},"nearEscape":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["graduating","ignition","inOrbit","nearEscape"],"additionalProperties":false},"tokenCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"tradeCount24h":{"type":"integer","minimum":0,"maximum":9007199254740991},"volume24hCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["holderPositions","marketCapCc","publishedMarketCapCount","stages","tokenCount","tradeCount24h","volume24hCc"],"additionalProperties":false},"meta":{"type":"object","properties":{"provenance":{"type":"object","properties":{"asOf":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"dataMode":{"type":"string","enum":["projected","simulated"]},"disclaimer":{"type":"string","minLength":1},"label":{"type":"string","minLength":1},"networkId":{"type":"string","pattern":"^canton:[-_a-zA-Z0-9]{1,32}$"},"visibility":{"type":"string","enum":["aggregated-from-entitled-views","public-by-design"]}},"required":["asOf","dataMode","disclaimer","label","networkId","visibility"],"additionalProperties":false},"schemaVersion":{"type":"string","const":"1"}},"required":["provenance","schemaVersion"],"additionalProperties":false}},"required":["item","meta"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The request is malformed or failed validation. Codes: `AMBIGUOUS_CREDENTIALS`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `API_KEY_INVALID`, `API_KEY_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Codes: `API_KEY_IP_NOT_ALLOWED`, `PRODUCT_ACCOUNT_RESTRICTED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"The stage projection is not configured.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{},{"apiKey":[]}],"summary":"Get public Supanova launch-market aggregate counters.","tags":["superapp tokens"],"x-api-key-scope":"read"}},"/api/v1/tokens/categories":{"get":{"operationId":"SuperappMarketController_getTaxonomy_v1","parameters":[{"$ref":"#/components/parameters/RequestId"}],"responses":{"200":{"description":"Canonical product taxonomy.","content":{"application/json":{"schema":{"type":"object","properties":{"categories":{"type":"array","items":{"type":"object","properties":{"description":{"type":"string","minLength":1,"maxLength":500},"id":{"type":"string","enum":["defi","payments","infrastructure","real_world_assets","capital_markets","stablecoins","identity_compliance","data_oracles","consumer","culture","other"]},"label":{"type":"string","minLength":1,"maxLength":100}},"required":["description","id","label"],"additionalProperties":false}},"schemaVersion":{"type":"string","const":"1"}},"required":["categories","schemaVersion"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The request is malformed or failed validation. Codes: `AMBIGUOUS_CREDENTIALS`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `API_KEY_INVALID`, `API_KEY_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Codes: `API_KEY_IP_NOT_ALLOWED`, `PRODUCT_ACCOUNT_RESTRICTED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{},{"apiKey":[]}],"summary":"Get the canonical category dictionary used by discovery and coin creation.","tags":["superapp tokens"],"x-api-key-scope":"read"}},"/api/v1/tokens/{slug}":{"get":{"operationId":"SuperappMarketController_getToken_v1","parameters":[{"name":"slug","required":true,"in":"path","schema":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?$"}},{"$ref":"#/components/parameters/RequestId"}],"responses":{"200":{"description":"Public launch token detail.","content":{"application/json":{"schema":{"type":"object","properties":{"item":{"type":"object","properties":{"amm":{"anyOf":[{"type":"object","properties":{"ccReserve":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"feeRate":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"invariant":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"marginalPriceCcPerToken":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,40})?$"},"revision":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"tokenReserve":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["ccReserve","feeRate","invariant","marginalPriceCcPerToken","revision","tokenReserve"],"additionalProperties":false},{"type":"null"}]},"art":{"type":"string","enum":["rings","grid","halo","waves","monolith","comet"]},"banner":{"anyOf":[{"anyOf":[{"type":"string","maxLength":2048,"format":"uri","description":"Public navigation-only HTTPS URL with a DNS hostname; credentials, IP literals, localhost and private/local DNS suffixes are forbidden. This is not permission for server-side fetching.","pattern":"^https://"},{"type":"string","minLength":2,"maxLength":2048}]},{"type":"null"}]},"bannerMimeType":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}]},"category":{"type":"string","enum":["defi","payments","infrastructure","real_world_assets","capital_markets","stablecoins","identity_compliance","data_oracles","consumer","culture","other"]},"change24h":{"type":"string","pattern":"^-?(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"creatorRevenue":{"oneOf":[{"type":"object","properties":{"eligibility":{"type":"string","const":"eligible"},"policy":{"type":"object","properties":{"hash":{"type":"string","const":"sha256:a926e0a380b3938648b5fa9898136638e1276128947cf94033e760f87a27e8b2"},"id":{"type":"string","const":"supanova-creator-revenue-policy"},"version":{"type":"string","const":"1"}},"required":["hash","id","version"],"additionalProperties":false},"reason":{"type":"string","const":"accepted-policy-creator-route"}},"required":["eligibility","policy","reason"],"additionalProperties":false},{"type":"object","properties":{"eligibility":{"type":"string","const":"ineligible"},"policy":{"type":"null"},"reason":{"type":"string","enum":["legacy-no-policy","trader-cashback"]}},"required":["eligibility","policy","reason"],"additionalProperties":false}]},"creator":{"type":"string","minLength":1,"maxLength":100},"creatorHandle":{"type":"string","minLength":1,"maxLength":100},"creatorAvatarPresetId":{"anyOf":[{"type":"string","enum":["supanova-01","supanova-02","supanova-03","supanova-04","supanova-05","supanova-06","supanova-07","supanova-08","supanova-09","supanova-10","supanova-11","supanova-12"]},{"type":"null"}]},"creatorAvatarUrl":{"description":"Public token-scoped custom avatar image path; version changes when the selected image changes.","anyOf":[{"type":"string","maxLength":113,"pattern":"^\\/api\\/v1\\/tokens\\/[a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?\\/creator-avatar\\?v=[a-f0-9]{16}$"},{"type":"null"}]},"description":{"type":"string","minLength":1,"maxLength":2000},"disclaimer":{"type":"string","minLength":1,"maxLength":1000},"docs":{"anyOf":[{"type":"string","maxLength":2048,"format":"uri","description":"Public navigation-only HTTPS URL with a DNS hostname; credentials, IP literals, localhost and private/local DNS suffixes are forbidden. This is not permission for server-side fetching.","pattern":"^https://"},{"type":"null"}]},"fullyDilutedValue":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"holderChange24h":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"holders":{"type":"integer","minimum":0,"maximum":9007199254740991},"id":{"type":"string","minLength":1,"maxLength":100},"image":{"anyOf":[{"anyOf":[{"type":"string","maxLength":2048,"format":"uri","description":"Public navigation-only HTTPS URL with a DNS hostname; credentials, IP literals, localhost and private/local DNS suffixes are forbidden. This is not permission for server-side fetching.","pattern":"^https://"},{"type":"string","minLength":2,"maxLength":2048}]},{"type":"null"}]},"imageKind":{"anyOf":[{"type":"string","enum":["image","video"]},{"type":"null"}]},"imageMimeType":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}]},"instrumentId":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":512},"id":{"type":"string","minLength":1,"maxLength":512}},"required":["admin","id"],"additionalProperties":false},"lastBuyAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}],"description":"Ledger time of the newest confirmed buy. Null when the coin has no buy on record (meta.marketActivity.lastBuy is 'published') or when the figure is not published."},"launchProgress":{"type":"object","properties":{"curveAllocation":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"graduationPercent":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"graduationThresholdCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"liquidityReserve":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"remainingCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"stage":{"type":"string","enum":["ignition","near_escape","graduating","in_orbit"]},"supplyPolicy":{"type":"object","properties":{"kind":{"type":"string","const":"fixed"},"postCreationMinting":{"type":"string","const":"disabled"},"version":{"type":"string","minLength":1,"maxLength":100}},"required":["kind","postCreationMinting","version"],"additionalProperties":false},"totalSupply":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["curveAllocation","graduationPercent","graduationThresholdCc","liquidityReserve","remainingCc","stage","supplyPolicy","totalSupply"],"additionalProperties":false},"marketCap":{"anyOf":[{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},{"type":"null"}],"description":"Fully diluted: price x launchProgress.totalSupply (equals fullyDilutedValue)."},"name":{"type":"string","minLength":1,"maxLength":100},"palette":{"type":"array","minItems":3,"maxItems":3,"prefixItems":[{"type":"string","pattern":"^#[0-9a-f]{6}$"},{"type":"string","pattern":"^#[0-9a-f]{6}$"},{"type":"string","pattern":"^#[0-9a-f]{6}$"}]},"price":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,40})?$"},"pricePerMillionTokensCc":{"description":"CC per million tokens, a display value; present for curve-package tokens.","type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,40})?$"},"raisedCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"references":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"href":{"type":"string","maxLength":2048,"format":"uri","description":"Public navigation-only HTTPS URL with a DNS hostname; credentials, IP literals, localhost and private/local DNS suffixes are forbidden. This is not permission for server-side fetching.","pattern":"^https://"},"kind":{"type":"string","enum":["website","docs","x","telegram","discord","instagram","youtube","tiktok","research"]},"label":{"type":"string","minLength":1,"maxLength":100}},"required":["href","kind","label"],"additionalProperties":false}},"rewardDestination":{"type":"string","enum":["creator","trader_cashback"]},"slug":{"type":"string","minLength":1,"maxLength":64},"sparkline":{"maxItems":500,"type":"array","items":{"type":"string","pattern":"^-?(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,40})?$"}},"tagline":{"type":"string","minLength":1,"maxLength":200},"ticker":{"type":"string","minLength":1,"maxLength":16},"tradeCount24h":{"type":"integer","minimum":0,"maximum":9007199254740991},"verified":{"type":"boolean"},"volume24h":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"volume7d":{"anyOf":[{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},{"type":"null"}],"description":"CC volume over meta.marketActivity.volume7d: \"0\" when the coin had no fills, null when the figure is not published."},"website":{"anyOf":[{"type":"string","maxLength":2048,"format":"uri","description":"Public navigation-only HTTPS URL with a DNS hostname; credentials, IP literals, localhost and private/local DNS suffixes are forbidden. This is not permission for server-side fetching.","pattern":"^https://"},{"type":"null"}]},"marketCapUsd":{"anyOf":[{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},{"type":"null"}],"description":"marketCap x meta.ccUsdQuote.rateUsdPerCc at Decimal10; null without a quote."},"priceUsd":{"anyOf":[{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,40})?$"},{"type":"null"}],"description":"price x meta.ccUsdQuote.rateUsdPerCc, a display value with significant digits; null without a quote."}},"required":["art","banner","bannerMimeType","category","change24h","createdAt","creatorRevenue","creator","creatorHandle","description","disclaimer","docs","fullyDilutedValue","holderChange24h","holders","id","image","imageKind","imageMimeType","instrumentId","lastBuyAt","launchProgress","marketCap","name","palette","price","raisedCc","references","rewardDestination","slug","sparkline","tagline","ticker","tradeCount24h","verified","volume24h","volume7d","website","marketCapUsd","priceUsd"],"additionalProperties":false},"meta":{"type":"object","properties":{"provenance":{"type":"object","properties":{"asOf":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"dataMode":{"type":"string","enum":["projected","simulated"]},"disclaimer":{"type":"string","minLength":1},"label":{"type":"string","minLength":1},"networkId":{"type":"string","pattern":"^canton:[-_a-zA-Z0-9]{1,32}$"},"visibility":{"type":"string","enum":["aggregated-from-entitled-views","public-by-design"]}},"required":["asOf","dataMode","disclaimer","label","networkId","visibility"],"additionalProperties":false},"schemaVersion":{"type":"string","const":"1"},"ccUsdQuote":{"anyOf":[{"type":"object","properties":{"asOf":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"When this backend fetched the rate."},"rateUsdPerCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$","description":"USD per CC."},"roundNumber":{"type":"integer","minimum":0,"maximum":9007199254740991},"source":{"type":"string","minLength":1,"maxLength":100},"stale":{"type":"boolean"}},"required":["asOf","rateUsdPerCc","roundNumber","source","stale"],"additionalProperties":false},{"type":"null"}]},"marketActivity":{"anyOf":[{"type":"object","properties":{"asOf":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"Every fill the participant query store held at this time is included."},"lastBuy":{"type":"string","enum":["published","unavailable"],"description":"'unavailable': lastBuyAt is null for every coin because it could not be read."},"unit":{"type":"string","const":"CC"},"volume24h":{"type":"object","properties":{"windowEnd":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"windowStart":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"An hour boundary; the window is whole hourly buckets."}},"required":["windowEnd","windowStart"],"additionalProperties":false},"volume7d":{"type":"object","properties":{"windowEnd":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"windowStart":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"An hour boundary; the window is whole hourly buckets."}},"required":["windowEnd","windowStart"],"additionalProperties":false},"volumeBasis":{"type":"string","const":"net_reserve_change","description":"Absolute change of the pool's net CC reserve per confirmed fill."}},"required":["asOf","lastBuy","unit","volume24h","volume7d","volumeBasis"],"additionalProperties":false},{"type":"null"}],"description":"Null when this source does not publish lastBuyAt and volume7d."}},"required":["provenance","schemaVersion","ccUsdQuote","marketActivity"],"additionalProperties":false}},"required":["item","meta"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"Invalid token slug. Also: `VALIDATION_FAILED`, `AMBIGUOUS_CREDENTIALS`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `API_KEY_INVALID`, `API_KEY_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Codes: `API_KEY_IP_NOT_ALLOWED`, `PRODUCT_ACCOUNT_RESTRICTED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"Token not found.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"The stage projection is not configured.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{},{"apiKey":[]}],"summary":"Get one public launch token by slug.","tags":["superapp tokens"],"x-api-key-scope":"read"}},"/api/v1/tokens/{slug}/candles":{"get":{"operationId":"SuperappMarketController_getCandles_v1","parameters":[{"name":"slug","required":true,"in":"path","schema":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?$"}},{"name":"from","required":false,"in":"query","schema":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},{"name":"interval","required":false,"in":"query","schema":{"default":"1h","type":"string","enum":["1m","5m","1h","4h","1d"]}},{"name":"to","required":false,"in":"query","schema":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},{"$ref":"#/components/parameters/RequestId"}],"responses":{"200":{"description":"Public candle projection.","content":{"application/json":{"schema":{"type":"object","properties":{"candles":{"maxItems":500,"type":"array","items":{"type":"object","properties":{"close":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,40})?$"},"high":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,40})?$"},"low":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,40})?$"},"open":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,40})?$"},"time":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"volume":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["close","high","low","open","time","volume"],"additionalProperties":false}},"meta":{"type":"object","properties":{"provenance":{"type":"object","properties":{"asOf":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"dataMode":{"type":"string","enum":["projected","simulated"]},"disclaimer":{"type":"string","minLength":1},"label":{"type":"string","minLength":1},"networkId":{"type":"string","pattern":"^canton:[-_a-zA-Z0-9]{1,32}$"},"visibility":{"type":"string","enum":["aggregated-from-entitled-views","public-by-design"]}},"required":["asOf","dataMode","disclaimer","label","networkId","visibility"],"additionalProperties":false},"schemaVersion":{"type":"string","const":"1"}},"required":["provenance","schemaVersion"],"additionalProperties":false}},"required":["candles","meta"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"Invalid token slug or candle window. Also: `VALIDATION_FAILED`, `AMBIGUOUS_CREDENTIALS`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `API_KEY_INVALID`, `API_KEY_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Codes: `API_KEY_IP_NOT_ALLOWED`, `PRODUCT_ACCOUNT_RESTRICTED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"Token not found.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"The stage projection is not configured.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{},{"apiKey":[]}],"summary":"Get bounded public CC-denominated candles for a token.","tags":["superapp tokens"],"x-api-key-scope":"read"}},"/api/v1/tokens/{slug}/candles/usd":{"get":{"operationId":"SuperappMarketController_getUsdCandles_v1","parameters":[{"name":"slug","required":true,"in":"path","schema":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?$"}},{"name":"from","required":false,"in":"query","schema":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},{"name":"interval","required":false,"in":"query","schema":{"default":"1h","type":"string","enum":["1m","5m","1h","4h","1d"]}},{"name":"to","required":false,"in":"query","schema":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},{"$ref":"#/components/parameters/RequestId"}],"responses":{"200":{"description":"Public USD candle series.","content":{"application/json":{"schema":{"type":"object","properties":{"candles":{"maxItems":500,"type":"array","items":{"type":"object","properties":{"close":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,60})?$"},"high":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,60})?$"},"low":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,60})?$"},"open":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,60})?$"},"time":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"volume":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$","description":"CC volume of the fills in the candle."},"volumeUsd":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$","description":"USD volume: each fill priced at the rate in effect when it traded."}},"required":["close","high","low","open","time","volume","volumeUsd"],"additionalProperties":false}},"meta":{"type":"object","properties":{"provenance":{"type":"object","properties":{"asOf":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"dataMode":{"type":"string","enum":["projected","simulated"]},"disclaimer":{"type":"string","minLength":1},"label":{"type":"string","minLength":1},"networkId":{"type":"string","pattern":"^canton:[-_a-zA-Z0-9]{1,32}$"},"visibility":{"type":"string","enum":["aggregated-from-entitled-views","public-by-design"]}},"required":["asOf","dataMode","disclaimer","label","networkId","visibility"],"additionalProperties":false},"schemaVersion":{"type":"string","const":"1"},"denomination":{"type":"string","const":"USD"},"fx":{"type":"object","properties":{"coverageStart":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}],"description":"When the oldest observed round opened. No USD value exists before it; nothing is back-filled from a later quote. Null: no round observed yet."},"rates":{"maxItems":5000,"type":"array","items":{"type":"object","properties":{"effectiveAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"The round's opensAt: the rate applies from here until the next round opens."},"rateUsdPerCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$","description":"USD per CC (amuletPrice)."},"roundNumber":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["effectiveAt","rateUsdPerCc","roundNumber"],"additionalProperties":false},"description":"The rate in effect at the series start, then every rate change inside it."},"source":{"type":"string","const":"splice-open-mining-round","description":"Splice super validators amuletPrice; a validator reference, not a traded price."},"sourceDetail":{"type":"string","minLength":1,"maxLength":100}},"required":["coverageStart","rates","source","sourceDetail"],"additionalProperties":false},"marketCapBasis":{"type":"string","const":"fully_diluted","description":"Market cap is the price times the fixed total supply (supply.totalSupply)."},"method":{"type":"string","const":"fill-and-rate-event-union","description":"Fills and rate changes walked in time order; each fill converted at its own rate before OHLC aggregation; a rate change alone emits a candle with zero volume."},"seriesStart":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}],"description":"First bucket covered: the requested window clipped to fx.coverageStart."},"supply":{"anyOf":[{"type":"object","properties":{"basis":{"type":"string","const":"fixed-total-supply"},"totalSupply":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["basis","totalSupply"],"additionalProperties":false},{"type":"null"}],"description":"Market cap at a candle: its USD price times this fixed total supply."}},"required":["provenance","schemaVersion","denomination","fx","marketCapBasis","method","seriesStart","supply"],"additionalProperties":false}},"required":["candles","meta"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"Invalid token slug or candle window. Also: `VALIDATION_FAILED`, `AMBIGUOUS_CREDENTIALS`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `API_KEY_INVALID`, `API_KEY_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Codes: `API_KEY_IP_NOT_ALLOWED`, `PRODUCT_ACCOUNT_RESTRICTED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"Token not found.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"The stage projection or the CC/USD rate history is not configured.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{},{"apiKey":[]}],"summary":"Get bounded public USD candles for a token: each fill at the CC/USD rate of its time, with rate changes as price events.","tags":["superapp tokens"],"x-api-key-scope":"read"}},"/api/v1/tokens/{slug}/holders":{"get":{"operationId":"SuperappMarketController_listHolders_v1","parameters":[{"name":"slug","required":true,"in":"path","schema":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?$"}},{"name":"cursor","required":false,"in":"query","schema":{"type":"string","minLength":1,"maxLength":512}},{"name":"limit","required":false,"in":"query","schema":{"default":24,"type":"integer","minimum":1,"maximum":100}},{"name":"q","required":false,"in":"query","schema":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[a-zA-Z0-9_-]+$"}},{"$ref":"#/components/parameters/RequestId"}],"responses":{"200":{"description":"Public holder projection page.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"avatarTone":{"type":"integer","minimum":0,"maximum":5},"entryMarketCapCc":{"anyOf":[{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},{"type":"null"}]},"holderHint":{"type":"string","pattern":"^holder_[0-9a-f]{24}$"},"id":{"type":"string","minLength":1,"maxLength":100},"pnlPercent":{"anyOf":[{"type":"string","pattern":"^-?(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},{"type":"null"}]},"role":{"type":"string","enum":["creator","participant"]},"supplyPercent":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"tokenAmount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["avatarTone","entryMarketCapCc","holderHint","id","pnlPercent","role","supplyPercent","tokenAmount"],"additionalProperties":false}},"meta":{"type":"object","properties":{"provenance":{"type":"object","properties":{"asOf":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"dataMode":{"type":"string","enum":["projected","simulated"]},"disclaimer":{"type":"string","minLength":1},"label":{"type":"string","minLength":1},"networkId":{"type":"string","pattern":"^canton:[-_a-zA-Z0-9]{1,32}$"},"visibility":{"type":"string","enum":["aggregated-from-entitled-views","public-by-design"]}},"required":["asOf","dataMode","disclaimer","label","networkId","visibility"],"additionalProperties":false},"schemaVersion":{"type":"string","const":"1"}},"required":["provenance","schemaVersion"],"additionalProperties":false},"page":{"type":"object","properties":{"hasMore":{"type":"boolean"},"limit":{"type":"integer","minimum":1,"maximum":100},"nextCursor":{"type":["string","null"]},"total":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["hasMore","limit","nextCursor","total"],"additionalProperties":false}},"required":["items","meta","page"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"Invalid token slug or cursor. Also: `VALIDATION_FAILED`, `AMBIGUOUS_CREDENTIALS`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `API_KEY_INVALID`, `API_KEY_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Codes: `API_KEY_IP_NOT_ALLOWED`, `PRODUCT_ACCOUNT_RESTRICTED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"Token not found.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"The stage projection is not configured.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{},{"apiKey":[]}],"summary":"List publication-safe holder rows for a token.","tags":["superapp tokens"],"x-api-key-scope":"read"}},"/api/v1/tokens/{slug}/trades":{"get":{"operationId":"SuperappMarketController_listTrades_v1","parameters":[{"name":"slug","required":true,"in":"path","schema":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?$"}},{"name":"cursor","required":false,"in":"query","schema":{"type":"string","minLength":1,"maxLength":512}},{"name":"limit","required":false,"in":"query","schema":{"default":24,"type":"integer","minimum":1,"maximum":100}},{"name":"account","required":false,"in":"query","schema":{"default":"all","description":"'creator': only the launch creator's trades, over all of the token's trades.","type":"string","enum":["all","creator"]}},{"name":"minNotionalCc","required":false,"in":"query","schema":{"default":"0","type":"string","minLength":1,"maxLength":80,"pattern":"^(?:0|[1-9]\\d*)(?:\\.\\d+)?$"}},{"name":"q","required":false,"in":"query","schema":{"description":"Substring of a participantHint or publicReference. Searches only the newest 1,000 trades (of the creator with account=creator); page.search reports the window and page.total counts matches inside it.","type":"string","minLength":1,"maxLength":64,"pattern":"^[a-zA-Z0-9_-]+$"}},{"name":"side","required":false,"in":"query","schema":{"type":"string","enum":["buy","sell"]}},{"$ref":"#/components/parameters/RequestId"}],"responses":{"200":{"description":"Public trade projection page.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"avatarTone":{"type":"integer","minimum":0,"maximum":5},"id":{"type":"string","minLength":1,"maxLength":100,"description":"Positional list key for this page only: it shifts as new fills arrive. Use `publicReference` to identify a trade."},"isCreator":{"type":"boolean"},"notionalCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"occurredAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"participantHint":{"type":"string","pattern":"^holder_[0-9a-f]{24}$"},"publicReference":{"type":"string","pattern":"^trade_ref_[0-9a-f]{32}$","description":"Stable public identifier of the trade; key, deduplicate and link on this field."},"side":{"type":"string","enum":["buy","sell"]},"tokenAmount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["avatarTone","id","isCreator","notionalCc","occurredAt","participantHint","publicReference","side","tokenAmount"],"additionalProperties":false}},"meta":{"type":"object","properties":{"provenance":{"type":"object","properties":{"asOf":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"dataMode":{"type":"string","enum":["projected","simulated"]},"disclaimer":{"type":"string","minLength":1},"label":{"type":"string","minLength":1},"networkId":{"type":"string","pattern":"^canton:[-_a-zA-Z0-9]{1,32}$"},"visibility":{"type":"string","enum":["aggregated-from-entitled-views","public-by-design"]}},"required":["asOf","dataMode","disclaimer","label","networkId","visibility"],"additionalProperties":false},"schemaVersion":{"type":"string","const":"1"}},"required":["provenance","schemaVersion"],"additionalProperties":false},"page":{"type":"object","properties":{"hasMore":{"type":"boolean"},"limit":{"type":"integer","minimum":1,"maximum":100},"nextCursor":{"type":["string","null"]},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"search":{"description":"Present only for a hint search (q): the search ran over the newest scanLimit trades, and total counts the matches inside that window, not over all trades.","type":"object","properties":{"scanLimit":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"description":"Most trades one search scans."},"scanned":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Trades scanned for this search."},"truncated":{"type":"boolean","description":"True when older trades exist beyond the window; matches there are not counted."}},"required":["scanLimit","scanned","truncated"],"additionalProperties":false}},"required":["hasMore","limit","nextCursor","total"],"additionalProperties":false}},"required":["items","meta","page"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"Invalid token slug, filters, or cursor. Also: `VALIDATION_FAILED`, `AMBIGUOUS_CREDENTIALS`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `API_KEY_INVALID`, `API_KEY_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Codes: `API_KEY_IP_NOT_ALLOWED`, `PRODUCT_ACCOUNT_RESTRICTED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"Token not found.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"The stage projection is not configured.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{},{"apiKey":[]}],"summary":"List publication-safe public trades for a token.","tags":["superapp tokens"],"x-api-key-scope":"read"}},"/api/v1/tokens/{slug}/creator-avatar":{"get":{"operationId":"PublicCreatorAvatarController_getAvatar_v1","parameters":[{"name":"slug","required":true,"in":"path","schema":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?$"}},{"name":"v","required":false,"in":"query","schema":{"type":"string","pattern":"^[a-f0-9]{16}$"}},{"$ref":"#/components/parameters/RequestId"}],"responses":{"200":{"description":"Current scanned creator image. Private storage keys and signed URLs are never returned.","headers":{"Cache-Control":{"schema":{"type":"string","enum":["no-store"]}},"Cross-Origin-Resource-Policy":{"schema":{"type":"string","enum":["cross-origin"]}},"X-Content-Type-Options":{"schema":{"type":"string","enum":["nosniff"]}},"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"image/png":{"schema":{"type":"string","format":"binary"}},"image/jpeg":{"schema":{"type":"string","format":"binary"}},"image/webp":{"schema":{"type":"string","format":"binary"}}}},"400":{"description":"Invalid token slug or avatar version. Also: `VALIDATION_FAILED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The creator has no current published custom avatar.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"Image storage is unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[],"summary":"Read a confirmed token creator's current published avatar.","tags":["superapp tokens"]}},"/api/v1/me/session":{"delete":{"operationId":"IdentityController_revokeCurrentSession_v1","parameters":[{"$ref":"#/components/parameters/ServiceActAs"},{"$ref":"#/components/parameters/RequestId"}],"responses":{"200":{"description":"The durable local session-revocation receipt. The client must still complete Privy logout.","content":{"application/json":{"schema":{"type":"object","properties":{"mode":{"type":"string","enum":["persistent","simulated"]},"provider":{"type":"string","const":"privy"},"providerLogoutRequired":{"type":"boolean","const":true},"revokedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["mode","provider","providerLogoutRequired","revokedAt"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The request is malformed or failed validation. Codes: `AMBIGUOUS_CREDENTIALS`, `SERVICE_ACT_AS_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `AUTHENTICATION_REQUIRED`, `INVALID_AUTHORIZATION_HEADER`, `INVALID_ACCESS_TOKEN`, `SESSION_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Codes: `ACCOUNT_RESTRICTED`, `ANONYMOUS_ACCOUNT_NOT_ALLOWED`, `API_KEY_ROUTE_NOT_ALLOWED`, `SERVICE_PARTY_NOT_ALLOWED`, `SERVICE_PRINCIPAL_NOT_ALLOWED`, `SIGNUP_NOT_INVITED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"A dependency is unavailable or the feature is not enabled on this deployment. Codes: `AUTHENTICATION_UNAVAILABLE`, `AUTHORIZATION_UNAVAILABLE`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{"bearer":[]}],"summary":"Idempotently revoke the verified current Privy session before provider logout.","tags":["identity"]}},"/api/v1/me/legal-acceptance":{"get":{"operationId":"IdentityController_legalAcceptanceStatus_v1","parameters":[{"$ref":"#/components/parameters/ServiceActAs"},{"$ref":"#/components/parameters/RequestId"}],"responses":{"200":{"description":"The current policy and this profile’s exact version-bound acceptance status.","content":{"application/json":{"schema":{"type":"object","properties":{"accepted":{"type":"boolean"},"acceptedAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"mode":{"type":"string","enum":["persistent","simulated"]},"policy":{"type":"object","properties":{"documents":{"type":"array","minItems":3,"maxItems":3,"prefixItems":[{"type":"object","properties":{"action":{"type":"string","const":"agree"},"digest":{"type":"string","const":"sha256:ae3001c9110291ba6d97fe27343218a23ec93427ac7f7654e45e77b3fe08523d"},"slug":{"type":"string","const":"terms"}},"required":["action","digest","slug"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","const":"acknowledge"},"digest":{"type":"string","const":"sha256:5cdce14744e77bd382a30b10469918d64b556c62af995ab1c84601304446ab5f"},"slug":{"type":"string","const":"privacy"}},"required":["action","digest","slug"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","const":"acknowledge"},"digest":{"type":"string","const":"sha256:3d54b4c54d38211c9cb5b5789e97607bd7c49157f7cff5928d2e348c66d04c84"},"slug":{"type":"string","const":"risk"}},"required":["action","digest","slug"],"additionalProperties":false}]},"effectiveAt":{"type":"string","const":"2026-08-04T00:00:00.000Z"},"id":{"type":"string","const":"supanova-product-access-legal"},"legalApproval":{"type":"string","const":"required-before-connected-release"},"reacceptance":{"type":"string","const":"material-version-only"},"setDigest":{"type":"string","const":"sha256:b07f64b9f408addf88588d529535451f0421aadaecc665a5e461406597ce77b2"},"updatedAt":{"type":"string","const":"2026-08-12T00:00:00.000Z"},"version":{"type":"string","const":"1"}},"required":["documents","effectiveAt","id","legalApproval","reacceptance","setDigest","updatedAt","version"],"additionalProperties":false}},"required":["accepted","acceptedAt","mode","policy"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The request is malformed or failed validation. Codes: `AMBIGUOUS_CREDENTIALS`, `SERVICE_ACT_AS_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `AUTHENTICATION_REQUIRED`, `INVALID_AUTHORIZATION_HEADER`, `INVALID_ACCESS_TOKEN`, `SESSION_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Codes: `ACCOUNT_RESTRICTED`, `ANONYMOUS_ACCOUNT_NOT_ALLOWED`, `API_KEY_ROUTE_NOT_ALLOWED`, `SERVICE_PARTY_NOT_ALLOWED`, `SERVICE_PRINCIPAL_NOT_ALLOWED`, `SIGNUP_NOT_INVITED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"A dependency is unavailable or the feature is not enabled on this deployment. Codes: `AUTHENTICATION_UNAVAILABLE`, `AUTHORIZATION_UNAVAILABLE`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{"bearer":[]}],"summary":"Return acceptance status for the current product legal policy.","tags":["identity"]},"post":{"operationId":"IdentityController_acceptLegalPolicy_v1","parameters":[{"$ref":"#/components/parameters/ServiceActAs"},{"$ref":"#/components/parameters/RequestId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"accepted":{"type":"boolean","const":true},"documents":{"type":"array","minItems":3,"maxItems":3,"prefixItems":[{"type":"object","properties":{"action":{"type":"string","const":"agree"},"digest":{"type":"string","const":"sha256:ae3001c9110291ba6d97fe27343218a23ec93427ac7f7654e45e77b3fe08523d"},"slug":{"type":"string","const":"terms"}},"required":["action","digest","slug"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","const":"acknowledge"},"digest":{"type":"string","const":"sha256:5cdce14744e77bd382a30b10469918d64b556c62af995ab1c84601304446ab5f"},"slug":{"type":"string","const":"privacy"}},"required":["action","digest","slug"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","const":"acknowledge"},"digest":{"type":"string","const":"sha256:3d54b4c54d38211c9cb5b5789e97607bd7c49157f7cff5928d2e348c66d04c84"},"slug":{"type":"string","const":"risk"}},"required":["action","digest","slug"],"additionalProperties":false}]},"policyId":{"type":"string","const":"supanova-product-access-legal"},"policySetDigest":{"type":"string","const":"sha256:b07f64b9f408addf88588d529535451f0421aadaecc665a5e461406597ce77b2"},"policyVersion":{"type":"string","const":"1"}},"required":["accepted","documents","policyId","policySetDigest","policyVersion"],"additionalProperties":false}}}},"responses":{"200":{"description":"The durable, server-timestamped acceptance status.","content":{"application/json":{"schema":{"type":"object","properties":{"accepted":{"type":"boolean"},"acceptedAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"mode":{"type":"string","enum":["persistent","simulated"]},"policy":{"type":"object","properties":{"documents":{"type":"array","minItems":3,"maxItems":3,"prefixItems":[{"type":"object","properties":{"action":{"type":"string","const":"agree"},"digest":{"type":"string","const":"sha256:ae3001c9110291ba6d97fe27343218a23ec93427ac7f7654e45e77b3fe08523d"},"slug":{"type":"string","const":"terms"}},"required":["action","digest","slug"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","const":"acknowledge"},"digest":{"type":"string","const":"sha256:5cdce14744e77bd382a30b10469918d64b556c62af995ab1c84601304446ab5f"},"slug":{"type":"string","const":"privacy"}},"required":["action","digest","slug"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","const":"acknowledge"},"digest":{"type":"string","const":"sha256:3d54b4c54d38211c9cb5b5789e97607bd7c49157f7cff5928d2e348c66d04c84"},"slug":{"type":"string","const":"risk"}},"required":["action","digest","slug"],"additionalProperties":false}]},"effectiveAt":{"type":"string","const":"2026-08-04T00:00:00.000Z"},"id":{"type":"string","const":"supanova-product-access-legal"},"legalApproval":{"type":"string","const":"required-before-connected-release"},"reacceptance":{"type":"string","const":"material-version-only"},"setDigest":{"type":"string","const":"sha256:b07f64b9f408addf88588d529535451f0421aadaecc665a5e461406597ce77b2"},"updatedAt":{"type":"string","const":"2026-08-12T00:00:00.000Z"},"version":{"type":"string","const":"1"}},"required":["documents","effectiveAt","id","legalApproval","reacceptance","setDigest","updatedAt","version"],"additionalProperties":false}},"required":["accepted","acceptedAt","mode","policy"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The request is malformed or failed validation. Codes: `VALIDATION_FAILED`, `AMBIGUOUS_CREDENTIALS`, `SERVICE_ACT_AS_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `AUTHENTICATION_REQUIRED`, `INVALID_AUTHORIZATION_HEADER`, `INVALID_ACCESS_TOKEN`, `SESSION_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Codes: `ACCOUNT_RESTRICTED`, `ANONYMOUS_ACCOUNT_NOT_ALLOWED`, `API_KEY_ROUTE_NOT_ALLOWED`, `SERVICE_PARTY_NOT_ALLOWED`, `SERVICE_PRINCIPAL_NOT_ALLOWED`, `SIGNUP_NOT_INVITED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"413":{"description":"The request body exceeds the size limit.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"A dependency is unavailable or the feature is not enabled on this deployment. Codes: `AUTHENTICATION_UNAVAILABLE`, `AUTHORIZATION_UNAVAILABLE`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{"bearer":[]}],"summary":"Idempotently accept the exact current Supanova product legal policy.","tags":["identity"]}},"/api/v1/me":{"get":{"operationId":"IdentityController_getProfile_v1","parameters":[{"$ref":"#/components/parameters/ServiceActAs"},{"$ref":"#/components/parameters/RequestId"}],"responses":{"200":{"description":"The current product profile.","content":{"application/json":{"schema":{"type":"object","properties":{"avatarPath":{"type":["string","null"]},"avatarPresetId":{"anyOf":[{"type":"string","enum":["supanova-01","supanova-02","supanova-03","supanova-04","supanova-05","supanova-06","supanova-07","supanova-08","supanova-09","supanova-10","supanova-11","supanova-12"]},{"type":"null"}]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"displayName":{"anyOf":[{"type":"string","minLength":2,"maxLength":32,"pattern":"^[\\p{L}\\p{N} .']+$"},{"type":"null"}]},"email":{"type":["string","null"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"locale":{"type":"string"},"mode":{"type":"string","enum":["mock","persistent"]},"policyVersion":{"type":"string","const":"profile-identity-v2"},"profileComplete":{"type":"boolean"},"status":{"type":"string","enum":["active","restricted","closed"]},"timezone":{"type":"string"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"username":{"anyOf":[{"type":"string","minLength":3,"maxLength":24,"pattern":"^[a-z][a-z0-9_]*$"},{"type":"null"}]},"usernameChangeAllowed":{"type":"boolean"},"usernameChangeAllowedAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"usernameChangesRemaining":{"type":"integer","minimum":0,"maximum":3},"version":{"type":"string","pattern":"^[1-9]\\d*$"}},"required":["avatarPath","avatarPresetId","createdAt","displayName","email","id","locale","mode","policyVersion","profileComplete","status","timezone","updatedAt","username","usernameChangeAllowed","usernameChangeAllowedAt","usernameChangesRemaining","version"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The request is malformed or failed validation. Codes: `AMBIGUOUS_CREDENTIALS`, `SERVICE_ACT_AS_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `AUTHENTICATION_REQUIRED`, `INVALID_AUTHORIZATION_HEADER`, `INVALID_ACCESS_TOKEN`, `SESSION_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Codes: `ACCOUNT_RESTRICTED`, `ANONYMOUS_ACCOUNT_NOT_ALLOWED`, `API_KEY_ROUTE_NOT_ALLOWED`, `SERVICE_PARTY_NOT_ALLOWED`, `SERVICE_PRINCIPAL_NOT_ALLOWED`, `SIGNUP_NOT_INVITED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"A dependency is unavailable or the feature is not enabled on this deployment. Codes: `AUTHENTICATION_UNAVAILABLE`, `AUTHORIZATION_UNAVAILABLE`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{"bearer":[]}],"summary":"Return the authenticated Supanova profile.","tags":["identity"]},"patch":{"operationId":"IdentityController_updateProfile_v1","parameters":[{"$ref":"#/components/parameters/ServiceActAs"},{"$ref":"#/components/parameters/RequestId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"avatarPath":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]},"avatarPresetId":{"anyOf":[{"type":"string","enum":["supanova-01","supanova-02","supanova-03","supanova-04","supanova-05","supanova-06","supanova-07","supanova-08","supanova-09","supanova-10","supanova-11","supanova-12"]},{"type":"null"}]},"displayName":{"type":"string","minLength":2,"maxLength":32,"pattern":"^[\\p{L}\\p{N} .']+$"},"expectedVersion":{"type":"string","pattern":"^[1-9]\\d{0,19}$"},"locale":{"type":"string","minLength":2,"maxLength":16},"timezone":{"type":"string","minLength":1,"maxLength":64},"username":{"type":"string","minLength":3,"maxLength":24,"pattern":"^[a-z][a-z0-9_]*$"}},"required":["expectedVersion"],"additionalProperties":false}}}},"responses":{"200":{"description":"The updated profile.","content":{"application/json":{"schema":{"type":"object","properties":{"avatarPath":{"type":["string","null"]},"avatarPresetId":{"anyOf":[{"type":"string","enum":["supanova-01","supanova-02","supanova-03","supanova-04","supanova-05","supanova-06","supanova-07","supanova-08","supanova-09","supanova-10","supanova-11","supanova-12"]},{"type":"null"}]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"displayName":{"anyOf":[{"type":"string","minLength":2,"maxLength":32,"pattern":"^[\\p{L}\\p{N} .']+$"},{"type":"null"}]},"email":{"type":["string","null"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"locale":{"type":"string"},"mode":{"type":"string","enum":["mock","persistent"]},"policyVersion":{"type":"string","const":"profile-identity-v2"},"profileComplete":{"type":"boolean"},"status":{"type":"string","enum":["active","restricted","closed"]},"timezone":{"type":"string"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"username":{"anyOf":[{"type":"string","minLength":3,"maxLength":24,"pattern":"^[a-z][a-z0-9_]*$"},{"type":"null"}]},"usernameChangeAllowed":{"type":"boolean"},"usernameChangeAllowedAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"usernameChangesRemaining":{"type":"integer","minimum":0,"maximum":3},"version":{"type":"string","pattern":"^[1-9]\\d*$"}},"required":["avatarPath","avatarPresetId","createdAt","displayName","email","id","locale","mode","policyVersion","profileComplete","status","timezone","updatedAt","username","usernameChangeAllowed","usernameChangeAllowedAt","usernameChangesRemaining","version"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The request is malformed or failed validation. Codes: `VALIDATION_FAILED`, `AMBIGUOUS_CREDENTIALS`, `SERVICE_ACT_AS_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `AUTHENTICATION_REQUIRED`, `INVALID_AUTHORIZATION_HEADER`, `INVALID_ACCESS_TOKEN`, `SESSION_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Codes: `ACCOUNT_RESTRICTED`, `ANONYMOUS_ACCOUNT_NOT_ALLOWED`, `API_KEY_ROUTE_NOT_ALLOWED`, `SERVICE_PARTY_NOT_ALLOWED`, `SERVICE_PRINCIPAL_NOT_ALLOWED`, `SIGNUP_NOT_INVITED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"413":{"description":"The request body exceeds the size limit.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"428":{"description":"The signed-in account must accept the current product terms first. Codes: `PRODUCT_LEGAL_ACCEPTANCE_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"A dependency is unavailable or the feature is not enabled on this deployment. Codes: `AUTHENTICATION_UNAVAILABLE`, `AUTHORIZATION_UNAVAILABLE`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{"bearer":[]}],"summary":"Atomically update presentation-only profile fields.","tags":["identity"]}},"/api/v1/me/username-availability":{"post":{"operationId":"IdentityController_usernameAvailability_v1","parameters":[{"$ref":"#/components/parameters/ServiceActAs"},{"$ref":"#/components/parameters/RequestId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"username":{"type":"string","maxLength":128}},"required":["username"],"additionalProperties":false}}}},"responses":{"200":{"description":"Advisory availability; PATCH /me resolves concurrent claims authoritatively.","content":{"application/json":{"schema":{"type":"object","properties":{"available":{"type":"boolean"},"policyVersion":{"type":"string","const":"profile-identity-v2"},"reason":{"type":"string","enum":["available","current","invalid_format","invalid_length","reserved","taken"]},"username":{"type":"string"}},"required":["available","policyVersion","reason","username"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The request is malformed or failed validation. Codes: `VALIDATION_FAILED`, `AMBIGUOUS_CREDENTIALS`, `SERVICE_ACT_AS_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `AUTHENTICATION_REQUIRED`, `INVALID_AUTHORIZATION_HEADER`, `INVALID_ACCESS_TOKEN`, `SESSION_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Codes: `ACCOUNT_RESTRICTED`, `ANONYMOUS_ACCOUNT_NOT_ALLOWED`, `API_KEY_ROUTE_NOT_ALLOWED`, `SERVICE_PARTY_NOT_ALLOWED`, `SERVICE_PRINCIPAL_NOT_ALLOWED`, `SIGNUP_NOT_INVITED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"413":{"description":"The request body exceeds the size limit.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"428":{"description":"The signed-in account must accept the current product terms first. Codes: `PRODUCT_LEGAL_ACCEPTANCE_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"A dependency is unavailable or the feature is not enabled on this deployment. Codes: `AUTHENTICATION_UNAVAILABLE`, `AUTHORIZATION_UNAVAILABLE`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{"bearer":[]}],"summary":"Check normalized username availability without reserving the name.","tags":["identity"]}},"/api/v1/me/account-closure":{"post":{"operationId":"IdentityController_closeAccount_v1","parameters":[{"$ref":"#/components/parameters/ServiceActAs"},{"$ref":"#/components/parameters/RequestId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"confirmation":{"type":"string","const":"CLOSE MY SUPANOVA ACCOUNT"}},"required":["confirmation"],"additionalProperties":false}}}},"responses":{"200":{"description":"The durable account-closure receipt.","content":{"application/json":{"schema":{"type":"object","properties":{"closedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"dataMode":{"type":"string","const":"persistent"},"retainedRecords":{"type":"array","items":{"type":"string","enum":["financial","launch","security","audit"]}},"status":{"type":"string","const":"closed"}},"required":["closedAt","dataMode","retainedRecords","status"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The request is malformed or failed validation. Codes: `VALIDATION_FAILED`, `AMBIGUOUS_CREDENTIALS`, `SERVICE_ACT_AS_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `AUTHENTICATION_REQUIRED`, `INVALID_AUTHORIZATION_HEADER`, `INVALID_ACCESS_TOKEN`, `SESSION_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Codes: `ACCOUNT_RESTRICTED`, `ANONYMOUS_ACCOUNT_NOT_ALLOWED`, `API_KEY_ROUTE_NOT_ALLOWED`, `SERVICE_PARTY_NOT_ALLOWED`, `SERVICE_PRINCIPAL_NOT_ALLOWED`, `SIGNUP_NOT_INVITED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"413":{"description":"The request body exceeds the size limit.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"Durable account closure requires PostgreSQL. Also: `AUTHENTICATION_UNAVAILABLE`, `AUTHORIZATION_UNAVAILABLE`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{"bearer":[]}],"summary":"Irreversibly close the product account and clear presentation data.","tags":["identity"]}},"/api/v1/me/wallets":{"get":{"operationId":"IdentityController_listWallets_v1","parameters":[{"$ref":"#/components/parameters/ServiceActAs"},{"$ref":"#/components/parameters/RequestId"}],"responses":{"200":{"description":"Owned wallet connections.","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"cantonPartyId":{"type":"string"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"isPrimary":{"type":"boolean"},"label":{"type":["string","null"]},"networkId":{"type":"string"},"status":{"type":"string"},"verifiedAt":{"type":["string","null"]},"walletKind":{"type":"string"},"walletProvider":{"type":"string"}},"required":["cantonPartyId","id","isPrimary","label","networkId","status","verifiedAt","walletKind","walletProvider"],"additionalProperties":false}}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The request is malformed or failed validation. Codes: `AMBIGUOUS_CREDENTIALS`, `SERVICE_ACT_AS_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `AUTHENTICATION_REQUIRED`, `INVALID_AUTHORIZATION_HEADER`, `INVALID_ACCESS_TOKEN`, `SESSION_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Codes: `ACCOUNT_RESTRICTED`, `ANONYMOUS_ACCOUNT_NOT_ALLOWED`, `API_KEY_ROUTE_NOT_ALLOWED`, `SERVICE_PARTY_NOT_ALLOWED`, `SERVICE_PRINCIPAL_NOT_ALLOWED`, `SIGNUP_NOT_INVITED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"A dependency is unavailable or the feature is not enabled on this deployment. Codes: `AUTHENTICATION_UNAVAILABLE`, `AUTHORIZATION_UNAVAILABLE`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{"bearer":[]}],"summary":"List wallet-neutral Canton Party connections.","tags":["identity"]}},"/api/v1/me/wallets/{connectionId}":{"patch":{"operationId":"IdentityController_updateWallet_v1","parameters":[{"name":"connectionId","required":true,"in":"path","schema":{"format":"uuid","type":"string"}},{"$ref":"#/components/parameters/ServiceActAs"},{"$ref":"#/components/parameters/RequestId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"label":{"anyOf":[{"type":"string","minLength":1,"maxLength":80},{"type":"null"}]},"makePrimary":{"type":"boolean","const":true}},"additionalProperties":false}}}},"responses":{"200":{"description":"The updated wallet connection.","content":{"application/json":{"schema":{"type":"object","properties":{"cantonPartyId":{"type":"string"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"isPrimary":{"type":"boolean"},"label":{"type":["string","null"]},"networkId":{"type":"string"},"status":{"type":"string"},"verifiedAt":{"type":["string","null"]},"walletKind":{"type":"string"},"walletProvider":{"type":"string"}},"required":["cantonPartyId","id","isPrimary","label","networkId","status","verifiedAt","walletKind","walletProvider"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The request is malformed or failed validation. Codes: `VALIDATION_FAILED`, `AMBIGUOUS_CREDENTIALS`, `SERVICE_ACT_AS_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `AUTHENTICATION_REQUIRED`, `INVALID_AUTHORIZATION_HEADER`, `INVALID_ACCESS_TOKEN`, `SESSION_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Codes: `ACCOUNT_RESTRICTED`, `ANONYMOUS_ACCOUNT_NOT_ALLOWED`, `API_KEY_ROUTE_NOT_ALLOWED`, `SERVICE_PARTY_NOT_ALLOWED`, `SERVICE_PRINCIPAL_NOT_ALLOWED`, `SIGNUP_NOT_INVITED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"No resource the caller may see matches the path.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"413":{"description":"The request body exceeds the size limit.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"428":{"description":"The signed-in account must accept the current product terms first. Codes: `PRODUCT_LEGAL_ACCEPTANCE_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"A dependency is unavailable or the feature is not enabled on this deployment. Codes: `AUTHENTICATION_UNAVAILABLE`, `AUTHORIZATION_UNAVAILABLE`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{"bearer":[]}],"summary":"Update an owned wallet label or make it primary.","tags":["identity"]},"delete":{"operationId":"IdentityController_disconnectWallet_v1","parameters":[{"name":"connectionId","required":true,"in":"path","schema":{"format":"uuid","type":"string"}},{"$ref":"#/components/parameters/ServiceActAs"},{"$ref":"#/components/parameters/RequestId"}],"responses":{"204":{"description":"Wallet connection disconnected.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The request is malformed or failed validation. Codes: `VALIDATION_FAILED`, `AMBIGUOUS_CREDENTIALS`, `SERVICE_ACT_AS_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `AUTHENTICATION_REQUIRED`, `INVALID_AUTHORIZATION_HEADER`, `INVALID_ACCESS_TOKEN`, `SESSION_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Codes: `ACCOUNT_RESTRICTED`, `ANONYMOUS_ACCOUNT_NOT_ALLOWED`, `API_KEY_ROUTE_NOT_ALLOWED`, `SERVICE_PARTY_NOT_ALLOWED`, `SERVICE_PRINCIPAL_NOT_ALLOWED`, `SIGNUP_NOT_INVITED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"No resource the caller may see matches the path.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"428":{"description":"The signed-in account must accept the current product terms first. Codes: `PRODUCT_LEGAL_ACCEPTANCE_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"A dependency is unavailable or the feature is not enabled on this deployment. Codes: `AUTHENTICATION_UNAVAILABLE`, `AUTHORIZATION_UNAVAILABLE`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{"bearer":[]}],"summary":"Disconnect an owned wallet; reconnection requires a fresh proof.","tags":["identity"]}},"/api/v1/me/api-keys":{"get":{"operationId":"ApiKeysController_list_v1","parameters":[{"$ref":"#/components/parameters/ServiceActAs"},{"$ref":"#/components/parameters/RequestId"}],"responses":{"200":{"description":"Your keys, newest first; never their secrets.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[a-z2-7]{12}$"},"name":{"type":"string"},"environment":{"type":"string","enum":["live","test"]},"scopes":{"type":"array","items":{"type":"string","enum":["read","trade","withdraw"]}},"signed":{"type":"boolean"},"authorizedParty":{"type":["string","null"]},"ipAllowlist":{"type":"array","items":{"type":"string"}},"expiresAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"lastUsedAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"revokedAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"status":{"type":"string","enum":["active","expired","revoked"]}},"required":["id","name","environment","scopes","signed","authorizedParty","ipAllowlist","expiresAt","createdAt","lastUsedAt","revokedAt","status"],"additionalProperties":false}},"limits":{"type":"object","properties":{"windowSeconds":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"readPerWindow":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"writePerWindow":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"maxActiveKeys":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"signatureWindowMs":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"required":["windowSeconds","readPerWindow","writePerWindow","maxActiveKeys","signatureWindowMs"],"additionalProperties":false}},"required":["items","limits"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The request is malformed or failed validation. Codes: `AMBIGUOUS_CREDENTIALS`, `SERVICE_ACT_AS_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `AUTHENTICATION_REQUIRED`, `INVALID_AUTHORIZATION_HEADER`, `INVALID_ACCESS_TOKEN`, `SESSION_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"Not an interactive session. Also: `ACCOUNT_RESTRICTED`, `ANONYMOUS_ACCOUNT_NOT_ALLOWED`, `API_KEY_ROUTE_NOT_ALLOWED`, `SERVICE_PARTY_NOT_ALLOWED`, `SERVICE_PRINCIPAL_NOT_ALLOWED`, `SIGNUP_NOT_INVITED`, `INTERACTIVE_SESSION_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"A dependency is unavailable or the feature is not enabled on this deployment. Codes: `AUTHENTICATION_UNAVAILABLE`, `AUTHORIZATION_UNAVAILABLE`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{"bearer":[]}],"summary":"List your API keys and the limits that apply to them.","tags":["api keys"]},"post":{"operationId":"ApiKeysController_create_v1","parameters":[{"$ref":"#/components/parameters/ServiceActAs"},{"$ref":"#/components/parameters/RequestId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":64},"scopes":{"anyOf":[{"type":"array","minItems":1,"maxItems":1,"prefixItems":[{"type":"string","const":"read"}]},{"type":"array","minItems":2,"maxItems":2,"prefixItems":[{"type":"string","const":"read"},{"type":"string","const":"trade"}]}]},"signingPublicKey":{"type":"string","minLength":43,"maxLength":88},"authorization":{"type":"object","properties":{"challengeId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"message":{"type":"string","minLength":1,"maxLength":4096},"signature":{"type":"string","minLength":1,"maxLength":512},"publicKey":{"type":"string","minLength":1,"maxLength":128}},"required":["challengeId","message","signature","publicKey"],"additionalProperties":false},"ipAllowlist":{"default":[],"maxItems":16,"type":"array","items":{"type":"string","maxLength":64}},"expiresInDays":{"type":"integer","minimum":1,"maximum":365}},"required":["name","scopes","ipAllowlist"],"additionalProperties":false}}}},"responses":{"201":{"description":"The key and its one-time secret.","content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"object","properties":{"id":{"type":"string","pattern":"^[a-z2-7]{12}$"},"name":{"type":"string"},"environment":{"type":"string","enum":["live","test"]},"scopes":{"type":"array","items":{"type":"string","enum":["read","trade","withdraw"]}},"signed":{"type":"boolean"},"authorizedParty":{"type":["string","null"]},"ipAllowlist":{"type":"array","items":{"type":"string"}},"expiresAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"lastUsedAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"revokedAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"status":{"type":"string","enum":["active","expired","revoked"]}},"required":["id","name","environment","scopes","signed","authorizedParty","ipAllowlist","expiresAt","createdAt","lastUsedAt","revokedAt","status"],"additionalProperties":false},"secret":{"type":"string","pattern":"^sn_(live|test)_[a-z2-7]{12}_[A-Za-z0-9_-]{43}$"}},"required":["key","secret"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The request is malformed or failed validation. Codes: `VALIDATION_FAILED`, `AMBIGUOUS_CREDENTIALS`, `SERVICE_ACT_AS_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Not signed in. Also: `AUTHENTICATION_REQUIRED`, `INVALID_AUTHORIZATION_HEADER`, `INVALID_ACCESS_TOKEN`, `SESSION_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"Not an interactive session, or a restricted account. Also: `ACCOUNT_RESTRICTED`, `ANONYMOUS_ACCOUNT_NOT_ALLOWED`, `API_KEY_ROUTE_NOT_ALLOWED`, `SERVICE_PARTY_NOT_ALLOWED`, `SERVICE_PRINCIPAL_NOT_ALLOWED`, `SIGNUP_NOT_INVITED`, `INTERACTIVE_SESSION_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The per-account key limit is reached.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"413":{"description":"The request body exceeds the size limit.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"428":{"description":"The signed-in account must accept the current product terms first. Codes: `PRODUCT_LEGAL_ACCEPTANCE_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"A dependency is unavailable or the feature is not enabled on this deployment. Codes: `AUTHENTICATION_UNAVAILABLE`, `AUTHORIZATION_UNAVAILABLE`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{"bearer":[]}],"summary":"Create an API key. The secret is returned once. A trade key needs an Ed25519 public key and a wallet-signed trade-key authorisation.","tags":["api keys"]}},"/api/v1/me/api-keys/trade-authorizations":{"post":{"operationId":"ApiKeysController_authorizeTradeKey_v1","parameters":[{"name":"Origin","in":"header","description":"Exact browser origin.","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/ServiceActAs"},{"$ref":"#/components/parameters/RequestId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"walletConnectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"signingPublicKey":{"type":"string","minLength":43,"maxLength":88}},"required":["walletConnectionId","signingPublicKey"],"additionalProperties":false}}}},"responses":{"201":{"description":"Sign signingRequest.params.hash.","content":{"application/json":{"schema":{"type":"object","properties":{"challengeId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"message":{"type":"string"},"partyId":{"type":"string"},"signingRequest":{"type":"object","properties":{"method":{"type":"string","const":"signHash"},"params":{"type":"object","properties":{"hash":{"type":"string"},"message":{"type":"string"}},"required":["hash","message"],"additionalProperties":false},"standard":{"type":"string"}},"required":["method","params","standard"],"additionalProperties":false}},"required":["challengeId","expiresAt","message","partyId","signingRequest"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The request is malformed or failed validation. Codes: `VALIDATION_FAILED`, `AMBIGUOUS_CREDENTIALS`, `SERVICE_ACT_AS_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `AUTHENTICATION_REQUIRED`, `INVALID_AUTHORIZATION_HEADER`, `INVALID_ACCESS_TOKEN`, `SESSION_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"Not an interactive session. Also: `ACCOUNT_RESTRICTED`, `ANONYMOUS_ACCOUNT_NOT_ALLOWED`, `API_KEY_ROUTE_NOT_ALLOWED`, `SERVICE_PARTY_NOT_ALLOWED`, `SERVICE_PRINCIPAL_NOT_ALLOWED`, `SIGNUP_NOT_INVITED`, `INTERACTIVE_SESSION_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"413":{"description":"The request body exceeds the size limit.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"428":{"description":"The signed-in account must accept the current product terms first. Codes: `PRODUCT_LEGAL_ACCEPTANCE_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"A dependency is unavailable or the feature is not enabled on this deployment. Codes: `AUTHENTICATION_UNAVAILABLE`, `AUTHORIZATION_UNAVAILABLE`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{"bearer":[]}],"summary":"Start a trade key: a 5-minute challenge that a bound Party’s wallet signs (signHash), naming the Ed25519 key the trade key will sign with.","tags":["api keys"]}},"/api/v1/me/api-keys/{keyId}":{"delete":{"operationId":"ApiKeysController_revoke_v1","parameters":[{"name":"keyId","required":true,"in":"path","schema":{"type":"string","pattern":"^[a-z2-7]{12}$"}},{"$ref":"#/components/parameters/ServiceActAs"},{"$ref":"#/components/parameters/RequestId"}],"responses":{"204":{"description":"Revoked.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The request is malformed or failed validation. Codes: `VALIDATION_FAILED`, `AMBIGUOUS_CREDENTIALS`, `SERVICE_ACT_AS_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `AUTHENTICATION_REQUIRED`, `INVALID_AUTHORIZATION_HEADER`, `INVALID_ACCESS_TOKEN`, `SESSION_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Codes: `ACCOUNT_RESTRICTED`, `ANONYMOUS_ACCOUNT_NOT_ALLOWED`, `API_KEY_ROUTE_NOT_ALLOWED`, `SERVICE_PARTY_NOT_ALLOWED`, `SERVICE_PRINCIPAL_NOT_ALLOWED`, `SIGNUP_NOT_INVITED`, `INTERACTIVE_SESSION_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"No such active key of yours.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"428":{"description":"The signed-in account must accept the current product terms first. Codes: `PRODUCT_LEGAL_ACCEPTANCE_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"A dependency is unavailable or the feature is not enabled on this deployment. Codes: `AUTHENTICATION_UNAVAILABLE`, `AUTHORIZATION_UNAVAILABLE`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{"bearer":[]}],"summary":"Revoke an API key. Takes effect within 5 seconds everywhere.","tags":["api keys"]}},"/api/v1/wallet/deposit-balance":{"get":{"operationId":"DepositController_depositBalance_v1","parameters":[{"name":"walletConnectionId","required":false,"in":"query","schema":{"format":"uuid","type":"string"}},{"$ref":"#/components/parameters/ServiceActAs"},{"$ref":"#/components/parameters/RequestId"}],"responses":{"200":{"description":"The deposit-model balance view.","content":{"application/json":{"schema":{"type":"object","properties":{"asOf":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"networkId":{"type":"string"},"partyId":{"type":"string"},"walletConnectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"depositBalance":{"type":"object","properties":{"exists":{"type":"boolean"},"spendable":{"type":"string"},"withdrawable":{"type":"string"},"frozen":{"type":"boolean"}},"required":["exists","spendable","withdrawable","frozen"],"additionalProperties":false},"walletCc":{"type":"object","properties":{"amount":{"type":["string","null"]},"unavailableReason":{"type":"string","minLength":1,"maxLength":64}},"required":["amount"],"additionalProperties":false},"pendingDeposits":{"type":"array","items":{"type":"object","properties":{"depositId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"amountCc":{"type":"string"},"status":{"type":"string","enum":["transferring","pending_accept","accepted","credited","failed"]},"initiatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["depositId","amountCc","status","initiatedAt"],"additionalProperties":false}},"pendingWithdrawals":{"type":"array","items":{"type":"object","properties":{"withdrawalId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"amountCc":{"type":"string"},"status":{"type":"string","enum":["awaiting_signature","requesting","requested","paying","pending_receiver_accept","paid","completed","payout_failed","cancelled","failed"]},"requestedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["withdrawalId","amountCc","status","requestedAt"],"additionalProperties":false}}},"required":["asOf","networkId","partyId","walletConnectionId","depositBalance","walletCc","pendingDeposits","pendingWithdrawals"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The request is malformed or failed validation. Codes: `AMBIGUOUS_CREDENTIALS`, `SERVICE_ACT_AS_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `AUTHENTICATION_REQUIRED`, `INVALID_AUTHORIZATION_HEADER`, `INVALID_ACCESS_TOKEN`, `SESSION_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Codes: `ACCOUNT_RESTRICTED`, `ANONYMOUS_ACCOUNT_NOT_ALLOWED`, `API_KEY_ROUTE_NOT_ALLOWED`, `SERVICE_PARTY_NOT_ALLOWED`, `SERVICE_PRINCIPAL_NOT_ALLOWED`, `SIGNUP_NOT_INVITED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"No verified wallet connection exists.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"Not a ledger-backed environment. Also: `AUTHENTICATION_UNAVAILABLE`, `AUTHORIZATION_UNAVAILABLE`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{"bearer":[]}],"summary":"Read the spendable deposit balance, wallet CC, and pending flows.","tags":["deposit balance"]}},"/api/v1/wallet/deposit-address":{"get":{"operationId":"DepositController_depositAddress_v1","parameters":[{"$ref":"#/components/parameters/ServiceActAs"},{"$ref":"#/components/parameters/RequestId"}],"responses":{"200":{"description":"The registrar deposit address.","content":{"application/json":{"schema":{"type":"object","properties":{"expectedCreditLatencySeconds":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"networkId":{"type":"string"},"registrarPartyId":{"type":"string","minLength":1},"transferKind":{"type":"string","enum":["offer+accept","direct"]}},"required":["expectedCreditLatencySeconds","networkId","registrarPartyId","transferKind"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The request is malformed or failed validation. Codes: `AMBIGUOUS_CREDENTIALS`, `SERVICE_ACT_AS_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `AUTHENTICATION_REQUIRED`, `INVALID_AUTHORIZATION_HEADER`, `INVALID_ACCESS_TOKEN`, `SESSION_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Codes: `ACCOUNT_RESTRICTED`, `ANONYMOUS_ACCOUNT_NOT_ALLOWED`, `API_KEY_ROUTE_NOT_ALLOWED`, `SERVICE_PARTY_NOT_ALLOWED`, `SERVICE_PRINCIPAL_NOT_ALLOWED`, `SIGNUP_NOT_INVITED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"Not a ledger-backed environment. Also: `AUTHENTICATION_UNAVAILABLE`, `AUTHORIZATION_UNAVAILABLE`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{"bearer":[]}],"summary":"Where to send CC to fund trading (registrar Party).","tags":["deposit balance"]}},"/api/v1/wallet/deposits":{"post":{"operationId":"DepositController_initiateDeposit_v1","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":256,"pattern":"^[A-Za-z0-9._:-]+$"}},{"$ref":"#/components/parameters/ServiceActAs"},{"$ref":"#/components/parameters/RequestId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"amountCc":{"type":"string","pattern":"^\\d{1,28}(?:\\.\\d{1,10})?$"},"walletConnectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["amountCc"],"additionalProperties":false}}}},"responses":{"201":{"description":"The deposit saga; poll its status.","content":{"application/json":{"schema":{"type":"object","properties":{"depositId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"status":{"type":"string","enum":["transferring","pending_accept","accepted","credited","failed"]},"amountCc":{"type":"string"},"partyId":{"type":"string"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"transfer":{"anyOf":[{"type":"object","properties":{"transferKind":{"type":"string"},"offerUpdateId":{"type":["string","null"]},"acceptUpdateId":{"type":["string","null"]}},"required":["transferKind","offerUpdateId","acceptUpdateId"],"additionalProperties":false},{"type":"null"}]},"creditUpdateId":{"type":["string","null"]},"error":{"anyOf":[{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":false},{"type":"null"}]}},"required":["depositId","status","amountCc","partyId","createdAt","updatedAt","transfer","creditUpdateId","error"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"Malformed amount or missing Idempotency-Key. Also: `VALIDATION_FAILED`, `IDEMPOTENCY_KEY_REQUIRED`, `AMBIGUOUS_CREDENTIALS`, `SERVICE_ACT_AS_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `AUTHENTICATION_REQUIRED`, `INVALID_AUTHORIZATION_HEADER`, `INVALID_ACCESS_TOKEN`, `SESSION_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Codes: `ACCOUNT_RESTRICTED`, `ANONYMOUS_ACCOUNT_NOT_ALLOWED`, `API_KEY_ROUTE_NOT_ALLOWED`, `SERVICE_PARTY_NOT_ALLOWED`, `SERVICE_PRINCIPAL_NOT_ALLOWED`, `SIGNUP_NOT_INVITED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"No verified wallet connection exists.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The request conflicts with current state, or the Idempotency-Key was reused with a different request (`IDEMPOTENCY_KEY_CONFLICT`; the former `IDEMPOTENCY_CONFLICT` is a deprecated alias, no longer returned, that clients handle the same way for one release). Codes: `IDEMPOTENCY_KEY_CONFLICT`, `IDEMPOTENCY_CONFLICT`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"413":{"description":"The request body exceeds the size limit.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The wallet holds too little CC.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"428":{"description":"The signed-in account must accept the current product terms first. Codes: `PRODUCT_LEGAL_ACCEPTANCE_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"The ledger or scan proxy is unavailable. Also: `AUTHENTICATION_UNAVAILABLE`, `AUTHORIZATION_UNAVAILABLE`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{"bearer":[]}],"summary":"Initiate a real-CC deposit into the trading balance.","tags":["deposit balance"]}},"/api/v1/wallet/deposits/{depositId}":{"get":{"operationId":"DepositController_depositStatus_v1","parameters":[{"name":"depositId","required":true,"in":"path","schema":{"format":"uuid","type":"string"}},{"$ref":"#/components/parameters/ServiceActAs"},{"$ref":"#/components/parameters/RequestId"}],"responses":{"200":{"description":"The deposit with its intermediate state.","content":{"application/json":{"schema":{"type":"object","properties":{"depositId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"status":{"type":"string","enum":["transferring","pending_accept","accepted","credited","failed"]},"amountCc":{"type":"string"},"partyId":{"type":"string"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"transfer":{"anyOf":[{"type":"object","properties":{"transferKind":{"type":"string"},"offerUpdateId":{"type":["string","null"]},"acceptUpdateId":{"type":["string","null"]}},"required":["transferKind","offerUpdateId","acceptUpdateId"],"additionalProperties":false},{"type":"null"}]},"creditUpdateId":{"type":["string","null"]},"error":{"anyOf":[{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":false},{"type":"null"}]}},"required":["depositId","status","amountCc","partyId","createdAt","updatedAt","transfer","creditUpdateId","error"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The request is malformed or failed validation. Codes: `VALIDATION_FAILED`, `AMBIGUOUS_CREDENTIALS`, `SERVICE_ACT_AS_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `AUTHENTICATION_REQUIRED`, `INVALID_AUTHORIZATION_HEADER`, `INVALID_ACCESS_TOKEN`, `SESSION_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Codes: `ACCOUNT_RESTRICTED`, `ANONYMOUS_ACCOUNT_NOT_ALLOWED`, `API_KEY_ROUTE_NOT_ALLOWED`, `SERVICE_PARTY_NOT_ALLOWED`, `SERVICE_PRINCIPAL_NOT_ALLOWED`, `SIGNUP_NOT_INVITED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"No such owned deposit.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"A dependency is unavailable or the feature is not enabled on this deployment. Codes: `AUTHENTICATION_UNAVAILABLE`, `AUTHORIZATION_UNAVAILABLE`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{"bearer":[]}],"summary":"Read one owned deposit saga, advancing it when stalled.","tags":["deposit balance"]}},"/api/v1/wallet/deposits/by-transfer/{updateId}":{"get":{"description":"Owner- and network-bound, read-only. `unknown` means nothing is recorded yet: poll again and never resubmit the transfer to resolve it.","operationId":"DepositController_depositByTransfer_v1","parameters":[{"name":"updateId","required":true,"in":"path","description":"Update id of the CC transfer the user signed.","schema":{"type":"string","pattern":"^[0-9a-fA-F]{8,256}$"}},{"name":"walletConnectionId","required":false,"in":"query","schema":{"format":"uuid","type":"string"}},{"$ref":"#/components/parameters/ServiceActAs"},{"$ref":"#/components/parameters/RequestId"}],"responses":{"200":{"description":"The authoritative deposit state.","content":{"application/json":{"schema":{"type":"object","properties":{"checkedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"networkId":{"type":"string"},"partyId":{"type":"string"},"transferUpdateId":{"type":"string"},"status":{"type":"string","enum":["unknown","pending","credited","failed"]},"amountCc":{"type":["string","null"]},"ccMoved":{"type":"boolean"},"creditReference":{"type":["string","null"]},"arrivals":{"type":"array","items":{"type":"object","properties":{"source":{"type":"string","enum":["observed","initiated","ledger"]},"arrivalKind":{"type":"string","enum":["direct","offer"]},"amountCc":{"type":"string"},"status":{"type":"string","enum":["pending","credited","failed"]},"ccMoved":{"type":"boolean"},"creditReference":{"type":["string","null"]},"creditUpdateId":{"type":["string","null"]},"error":{"anyOf":[{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":false},{"type":"null"}]}},"required":["source","arrivalKind","amountCc","status","ccMoved","creditReference","creditUpdateId","error"],"additionalProperties":false}}},"required":["checkedAt","networkId","partyId","transferUpdateId","status","amountCc","ccMoved","creditReference","arrivals"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The request is malformed or failed validation. Codes: `VALIDATION_FAILED`, `AMBIGUOUS_CREDENTIALS`, `SERVICE_ACT_AS_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `AUTHENTICATION_REQUIRED`, `INVALID_AUTHORIZATION_HEADER`, `INVALID_ACCESS_TOKEN`, `SESSION_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Codes: `ACCOUNT_RESTRICTED`, `ANONYMOUS_ACCOUNT_NOT_ALLOWED`, `API_KEY_ROUTE_NOT_ALLOWED`, `SERVICE_PARTY_NOT_ALLOWED`, `SERVICE_PRINCIPAL_NOT_ALLOWED`, `SIGNUP_NOT_INVITED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"No verified wallet connection exists.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"Not a ledger-backed environment, or the ledger is unavailable. Also: `AUTHENTICATION_UNAVAILABLE`, `AUTHORIZATION_UNAVAILABLE`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{"bearer":[]}],"summary":"Read the deposit a signed CC transfer funded, by the transfer update id.","tags":["deposit balance"]}},"/api/v1/wallet/withdrawals":{"post":{"operationId":"DepositController_initiateWithdrawal_v1","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":256,"pattern":"^[A-Za-z0-9._:-]+$"}},{"$ref":"#/components/parameters/ServiceActAs"},{"$ref":"#/components/parameters/RequestId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"amountCc":{"type":"string","pattern":"^\\d{1,28}(?:\\.\\d{1,10})?$"},"memo":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[\\x20-\\x7E]+$"},"walletConnectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["amountCc"],"additionalProperties":false}}}},"responses":{"201":{"description":"The withdrawal saga; poll its status.","content":{"application/json":{"schema":{"type":"object","properties":{"withdrawalId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"status":{"type":"string","enum":["awaiting_signature","requesting","requested","paying","pending_receiver_accept","paid","completed","payout_failed","cancelled","failed"]},"amountCc":{"type":"string"},"partyId":{"type":"string"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"requestUpdateId":{"type":["string","null"]},"payout":{"anyOf":[{"type":"object","properties":{"transferKind":{"type":"string"},"updateId":{"type":["string","null"]}},"required":["transferKind","updateId"],"additionalProperties":false},{"type":"null"}]},"completeUpdateId":{"type":["string","null"]},"cancelUpdateId":{"type":["string","null"]},"memo":{"type":"string"},"error":{"anyOf":[{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":false},{"type":"null"}]}},"required":["withdrawalId","status","amountCc","partyId","createdAt","updatedAt","requestUpdateId","payout","completeUpdateId","cancelUpdateId","error"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"Malformed amount or missing Idempotency-Key. Also: `VALIDATION_FAILED`, `IDEMPOTENCY_KEY_REQUIRED`, `AMBIGUOUS_CREDENTIALS`, `SERVICE_ACT_AS_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `AUTHENTICATION_REQUIRED`, `INVALID_AUTHORIZATION_HEADER`, `INVALID_ACCESS_TOKEN`, `SESSION_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Codes: `ACCOUNT_RESTRICTED`, `ANONYMOUS_ACCOUNT_NOT_ALLOWED`, `API_KEY_ROUTE_NOT_ALLOWED`, `SERVICE_PARTY_NOT_ALLOWED`, `SERVICE_PRINCIPAL_NOT_ALLOWED`, `SIGNUP_NOT_INVITED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"No verified wallet connection exists.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The request conflicts with current state, or the Idempotency-Key was reused with a different request (`IDEMPOTENCY_KEY_CONFLICT`; the former `IDEMPOTENCY_CONFLICT` is a deprecated alias, no longer returned, that clients handle the same way for one release). Codes: `IDEMPOTENCY_KEY_CONFLICT`, `IDEMPOTENCY_CONFLICT`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"413":{"description":"The request body exceeds the size limit.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"Insufficient spendable balance, or the balance is frozen.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"428":{"description":"The signed-in account must accept the current product terms first. Codes: `PRODUCT_LEGAL_ACCEPTANCE_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"The ledger or scan proxy is unavailable. Also: `AUTHENTICATION_UNAVAILABLE`, `AUTHORIZATION_UNAVAILABLE`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{"bearer":[]}],"summary":"Initiate a real-CC withdrawal from the trading balance.","tags":["deposit balance"]}},"/api/v1/wallet/withdrawals/{withdrawalId}":{"get":{"operationId":"DepositController_withdrawalStatus_v1","parameters":[{"name":"withdrawalId","required":true,"in":"path","schema":{"format":"uuid","type":"string"}},{"$ref":"#/components/parameters/ServiceActAs"},{"$ref":"#/components/parameters/RequestId"}],"responses":{"200":{"description":"The withdrawal with its intermediate state.","content":{"application/json":{"schema":{"type":"object","properties":{"withdrawalId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"status":{"type":"string","enum":["awaiting_signature","requesting","requested","paying","pending_receiver_accept","paid","completed","payout_failed","cancelled","failed"]},"amountCc":{"type":"string"},"partyId":{"type":"string"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"requestUpdateId":{"type":["string","null"]},"payout":{"anyOf":[{"type":"object","properties":{"transferKind":{"type":"string"},"updateId":{"type":["string","null"]}},"required":["transferKind","updateId"],"additionalProperties":false},{"type":"null"}]},"completeUpdateId":{"type":["string","null"]},"cancelUpdateId":{"type":["string","null"]},"memo":{"type":"string"},"error":{"anyOf":[{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":false},{"type":"null"}]}},"required":["withdrawalId","status","amountCc","partyId","createdAt","updatedAt","requestUpdateId","payout","completeUpdateId","cancelUpdateId","error"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The request is malformed or failed validation. Codes: `VALIDATION_FAILED`, `AMBIGUOUS_CREDENTIALS`, `SERVICE_ACT_AS_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `AUTHENTICATION_REQUIRED`, `INVALID_AUTHORIZATION_HEADER`, `INVALID_ACCESS_TOKEN`, `SESSION_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Codes: `ACCOUNT_RESTRICTED`, `ANONYMOUS_ACCOUNT_NOT_ALLOWED`, `API_KEY_ROUTE_NOT_ALLOWED`, `SERVICE_PARTY_NOT_ALLOWED`, `SERVICE_PRINCIPAL_NOT_ALLOWED`, `SIGNUP_NOT_INVITED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"No such owned withdrawal.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"A dependency is unavailable or the feature is not enabled on this deployment. Codes: `AUTHENTICATION_UNAVAILABLE`, `AUTHORIZATION_UNAVAILABLE`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{"bearer":[]}],"summary":"Read one owned withdrawal saga, advancing it when stalled.","tags":["deposit balance"]}},"/api/v1/wallet/withdrawals/{withdrawalId}/cancel":{"post":{"operationId":"DepositController_cancelWithdrawal_v1","parameters":[{"name":"withdrawalId","required":true,"in":"path","schema":{"format":"uuid","type":"string"}},{"$ref":"#/components/parameters/ServiceActAs"},{"$ref":"#/components/parameters/RequestId"}],"responses":{"200":{"description":"The cancelled withdrawal.","content":{"application/json":{"schema":{"type":"object","properties":{"withdrawalId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"status":{"type":"string","enum":["awaiting_signature","requesting","requested","paying","pending_receiver_accept","paid","completed","payout_failed","cancelled","failed"]},"amountCc":{"type":"string"},"partyId":{"type":"string"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"requestUpdateId":{"type":["string","null"]},"payout":{"anyOf":[{"type":"object","properties":{"transferKind":{"type":"string"},"updateId":{"type":["string","null"]}},"required":["transferKind","updateId"],"additionalProperties":false},{"type":"null"}]},"completeUpdateId":{"type":["string","null"]},"cancelUpdateId":{"type":["string","null"]},"memo":{"type":"string"},"error":{"anyOf":[{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":false},{"type":"null"}]}},"required":["withdrawalId","status","amountCc","partyId","createdAt","updatedAt","requestUpdateId","payout","completeUpdateId","cancelUpdateId","error"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The request is malformed or failed validation. Codes: `VALIDATION_FAILED`, `AMBIGUOUS_CREDENTIALS`, `SERVICE_ACT_AS_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `AUTHENTICATION_REQUIRED`, `INVALID_AUTHORIZATION_HEADER`, `INVALID_ACCESS_TOKEN`, `SESSION_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Codes: `ACCOUNT_RESTRICTED`, `ANONYMOUS_ACCOUNT_NOT_ALLOWED`, `API_KEY_ROUTE_NOT_ALLOWED`, `SERVICE_PARTY_NOT_ALLOWED`, `SERVICE_PRINCIPAL_NOT_ALLOWED`, `SIGNUP_NOT_INVITED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"No such owned withdrawal.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The withdrawal can no longer be cancelled.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"428":{"description":"The signed-in account must accept the current product terms first. Codes: `PRODUCT_LEGAL_ACCEPTANCE_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"A dependency is unavailable or the feature is not enabled on this deployment. Codes: `AUTHENTICATION_UNAVAILABLE`, `AUTHORIZATION_UNAVAILABLE`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{"bearer":[]}],"summary":"Cancel an owned withdrawal before its payout; restores the balance.","tags":["deposit balance"]}},"/api/v1/wallet/valuation":{"get":{"operationId":"WalletValuationController_value_v1","parameters":[{"name":"walletConnectionId","required":false,"in":"query","schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},{"$ref":"#/components/parameters/ServiceActAs"},{"$ref":"#/components/parameters/RequestId"}],"responses":{"200":{"description":"The account valuation.","content":{"application/json":{"schema":{"type":"object","properties":{"asOf":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"When this valuation was composed."},"currency":{"type":"string","const":"USD"},"fx":{"anyOf":[{"type":"object","properties":{"effectiveAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}],"description":"The round's opensAt; null when this backend has not recorded the round."},"observedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"When this backend fetched the rate."},"rateUsdPerCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"roundNumber":{"type":"integer","minimum":0,"maximum":9007199254740991},"source":{"type":"string","const":"splice-open-mining-round","description":"Splice super validators amuletPrice; a validator reference, not a traded price."},"sourceDetail":{"type":"string","minLength":1,"maxLength":100},"stale":{"type":"boolean"}},"required":["effectiveAt","observedAt","rateUsdPerCc","roundNumber","source","sourceDetail","stale"],"additionalProperties":false},{"type":"null"}]},"holdings":{"maxItems":500,"type":"array","items":{"type":"object","properties":{"amount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$","description":"Total held: available plus locked."},"instrumentId":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":512},"id":{"type":"string","minLength":1,"maxLength":512}},"required":["admin","id"],"additionalProperties":false},"marketSlug":{"anyOf":[{"type":"string","minLength":1,"maxLength":64},{"type":"null"}]},"priceBasis":{"type":"string","const":"marginal-price","description":"Current marginal price; not what selling the whole position would return."},"priceCc":{"anyOf":[{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,40})?$"},{"type":"null"}]},"symbol":{"type":"string"},"valueCc":{"anyOf":[{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},{"type":"null"}]},"valueUsd":{"anyOf":[{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},{"type":"null"}]}},"required":["amount","instrumentId","marketSlug","priceBasis","priceCc","symbol","valueCc","valueUsd"],"additionalProperties":false}},"inTransit":{"type":"object","properties":{"countedInTotal":{"type":"boolean","const":false},"depositsCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"pendingDeposits":{"type":"integer","minimum":0,"maximum":9007199254740991},"pendingWithdrawals":{"type":"integer","minimum":0,"maximum":9007199254740991},"withdrawalsCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["countedInTotal","depositsCc","pendingDeposits","pendingWithdrawals","withdrawalsCc"],"additionalProperties":false,"description":"Deposits and withdrawals in flight. Never added to the total: their CC may already have left one place and not reached the other."},"networkId":{"type":"string","pattern":"^canton:[-_a-zA-Z0-9]{1,32}$"},"partyId":{"type":"string"},"sources":{"type":"object","properties":{"balancesAsOf":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"Ledger read time of wallet CC and the trading balance."},"holdingsAsOf":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"PQS read time of the token holdings."}},"required":["balancesAsOf","holdingsAsOf"],"additionalProperties":false},"total":{"type":"object","properties":{"complete":{"type":"boolean"},"gaps":{"maxItems":5,"type":"array","items":{"type":"string","enum":["wallet-cc-unknown","unpriced-holding","funds-in-transit","rate-unavailable","rate-stale"]}},"knownValueCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$","description":"Sum of the components that are known; a lower bound when incomplete."},"knownValueUsd":{"anyOf":[{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},{"type":"null"}]},"valueCc":{"anyOf":[{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},{"type":"null"}],"description":"Null unless every CC component is known and nothing is in transit (a missing rate does not null it)."},"valueUsd":{"anyOf":[{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},{"type":"null"}],"description":"Null unless complete."}},"required":["complete","gaps","knownValueCc","knownValueUsd","valueCc","valueUsd"],"additionalProperties":false},"tradingBalance":{"type":"object","properties":{"amountCc":{"anyOf":[{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},{"type":"null"}],"description":"Null: unknown, not zero."},"valueUsd":{"anyOf":[{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},{"type":"null"}]},"frozen":{"type":"boolean"}},"required":["amountCc","valueUsd","frozen"],"additionalProperties":false,"description":"Spendable launchpad deposit balance."},"walletCc":{"type":"object","properties":{"amountCc":{"anyOf":[{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},{"type":"null"}],"description":"Null: unknown, not zero."},"valueUsd":{"anyOf":[{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},{"type":"null"}]},"unavailableReason":{"anyOf":[{"type":"string","minLength":1,"maxLength":64},{"type":"null"}]}},"required":["amountCc","valueUsd","unavailableReason"],"additionalProperties":false,"description":"The owner's on-chain CC (Amulet)."},"walletConnectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["asOf","currency","fx","holdings","inTransit","networkId","partyId","sources","total","tradingBalance","walletCc","walletConnectionId"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The request is malformed or failed validation. Codes: `VALIDATION_FAILED`, `AMBIGUOUS_CREDENTIALS`, `SERVICE_ACT_AS_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `AUTHENTICATION_REQUIRED`, `INVALID_AUTHORIZATION_HEADER`, `INVALID_ACCESS_TOKEN`, `SESSION_REVOKED`, `API_KEY_INVALID`, `API_KEY_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Owner routes accept only a customer API key: an internal master key answers `API_KEY_ROUTE_NOT_ALLOWED`. Codes: `ACCOUNT_RESTRICTED`, `ANONYMOUS_ACCOUNT_NOT_ALLOWED`, `API_KEY_ROUTE_NOT_ALLOWED`, `SERVICE_PARTY_NOT_ALLOWED`, `SERVICE_PRINCIPAL_NOT_ALLOWED`, `SIGNUP_NOT_INVITED`, `API_KEY_IP_NOT_ALLOWED`, `PRODUCT_ACCOUNT_RESTRICTED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"No verified wallet connection exists.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The reads resolved different wallet connections.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"Not a ledger-backed environment. Also: `AUTHENTICATION_UNAVAILABLE`, `AUTHORIZATION_UNAVAILABLE`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Value the connected account in USD: wallet CC, trading balance and token holdings, with rate source, completeness and in-flight funds.","tags":["wallet"],"x-api-key-scope":"read"}},"/api/v1/wallet/valuation/history":{"get":{"operationId":"WalletValuationController_history_v1","parameters":[{"name":"from","required":false,"in":"query","schema":{"description":"Start of the series. Default: `to` minus 30 days (1h) or 365 days (1d).","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},{"name":"interval","required":true,"in":"query","schema":{"type":"string","enum":["1h","1d"],"description":"Bucket length: UTC hours or UTC days."}},{"name":"to","required":false,"in":"query","schema":{"description":"End of the series. Default and upper bound: now (a later value is clamped).","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},{"$ref":"#/components/parameters/ServiceActAs"},{"$ref":"#/components/parameters/RequestId"}],"responses":{"200":{"description":"The valuation series.","content":{"application/json":{"schema":{"type":"object","properties":{"coverage":{"type":"object","properties":{"ccFrom":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"Oldest ledger history the query store keeps; balances before it are not recorded."},"pricedTokens":{"type":"integer","minimum":0,"maximum":9007199254740991},"unpricedTokens":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Tokens held in the range with no price at some point; counted as zero there."},"usdFrom":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}],"description":"First recorded CC/USD round; valueUsd and ccUsd are null before it."}},"required":["ccFrom","pricedTokens","unpricedTokens","usdFrom"],"additionalProperties":false},"from":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"interval":{"type":"string","enum":["1h","1d"]},"partyId":{"type":"string","description":"The account the series values (as in /wallet/valuation)."},"points":{"maxItems":744,"type":"array","items":{"type":"object","properties":{"degraded":{"description":"Present only when a running balance came out negative (an archive whose creation the query store no longer has, e.g. after pruning). That component is counted as zero, so the point understates the account.","type":"boolean","const":true},"ccUsd":{"anyOf":[{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},{"type":"null"}],"description":"USD per CC at t (the Splice open mining round in effect); null before usdFrom."},"t":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"Bucket END (exclusive end of the hour or day). Every value of the point is the latest state of the bucket: the account as it stood at t, after every change before t. The newest bucket, which ends after now, holds the current state."},"tokensCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$","description":"Token holdings at the token price at t (last hourly close, carried forward; the current pool price for a token that never traded)."},"tradingBalanceCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$","description":"Launchpad trading balance."},"valueCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$","description":"walletCc + tradingBalanceCc + tokensCc."},"valueUsd":{"anyOf":[{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},{"type":"null"}],"description":"valueCc x ccUsd; null before usdFrom."},"walletCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$","description":"The owner's unlocked Amulets, each net of its holding fee at the round in effect at t."}},"required":["ccUsd","t","tokensCc","tradingBalanceCc","valueCc","valueUsd","walletCc"],"additionalProperties":false}},"to":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"walletConnectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The verified wallet connection the party came from."}},"required":["coverage","from","interval","partyId","points","to","walletConnectionId"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"Malformed range, from not before to, or more than 744 points. Also: `VALIDATION_FAILED`, `AMBIGUOUS_CREDENTIALS`, `SERVICE_ACT_AS_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `AUTHENTICATION_REQUIRED`, `INVALID_AUTHORIZATION_HEADER`, `INVALID_ACCESS_TOKEN`, `SESSION_REVOKED`, `API_KEY_INVALID`, `API_KEY_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Owner routes accept only a customer API key: an internal master key answers `API_KEY_ROUTE_NOT_ALLOWED`. Codes: `ACCOUNT_RESTRICTED`, `ANONYMOUS_ACCOUNT_NOT_ALLOWED`, `API_KEY_ROUTE_NOT_ALLOWED`, `SERVICE_PARTY_NOT_ALLOWED`, `SERVICE_PRINCIPAL_NOT_ALLOWED`, `SIGNUP_NOT_INVITED`, `API_KEY_IP_NOT_ALLOWED`, `PRODUCT_ACCOUNT_RESTRICTED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"No verified wallet connection exists.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"Not a PQS-backed ledger environment, or HISTORY_BUSY: history reads run one at a time and this one waited 10 s; retry after the Retry-After seconds. Also: `AUTHENTICATION_UNAVAILABLE`, `AUTHORIZATION_UNAVAILABLE`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Value the connected account at every hour or day of a range: wallet CC, trading balance and tokens in CC, and in USD from the first recorded CC/USD round.","tags":["wallet"],"x-api-key-scope":"read"}},"/api/v1/activity":{"get":{"operationId":"ActivityController_list_v1","parameters":[{"name":"cursor","required":false,"in":"query","schema":{"maxLength":512,"minLength":1,"type":"string"}},{"name":"limit","required":false,"in":"query","schema":{"default":24,"maximum":100,"minimum":1,"type":"integer"}},{"$ref":"#/components/parameters/ServiceActAs"},{"$ref":"#/components/parameters/RequestId"}],"responses":{"200":{"description":"Cursor-paginated owned activity.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"entity":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string"}},"required":["id","type"],"additionalProperties":false},{"type":"null"}]},"eventType":{"type":"string"},"finality":{"type":"string","enum":["ledger-confirmed","product","simulated"]},"id":{"type":"string"},"occurredAt":{"type":"string"},"operationId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"null"}]},"payload":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"summary":{"type":["string","null"]},"title":{"type":"string"}},"required":["entity","eventType","finality","id","occurredAt","operationId","payload","summary","title"],"additionalProperties":false}},"meta":{"type":"object","properties":{"asOf":{"type":"string"},"dataMode":{"type":"string","enum":["projected","simulated"]},"disclaimer":{"type":"string"},"networkId":{"type":"string","pattern":"^canton:[-_a-zA-Z0-9]{1,32}$"}},"required":["asOf","dataMode","disclaimer","networkId"],"additionalProperties":false},"nextCursor":{"type":["string","null"]}},"required":["items","meta","nextCursor"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The request is malformed or failed validation. Codes: `VALIDATION_FAILED`, `AMBIGUOUS_CREDENTIALS`, `SERVICE_ACT_AS_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `AUTHENTICATION_REQUIRED`, `INVALID_AUTHORIZATION_HEADER`, `INVALID_ACCESS_TOKEN`, `SESSION_REVOKED`, `API_KEY_INVALID`, `API_KEY_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Owner routes accept only a customer API key: an internal master key answers `API_KEY_ROUTE_NOT_ALLOWED`. Codes: `ACCOUNT_RESTRICTED`, `ANONYMOUS_ACCOUNT_NOT_ALLOWED`, `API_KEY_ROUTE_NOT_ALLOWED`, `SERVICE_PARTY_NOT_ALLOWED`, `SERVICE_PRINCIPAL_NOT_ALLOWED`, `SIGNUP_NOT_INVITED`, `API_KEY_IP_NOT_ALLOWED`, `PRODUCT_ACCOUNT_RESTRICTED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"A dependency is unavailable or the feature is not enabled on this deployment. Codes: `AUTHENTICATION_UNAVAILABLE`, `AUTHORIZATION_UNAVAILABLE`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"List the authenticated user’s activity read model.","tags":["activity"],"x-api-key-scope":"read"}},"/api/v1/market/info":{"get":{"operationId":"MarketDataController_info_v1","parameters":[{"$ref":"#/components/parameters/RequestId"}],"responses":{"200":{"description":"Market-data exchange info.","content":{"application/json":{"schema":{"type":"object","properties":{"item":{"type":"object","properties":{"api_version":{"type":"string","const":"1"},"candle_intervals":{"type":"array","items":{"type":"string","enum":["1m","5m","1h","4h","1d"]}},"exchange":{"type":"object","properties":{"factory_address":{"type":"string"},"name":{"type":"string","const":"Supanova"}},"required":["factory_address","name"],"additionalProperties":false},"latest_block":{"type":"object","properties":{"block":{"type":"string"},"time":{"type":["string","null"]},"ts":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["block","time","ts"],"additionalProperties":false},"limits":{"type":"object","properties":{"dextools_max_range":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"ws_max_subscriptions":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["dextools_max_range","ws_max_subscriptions"],"additionalProperties":false},"quote_asset":{"type":"object","properties":{"asset_id":{"type":"string"},"instrument_admin":{"type":["string","null"]},"name":{"type":"string"},"symbol":{"type":"string"}},"required":["asset_id","instrument_admin","name","symbol"],"additionalProperties":false},"stream_url_path":{"type":"string","const":"/api/v1/market/ws"},"windows":{"type":"array","items":{"type":"string","enum":["m5","h1","h6","h24"]}}},"required":["api_version","candle_intervals","exchange","latest_block","limits","quote_asset","stream_url_path","windows"],"additionalProperties":false},"meta":{"type":"object","properties":{"as_of":{"type":"string"},"cc_usd":{"anyOf":[{"type":"object","properties":{"as_of":{"type":"string"},"rate":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"},"source":{"type":"string"},"stale":{"type":"boolean"}},"required":["as_of","rate","source","stale"],"additionalProperties":false},{"type":"null"}]},"ledger_offset":{"type":"string"},"network_id":{"type":"string"},"source":{"type":"string","const":"pqs"}},"required":["as_of","cc_usd","ledger_offset","network_id","source"],"additionalProperties":false}},"required":["item","meta"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The request is malformed or failed validation. Codes: `AMBIGUOUS_CREDENTIALS`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Unknown API key, or a key is required. Also: `API_KEY_INVALID`, `API_KEY_REVOKED`, `MARKET_DATA_API_KEY_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Codes: `API_KEY_IP_NOT_ALLOWED`, `PRODUCT_ACCOUNT_RESTRICTED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"The PQS market projection is not configured.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{},{"apiKey":[]}],"summary":"Exchange info, latest block and limits.","tags":["market data"],"x-api-key-scope":"read","description":"Anonymous calls are accepted under a per-IP budget; an `X-API-Key` raises the limit. When the deployment sets `MARKET_DATA_REQUIRE_API_KEY=true` the key becomes mandatory and anonymous calls answer 401 `MARKET_DATA_API_KEY_REQUIRED`."}},"/api/v1/market/tokens":{"get":{"operationId":"MarketDataController_listTokens_v1","parameters":[{"name":"cursor","required":false,"in":"query","schema":{"type":"string","minLength":1,"maxLength":512}},{"name":"limit","required":false,"in":"query","schema":{"default":100,"type":"integer","minimum":1,"maximum":200}},{"$ref":"#/components/parameters/RequestId"}],"responses":{"200":{"description":"Token page.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"asset_id":{"type":"string"},"circulating_supply":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$","description":"Tokens outside the pools: total supply minus the curve's unsold inventory and liquidity reserve, or minus the AMM token reserve after graduation."},"created_at":{"type":"string"},"decimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"description":{"type":"string"},"fdv":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$","description":"Fully diluted value in CC: price x total_supply."},"fdv_usd":{"anyOf":[{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"},{"type":"null"}]},"holders_count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"image_url":{"type":["string","null"]},"instrument_admin":{"type":"string"},"instrument_id":{"type":"string"},"market_cap":{"anyOf":[{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"},{"type":"null"}],"description":"Circulating market cap in CC: price x circulating_supply (fdv x circulating_supply / total_supply)."},"market_cap_usd":{"anyOf":[{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"},{"type":"null"}]},"name":{"type":"string"},"pairs":{"type":"array","items":{"type":"string"}},"price":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"},"price_usd":{"anyOf":[{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"},{"type":"null"}]},"slug":{"type":"string"},"stage":{"type":"string","enum":["graduating","ignition","in_orbit","near_escape"]},"symbol":{"type":"string"},"total_supply":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"},"website":{"type":["string","null"]}},"required":["asset_id","circulating_supply","created_at","decimals","description","fdv","fdv_usd","holders_count","image_url","instrument_admin","instrument_id","market_cap","market_cap_usd","name","pairs","price","price_usd","slug","stage","symbol","total_supply","website"],"additionalProperties":false}},"meta":{"type":"object","properties":{"as_of":{"type":"string"},"cc_usd":{"anyOf":[{"type":"object","properties":{"as_of":{"type":"string"},"rate":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"},"source":{"type":"string"},"stale":{"type":"boolean"}},"required":["as_of","rate","source","stale"],"additionalProperties":false},{"type":"null"}]},"ledger_offset":{"type":"string"},"network_id":{"type":"string"},"source":{"type":"string","const":"pqs"}},"required":["as_of","cc_usd","ledger_offset","network_id","source"],"additionalProperties":false},"page":{"type":"object","properties":{"has_more":{"type":"boolean"},"limit":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"next_cursor":{"type":["string","null"]}},"required":["has_more","limit","next_cursor"],"additionalProperties":false}},"required":["items","meta","page"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"Invalid limit or cursor. Also: `VALIDATION_FAILED`, `AMBIGUOUS_CREDENTIALS`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Unknown API key, or a key is required. Also: `API_KEY_INVALID`, `API_KEY_REVOKED`, `MARKET_DATA_API_KEY_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Codes: `API_KEY_IP_NOT_ALLOWED`, `PRODUCT_ACCOUNT_RESTRICTED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"The PQS market projection is not configured.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{},{"apiKey":[]}],"summary":"List listed tokens with metadata and headline figures.","tags":["market data"],"x-api-key-scope":"read","description":"Anonymous calls are accepted under a per-IP budget; an `X-API-Key` raises the limit. When the deployment sets `MARKET_DATA_REQUIRE_API_KEY=true` the key becomes mandatory and anonymous calls answer 401 `MARKET_DATA_API_KEY_REQUIRED`."}},"/api/v1/market/tokens/{assetId}":{"get":{"operationId":"MarketDataController_getToken_v1","parameters":[{"name":"assetId","required":true,"in":"path","schema":{"type":"string","maxLength":128,"pattern":"^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$"}},{"$ref":"#/components/parameters/RequestId"}],"responses":{"200":{"description":"Token.","content":{"application/json":{"schema":{"type":"object","properties":{"item":{"type":"object","properties":{"asset_id":{"type":"string"},"circulating_supply":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$","description":"Tokens outside the pools: total supply minus the curve's unsold inventory and liquidity reserve, or minus the AMM token reserve after graduation."},"created_at":{"type":"string"},"decimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"description":{"type":"string"},"fdv":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$","description":"Fully diluted value in CC: price x total_supply."},"fdv_usd":{"anyOf":[{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"},{"type":"null"}]},"holders_count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"image_url":{"type":["string","null"]},"instrument_admin":{"type":"string"},"instrument_id":{"type":"string"},"market_cap":{"anyOf":[{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"},{"type":"null"}],"description":"Circulating market cap in CC: price x circulating_supply (fdv x circulating_supply / total_supply)."},"market_cap_usd":{"anyOf":[{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"},{"type":"null"}]},"name":{"type":"string"},"pairs":{"type":"array","items":{"type":"string"}},"price":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"},"price_usd":{"anyOf":[{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"},{"type":"null"}]},"slug":{"type":"string"},"stage":{"type":"string","enum":["graduating","ignition","in_orbit","near_escape"]},"symbol":{"type":"string"},"total_supply":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"},"website":{"type":["string","null"]}},"required":["asset_id","circulating_supply","created_at","decimals","description","fdv","fdv_usd","holders_count","image_url","instrument_admin","instrument_id","market_cap","market_cap_usd","name","pairs","price","price_usd","slug","stage","symbol","total_supply","website"],"additionalProperties":false},"meta":{"type":"object","properties":{"as_of":{"type":"string"},"cc_usd":{"anyOf":[{"type":"object","properties":{"as_of":{"type":"string"},"rate":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"},"source":{"type":"string"},"stale":{"type":"boolean"}},"required":["as_of","rate","source","stale"],"additionalProperties":false},{"type":"null"}]},"ledger_offset":{"type":"string"},"network_id":{"type":"string"},"source":{"type":"string","const":"pqs"}},"required":["as_of","cc_usd","ledger_offset","network_id","source"],"additionalProperties":false}},"required":["item","meta"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The request is malformed or failed validation. Codes: `VALIDATION_FAILED`, `AMBIGUOUS_CREDENTIALS`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Unknown API key, or a key is required. Also: `API_KEY_INVALID`, `API_KEY_REVOKED`, `MARKET_DATA_API_KEY_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Codes: `API_KEY_IP_NOT_ALLOWED`, `PRODUCT_ACCOUNT_RESTRICTED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"Unknown asset.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"The PQS market projection is not configured.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{},{"apiKey":[]}],"summary":"One token by its CIP-56 instrument id.","tags":["market data"],"x-api-key-scope":"read","description":"Anonymous calls are accepted under a per-IP budget; an `X-API-Key` raises the limit. When the deployment sets `MARKET_DATA_REQUIRE_API_KEY=true` the key becomes mandatory and anonymous calls answer 401 `MARKET_DATA_API_KEY_REQUIRED`."}},"/api/v1/market/tokens/{assetId}/holders":{"get":{"operationId":"MarketDataController_holders_v1","parameters":[{"name":"assetId","required":true,"in":"path","schema":{"type":"string","maxLength":128,"pattern":"^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$"}},{"name":"cursor","required":false,"in":"query","schema":{"type":"string","minLength":1,"maxLength":512}},{"name":"limit","required":false,"in":"query","schema":{"default":50,"type":"integer","minimum":1,"maximum":100}},{"$ref":"#/components/parameters/RequestId"}],"responses":{"200":{"description":"Holder page.","content":{"application/json":{"schema":{"type":"object","properties":{"asset_id":{"type":"string"},"holders_count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"items":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string"},"quantity":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"},"rank":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"supply_percent":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"}},"required":["address","quantity","rank","supply_percent"],"additionalProperties":false}},"meta":{"type":"object","properties":{"as_of":{"type":"string"},"cc_usd":{"anyOf":[{"type":"object","properties":{"as_of":{"type":"string"},"rate":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"},"source":{"type":"string"},"stale":{"type":"boolean"}},"required":["as_of","rate","source","stale"],"additionalProperties":false},{"type":"null"}]},"ledger_offset":{"type":"string"},"network_id":{"type":"string"},"source":{"type":"string","const":"pqs"}},"required":["as_of","cc_usd","ledger_offset","network_id","source"],"additionalProperties":false},"page":{"type":"object","properties":{"has_more":{"type":"boolean"},"limit":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"next_cursor":{"type":["string","null"]}},"required":["has_more","limit","next_cursor"],"additionalProperties":false}},"required":["asset_id","holders_count","items","meta","page"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The request is malformed or failed validation. Codes: `VALIDATION_FAILED`, `AMBIGUOUS_CREDENTIALS`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Unknown API key, or a key is required. Also: `API_KEY_INVALID`, `API_KEY_REVOKED`, `MARKET_DATA_API_KEY_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Codes: `API_KEY_IP_NOT_ALLOWED`, `PRODUCT_ACCOUNT_RESTRICTED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"Unknown asset.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"The PQS market projection is not configured.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{},{"apiKey":[]}],"summary":"Holder count and largest holders (keyed addresses).","tags":["market data"],"x-api-key-scope":"read","description":"Anonymous calls are accepted under a per-IP budget; an `X-API-Key` raises the limit. When the deployment sets `MARKET_DATA_REQUIRE_API_KEY=true` the key becomes mandatory and anonymous calls answer 401 `MARKET_DATA_API_KEY_REQUIRED`."}},"/api/v1/market/pairs":{"get":{"operationId":"MarketDataController_listPairs_v1","parameters":[{"name":"cursor","required":false,"in":"query","schema":{"type":"string","minLength":1,"maxLength":512}},{"name":"limit","required":false,"in":"query","schema":{"default":100,"type":"integer","minimum":1,"maximum":200}},{"name":"status","required":false,"in":"query","schema":{"default":"all","type":"string","enum":["active","all"]}},{"$ref":"#/components/parameters/RequestId"}],"responses":{"200":{"description":"Pair page.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"base":{"type":"object","properties":{"asset_id":{"type":"string"},"instrument_admin":{"type":["string","null"]},"name":{"type":"string"},"symbol":{"type":"string"}},"required":["asset_id","instrument_admin","name","symbol"],"additionalProperties":false},"created_at":{"type":["string","null"]},"created_at_block":{"type":["string","null"]},"created_at_txn_id":{"type":["string","null"]},"fdv":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"},"fdv_usd":{"anyOf":[{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"},{"type":"null"}]},"fee_bps":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"graduation":{"type":"object","properties":{"percent":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"},"stage":{"type":"string","enum":["graduating","ignition","in_orbit","near_escape"]},"threshold_cc":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"}},"required":["percent","stage","threshold_cc"],"additionalProperties":false},"holders_count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"last_trade_at":{"type":["string","null"]},"liquidity":{"type":"object","properties":{"cc":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"},"reserves":{"type":"object","properties":{"base":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"},"quote":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"}},"required":["base","quote"],"additionalProperties":false},"usd":{"anyOf":[{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"},{"type":"null"}]}},"required":["cc","reserves","usd"],"additionalProperties":false},"market":{"type":"string"},"market_cap":{"anyOf":[{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"},{"type":"null"}],"description":"Circulating market cap in CC: price x circulating_supply (fdv x circulating_supply / total_supply)."},"market_cap_usd":{"anyOf":[{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"},{"type":"null"}]},"pair_id":{"type":"string"},"price":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"},"price_change":{"type":"object","properties":{"h1":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"},"h24":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"},"h6":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"},"m5":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"}},"required":["h1","h24","h6","m5"],"additionalProperties":false},"price_usd":{"anyOf":[{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"},{"type":"null"}]},"quote":{"type":"object","properties":{"asset_id":{"type":"string"},"instrument_admin":{"type":["string","null"]},"name":{"type":"string"},"symbol":{"type":"string"}},"required":["asset_id","instrument_admin","name","symbol"],"additionalProperties":false},"status":{"type":"string","enum":["active","graduated"]},"ts":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"txns":{"type":"object","properties":{"h1":{"type":"object","properties":{"buys":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"sells":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["buys","sells"],"additionalProperties":false},"h24":{"type":"object","properties":{"buys":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"sells":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["buys","sells"],"additionalProperties":false},"h6":{"type":"object","properties":{"buys":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"sells":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["buys","sells"],"additionalProperties":false},"m5":{"type":"object","properties":{"buys":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"sells":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["buys","sells"],"additionalProperties":false}},"required":["h1","h24","h6","m5"],"additionalProperties":false},"venue":{"type":"string","enum":["amm","curve"]},"volume":{"type":"object","properties":{"h1":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"},"h24":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"},"h6":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"},"m5":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"}},"required":["h1","h24","h6","m5"],"additionalProperties":false},"volume_usd":{"type":"object","properties":{"h1":{"anyOf":[{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"},{"type":"null"}]},"h24":{"anyOf":[{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"},{"type":"null"}]},"h6":{"anyOf":[{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"},{"type":"null"}]},"m5":{"anyOf":[{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"},{"type":"null"}]}},"required":["h1","h24","h6","m5"],"additionalProperties":false}},"required":["base","created_at","created_at_block","created_at_txn_id","fdv","fdv_usd","fee_bps","graduation","holders_count","last_trade_at","liquidity","market","market_cap","market_cap_usd","pair_id","price","price_change","price_usd","quote","status","ts","txns","venue","volume","volume_usd"],"additionalProperties":false}},"meta":{"type":"object","properties":{"as_of":{"type":"string"},"cc_usd":{"anyOf":[{"type":"object","properties":{"as_of":{"type":"string"},"rate":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"},"source":{"type":"string"},"stale":{"type":"boolean"}},"required":["as_of","rate","source","stale"],"additionalProperties":false},{"type":"null"}]},"ledger_offset":{"type":"string"},"network_id":{"type":"string"},"source":{"type":"string","const":"pqs"}},"required":["as_of","cc_usd","ledger_offset","network_id","source"],"additionalProperties":false},"page":{"type":"object","properties":{"has_more":{"type":"boolean"},"limit":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"next_cursor":{"type":["string","null"]}},"required":["has_more","limit","next_cursor"],"additionalProperties":false}},"required":["items","meta","page"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"Invalid filter, limit or cursor. Also: `VALIDATION_FAILED`, `AMBIGUOUS_CREDENTIALS`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Unknown API key, or a key is required. Also: `API_KEY_INVALID`, `API_KEY_REVOKED`, `MARKET_DATA_API_KEY_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Codes: `API_KEY_IP_NOT_ALLOWED`, `PRODUCT_ACCOUNT_RESTRICTED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"The PQS market projection is not configured.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{},{"apiKey":[]}],"summary":"List pairs with price, liquidity, market cap, volume, price change and trade counts.","tags":["market data"],"x-api-key-scope":"read","description":"Anonymous calls are accepted under a per-IP budget; an `X-API-Key` raises the limit. When the deployment sets `MARKET_DATA_REQUIRE_API_KEY=true` the key becomes mandatory and anonymous calls answer 401 `MARKET_DATA_API_KEY_REQUIRED`."}},"/api/v1/market/pairs/{pairId}":{"get":{"operationId":"MarketDataController_getPair_v1","parameters":[{"name":"pairId","required":true,"in":"path","description":"<instrument id>:curve or :amm","schema":{"type":"string","maxLength":160,"pattern":"^[A-Za-z0-9][A-Za-z0-9._-]{0,127}:(?:curve|amm)$"}},{"$ref":"#/components/parameters/RequestId"}],"responses":{"200":{"description":"Pair.","content":{"application/json":{"schema":{"type":"object","properties":{"item":{"type":"object","properties":{"base":{"type":"object","properties":{"asset_id":{"type":"string"},"instrument_admin":{"type":["string","null"]},"name":{"type":"string"},"symbol":{"type":"string"}},"required":["asset_id","instrument_admin","name","symbol"],"additionalProperties":false},"created_at":{"type":["string","null"]},"created_at_block":{"type":["string","null"]},"created_at_txn_id":{"type":["string","null"]},"fdv":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"},"fdv_usd":{"anyOf":[{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"},{"type":"null"}]},"fee_bps":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"graduation":{"type":"object","properties":{"percent":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"},"stage":{"type":"string","enum":["graduating","ignition","in_orbit","near_escape"]},"threshold_cc":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"}},"required":["percent","stage","threshold_cc"],"additionalProperties":false},"holders_count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"last_trade_at":{"type":["string","null"]},"liquidity":{"type":"object","properties":{"cc":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"},"reserves":{"type":"object","properties":{"base":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"},"quote":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"}},"required":["base","quote"],"additionalProperties":false},"usd":{"anyOf":[{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"},{"type":"null"}]}},"required":["cc","reserves","usd"],"additionalProperties":false},"market":{"type":"string"},"market_cap":{"anyOf":[{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"},{"type":"null"}],"description":"Circulating market cap in CC: price x circulating_supply (fdv x circulating_supply / total_supply)."},"market_cap_usd":{"anyOf":[{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"},{"type":"null"}]},"pair_id":{"type":"string"},"price":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"},"price_change":{"type":"object","properties":{"h1":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"},"h24":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"},"h6":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"},"m5":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"}},"required":["h1","h24","h6","m5"],"additionalProperties":false},"price_usd":{"anyOf":[{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"},{"type":"null"}]},"quote":{"type":"object","properties":{"asset_id":{"type":"string"},"instrument_admin":{"type":["string","null"]},"name":{"type":"string"},"symbol":{"type":"string"}},"required":["asset_id","instrument_admin","name","symbol"],"additionalProperties":false},"status":{"type":"string","enum":["active","graduated"]},"ts":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"txns":{"type":"object","properties":{"h1":{"type":"object","properties":{"buys":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"sells":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["buys","sells"],"additionalProperties":false},"h24":{"type":"object","properties":{"buys":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"sells":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["buys","sells"],"additionalProperties":false},"h6":{"type":"object","properties":{"buys":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"sells":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["buys","sells"],"additionalProperties":false},"m5":{"type":"object","properties":{"buys":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"sells":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["buys","sells"],"additionalProperties":false}},"required":["h1","h24","h6","m5"],"additionalProperties":false},"venue":{"type":"string","enum":["amm","curve"]},"volume":{"type":"object","properties":{"h1":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"},"h24":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"},"h6":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"},"m5":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"}},"required":["h1","h24","h6","m5"],"additionalProperties":false},"volume_usd":{"type":"object","properties":{"h1":{"anyOf":[{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"},{"type":"null"}]},"h24":{"anyOf":[{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"},{"type":"null"}]},"h6":{"anyOf":[{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"},{"type":"null"}]},"m5":{"anyOf":[{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"},{"type":"null"}]}},"required":["h1","h24","h6","m5"],"additionalProperties":false}},"required":["base","created_at","created_at_block","created_at_txn_id","fdv","fdv_usd","fee_bps","graduation","holders_count","last_trade_at","liquidity","market","market_cap","market_cap_usd","pair_id","price","price_change","price_usd","quote","status","ts","txns","venue","volume","volume_usd"],"additionalProperties":false},"meta":{"type":"object","properties":{"as_of":{"type":"string"},"cc_usd":{"anyOf":[{"type":"object","properties":{"as_of":{"type":"string"},"rate":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"},"source":{"type":"string"},"stale":{"type":"boolean"}},"required":["as_of","rate","source","stale"],"additionalProperties":false},{"type":"null"}]},"ledger_offset":{"type":"string"},"network_id":{"type":"string"},"source":{"type":"string","const":"pqs"}},"required":["as_of","cc_usd","ledger_offset","network_id","source"],"additionalProperties":false}},"required":["item","meta"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The request is malformed or failed validation. Codes: `VALIDATION_FAILED`, `AMBIGUOUS_CREDENTIALS`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Unknown API key, or a key is required. Also: `API_KEY_INVALID`, `API_KEY_REVOKED`, `MARKET_DATA_API_KEY_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Codes: `API_KEY_IP_NOT_ALLOWED`, `PRODUCT_ACCOUNT_RESTRICTED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"Unknown pair.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"The PQS market projection is not configured.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{},{"apiKey":[]}],"summary":"One pair with its full figures.","tags":["market data"],"x-api-key-scope":"read","description":"Anonymous calls are accepted under a per-IP budget; an `X-API-Key` raises the limit. When the deployment sets `MARKET_DATA_REQUIRE_API_KEY=true` the key becomes mandatory and anonymous calls answer 401 `MARKET_DATA_API_KEY_REQUIRED`."}},"/api/v1/market/pairs/{pairId}/trades":{"get":{"operationId":"MarketDataController_trades_v1","parameters":[{"name":"pairId","required":true,"in":"path","schema":{"type":"string","maxLength":160,"pattern":"^[A-Za-z0-9][A-Za-z0-9._-]{0,127}:(?:curve|amm)$"}},{"name":"cursor","required":false,"in":"query","schema":{"type":"string","minLength":1,"maxLength":512}},{"name":"limit","required":false,"in":"query","schema":{"default":50,"type":"integer","minimum":1,"maximum":200}},{"name":"side","required":false,"in":"query","schema":{"type":"string","enum":["buy","sell"]}},{"$ref":"#/components/parameters/RequestId"}],"responses":{"200":{"description":"Trade page.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"block":{"type":"string"},"fee_cc":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"},"id":{"type":"string"},"maker":{"type":"string"},"node_id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"pair_id":{"type":"string"},"price":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"},"price_usd":{"anyOf":[{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"},{"type":"null"}]},"base_amount":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"},"quote_amount":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"},"side":{"type":"string","enum":["buy","sell"]},"time":{"type":"string"},"ts":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"txn_id":{"type":"string"},"venue":{"type":"string","enum":["amm","curve"]}},"required":["block","fee_cc","id","maker","node_id","pair_id","price","price_usd","base_amount","quote_amount","side","time","ts","txn_id","venue"],"additionalProperties":false}},"meta":{"type":"object","properties":{"as_of":{"type":"string"},"cc_usd":{"anyOf":[{"type":"object","properties":{"as_of":{"type":"string"},"rate":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"},"source":{"type":"string"},"stale":{"type":"boolean"}},"required":["as_of","rate","source","stale"],"additionalProperties":false},{"type":"null"}]},"ledger_offset":{"type":"string"},"network_id":{"type":"string"},"source":{"type":"string","const":"pqs"}},"required":["as_of","cc_usd","ledger_offset","network_id","source"],"additionalProperties":false},"page":{"type":"object","properties":{"has_more":{"type":"boolean"},"limit":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"next_cursor":{"type":["string","null"]}},"required":["has_more","limit","next_cursor"],"additionalProperties":false}},"required":["items","meta","page"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"Invalid side, limit or cursor. Also: `VALIDATION_FAILED`, `AMBIGUOUS_CREDENTIALS`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Unknown API key, or a key is required. Also: `API_KEY_INVALID`, `API_KEY_REVOKED`, `MARKET_DATA_API_KEY_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Codes: `API_KEY_IP_NOT_ALLOWED`, `PRODUCT_ACCOUNT_RESTRICTED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"Unknown pair.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"The PQS market projection is not configured.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{},{"apiKey":[]}],"summary":"Recent trades of a pair, newest first.","tags":["market data"],"x-api-key-scope":"read","description":"Anonymous calls are accepted under a per-IP budget; an `X-API-Key` raises the limit. When the deployment sets `MARKET_DATA_REQUIRE_API_KEY=true` the key becomes mandatory and anonymous calls answer 401 `MARKET_DATA_API_KEY_REQUIRED`."}},"/api/v1/market/pairs/{pairId}/candles":{"get":{"operationId":"MarketDataController_candles_v1","parameters":[{"name":"pairId","required":true,"in":"path","schema":{"type":"string","maxLength":160,"pattern":"^[A-Za-z0-9][A-Za-z0-9._-]{0,127}:(?:curve|amm)$"}},{"name":"currency","required":false,"in":"query","schema":{"default":"cc","type":"string","enum":["cc","usd"]}},{"name":"from","required":false,"in":"query","schema":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},{"name":"interval","required":false,"in":"query","schema":{"default":"1h","type":"string","enum":["1m","5m","1h","4h","1d"]}},{"name":"to","required":false,"in":"query","schema":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},{"$ref":"#/components/parameters/RequestId"}],"responses":{"200":{"description":"Candles, oldest first.","content":{"application/json":{"schema":{"type":"object","properties":{"candles":{"type":"array","items":{"type":"object","properties":{"close":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"},"high":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"},"low":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"},"open":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"},"time":{"type":"string"},"ts":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"volume":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"}},"required":["close","high","low","open","time","ts","volume"],"additionalProperties":false}},"currency":{"type":"string","enum":["cc","usd"]},"interval":{"type":"string","enum":["1m","5m","1h","4h","1d"]},"meta":{"type":"object","properties":{"as_of":{"type":"string"},"cc_usd":{"anyOf":[{"type":"object","properties":{"as_of":{"type":"string"},"rate":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"},"source":{"type":"string"},"stale":{"type":"boolean"}},"required":["as_of","rate","source","stale"],"additionalProperties":false},{"type":"null"}]},"ledger_offset":{"type":"string"},"network_id":{"type":"string"},"source":{"type":"string","const":"pqs"}},"required":["as_of","cc_usd","ledger_offset","network_id","source"],"additionalProperties":false},"pair_id":{"type":"string"}},"required":["candles","currency","interval","meta","pair_id"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"Invalid interval or window (at most 500 candles). Also: `VALIDATION_FAILED`, `AMBIGUOUS_CREDENTIALS`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Unknown API key, or a key is required. Also: `API_KEY_INVALID`, `API_KEY_REVOKED`, `MARKET_DATA_API_KEY_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Codes: `API_KEY_IP_NOT_ALLOWED`, `PRODUCT_ACCOUNT_RESTRICTED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"Unknown pair.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"The PQS market projection is not configured.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{},{"apiKey":[]}],"summary":"OHLCV candles of the pair token (one series across graduation), in CC or USD.","tags":["market data"],"x-api-key-scope":"read","description":"Anonymous calls are accepted under a per-IP budget; an `X-API-Key` raises the limit. When the deployment sets `MARKET_DATA_REQUIRE_API_KEY=true` the key becomes mandatory and anonymous calls answer 401 `MARKET_DATA_API_KEY_REQUIRED`."}},"/api/v1/market/tickers":{"get":{"operationId":"MarketDataController_tickers_v1","parameters":[{"$ref":"#/components/parameters/RequestId"}],"responses":{"200":{"description":"Tickers.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"change_24h":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"},"market":{"type":"string"},"pair_id":{"type":"string"},"price":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"},"price_usd":{"anyOf":[{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"},{"type":"null"}]},"ts":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"volume_24h":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"}},"required":["change_24h","market","pair_id","price","price_usd","ts","volume_24h"],"additionalProperties":false}},"meta":{"type":"object","properties":{"as_of":{"type":"string"},"cc_usd":{"anyOf":[{"type":"object","properties":{"as_of":{"type":"string"},"rate":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"},"source":{"type":"string"},"stale":{"type":"boolean"}},"required":["as_of","rate","source","stale"],"additionalProperties":false},{"type":"null"}]},"ledger_offset":{"type":"string"},"network_id":{"type":"string"},"source":{"type":"string","const":"pqs"}},"required":["as_of","cc_usd","ledger_offset","network_id","source"],"additionalProperties":false}},"required":["items","meta"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The request is malformed or failed validation. Codes: `AMBIGUOUS_CREDENTIALS`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Unknown API key, or a key is required. Also: `API_KEY_INVALID`, `API_KEY_REVOKED`, `MARKET_DATA_API_KEY_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Codes: `API_KEY_IP_NOT_ALLOWED`, `PRODUCT_ACCOUNT_RESTRICTED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"The PQS market projection is not configured.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{},{"apiKey":[]}],"summary":"Compact price/volume ticker of every pair.","tags":["market data"],"x-api-key-scope":"read","description":"Anonymous calls are accepted under a per-IP budget; an `X-API-Key` raises the limit. When the deployment sets `MARKET_DATA_REQUIRE_API_KEY=true` the key becomes mandatory and anonymous calls answer 401 `MARKET_DATA_API_KEY_REQUIRED`."}},"/api/v1/dextools/latest-block":{"get":{"operationId":"DextoolsController_latestBlock_v1","parameters":[{"$ref":"#/components/parameters/RequestId"}],"responses":{"200":{"description":"Latest block.","content":{"application/json":{"schema":{"type":"object","properties":{"block":{"type":"object","properties":{"blockNumber":{"type":"integer","minimum":0,"maximum":9007199254740991},"blockTimestamp":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["blockNumber","blockTimestamp"],"additionalProperties":false}},"required":["block"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The request is malformed or failed validation.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DextoolsError"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DextoolsError"}}}},"403":{"description":"The credential may not call this route.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DextoolsError"}}}},"429":{"$ref":"#/components/responses/DextoolsRateLimited"},"503":{"description":"The PQS market projection is not configured.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DextoolsError"}}}},"default":{"$ref":"#/components/responses/DextoolsError"}},"security":[{},{"apiKey":[]}],"summary":"Newest block whose events are all served.","tags":["dextools adapter"],"x-api-key-scope":"read","description":"Anonymous calls are accepted under a per-IP budget; an `X-API-Key` raises the limit. When the deployment sets `MARKET_DATA_REQUIRE_API_KEY=true` the key becomes mandatory and anonymous calls answer 401 `MARKET_DATA_API_KEY_REQUIRED`."}},"/api/v1/dextools/block":{"get":{"operationId":"DextoolsController_block_v1","parameters":[{"name":"number","required":false,"in":"query","schema":{"type":"integer","minimum":0,"maximum":9007199254740991}},{"name":"timestamp","required":false,"in":"query","schema":{"type":"integer","minimum":0,"maximum":9007199254740991}},{"$ref":"#/components/parameters/RequestId"}],"responses":{"200":{"description":"Block.","content":{"application/json":{"schema":{"type":"object","properties":{"block":{"type":"object","properties":{"blockNumber":{"type":"integer","minimum":0,"maximum":9007199254740991},"blockTimestamp":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["blockNumber","blockTimestamp"],"additionalProperties":false}},"required":["block"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"Neither number nor timestamp.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DextoolsError"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DextoolsError"}}}},"403":{"description":"The credential may not call this route.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DextoolsError"}}}},"404":{"description":"No block at or before that point.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DextoolsError"}}}},"429":{"$ref":"#/components/responses/DextoolsRateLimited"},"503":{"description":"The PQS market projection is not configured.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DextoolsError"}}}},"default":{"$ref":"#/components/responses/DextoolsError"}},"security":[{},{"apiKey":[]}],"summary":"Block by number, or the youngest at or before a time.","tags":["dextools adapter"],"x-api-key-scope":"read","description":"Anonymous calls are accepted under a per-IP budget; an `X-API-Key` raises the limit. When the deployment sets `MARKET_DATA_REQUIRE_API_KEY=true` the key becomes mandatory and anonymous calls answer 401 `MARKET_DATA_API_KEY_REQUIRED`."}},"/api/v1/dextools/asset":{"get":{"operationId":"DextoolsController_asset_v1","parameters":[{"name":"id","required":true,"in":"query","schema":{"type":"string","minLength":1,"maxLength":512}},{"$ref":"#/components/parameters/RequestId"}],"responses":{"200":{"description":"Asset.","content":{"application/json":{"schema":{"type":"object","properties":{"asset":{"type":"object","properties":{"circulatingSupply":{"description":"Tokens outside the pools: totalSupply minus the curve inventory and liquidity reserve, or minus the AMM token reserve after graduation.","type":"string","pattern":"^\\d+(?:\\.\\d+)$"},"holdersCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"id":{"type":"string"},"name":{"type":"string"},"symbol":{"type":"string"},"totalSupply":{"type":"string","pattern":"^\\d+(?:\\.\\d+)$"}},"required":["id","name","symbol"],"additionalProperties":false}},"required":["asset"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The request is malformed or failed validation.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DextoolsError"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DextoolsError"}}}},"403":{"description":"The credential may not call this route.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DextoolsError"}}}},"404":{"description":"Unknown asset.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DextoolsError"}}}},"429":{"$ref":"#/components/responses/DextoolsRateLimited"},"503":{"description":"The PQS market projection is not configured.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DextoolsError"}}}},"default":{"$ref":"#/components/responses/DextoolsError"}},"security":[{},{"apiKey":[]}],"summary":"Asset by id (instrument id, or Amulet for CC).","tags":["dextools adapter"],"x-api-key-scope":"read","description":"Anonymous calls are accepted under a per-IP budget; an `X-API-Key` raises the limit. When the deployment sets `MARKET_DATA_REQUIRE_API_KEY=true` the key becomes mandatory and anonymous calls answer 401 `MARKET_DATA_API_KEY_REQUIRED`."}},"/api/v1/dextools/asset/holders":{"get":{"operationId":"DextoolsController_holders_v1","parameters":[{"name":"id","required":true,"in":"query","schema":{"type":"string","minLength":1,"maxLength":512}},{"name":"page","required":false,"in":"query","schema":{"default":0,"type":"integer","minimum":0,"maximum":10000}},{"name":"pageSize","required":false,"in":"query","schema":{"default":10,"type":"integer","minimum":10,"maximum":50}},{"$ref":"#/components/parameters/RequestId"}],"responses":{"200":{"description":"Holder page.","content":{"application/json":{"schema":{"type":"object","properties":{"asset":{"type":"object","properties":{"holders":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string"},"quantity":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["address","quantity"],"additionalProperties":false}},"id":{"type":"string"},"totalHoldersCount":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["holders","id","totalHoldersCount"],"additionalProperties":false}},"required":["asset"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The request is malformed or failed validation.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DextoolsError"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DextoolsError"}}}},"403":{"description":"The credential may not call this route.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DextoolsError"}}}},"404":{"description":"Unknown asset.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DextoolsError"}}}},"429":{"$ref":"#/components/responses/DextoolsRateLimited"},"503":{"description":"The PQS market projection is not configured.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DextoolsError"}}}},"default":{"$ref":"#/components/responses/DextoolsError"}},"security":[{},{"apiKey":[]}],"summary":"Holders by quantity, descending (keyed addresses).","tags":["dextools adapter"],"x-api-key-scope":"read","description":"Anonymous calls are accepted under a per-IP budget; an `X-API-Key` raises the limit. When the deployment sets `MARKET_DATA_REQUIRE_API_KEY=true` the key becomes mandatory and anonymous calls answer 401 `MARKET_DATA_API_KEY_REQUIRED`."}},"/api/v1/dextools/exchange":{"get":{"operationId":"DextoolsController_exchange_v1","parameters":[{"name":"id","required":true,"in":"query","schema":{"type":"string","minLength":1,"maxLength":512}},{"$ref":"#/components/parameters/RequestId"}],"responses":{"200":{"description":"Exchange.","content":{"application/json":{"schema":{"type":"object","properties":{"exchange":{"type":"object","properties":{"factoryAddress":{"type":"string"},"logoURL":{"type":"string"},"name":{"type":"string"}},"required":["factoryAddress","name"],"additionalProperties":false}},"required":["exchange"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The request is malformed or failed validation.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DextoolsError"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DextoolsError"}}}},"403":{"description":"The credential may not call this route.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DextoolsError"}}}},"404":{"description":"Unknown exchange.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DextoolsError"}}}},"429":{"$ref":"#/components/responses/DextoolsRateLimited"},"503":{"description":"The PQS market projection is not configured.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DextoolsError"}}}},"default":{"$ref":"#/components/responses/DextoolsError"}},"security":[{},{"apiKey":[]}],"summary":"The Supanova exchange (factory = registrar Party).","tags":["dextools adapter"],"x-api-key-scope":"read","description":"Anonymous calls are accepted under a per-IP budget; an `X-API-Key` raises the limit. When the deployment sets `MARKET_DATA_REQUIRE_API_KEY=true` the key becomes mandatory and anonymous calls answer 401 `MARKET_DATA_API_KEY_REQUIRED`."}},"/api/v1/dextools/pair":{"get":{"operationId":"DextoolsController_pair_v1","parameters":[{"name":"id","required":true,"in":"query","schema":{"type":"string","minLength":1,"maxLength":512}},{"$ref":"#/components/parameters/RequestId"}],"responses":{"200":{"description":"Pair.","content":{"application/json":{"schema":{"type":"object","properties":{"pair":{"type":"object","properties":{"asset0Id":{"type":"string"},"asset1Id":{"type":"string"},"createdAtBlockNumber":{"type":"integer","minimum":0,"maximum":9007199254740991},"createdAtBlockTimestamp":{"type":"integer","minimum":0,"maximum":9007199254740991},"createdAtTxnId":{"type":"string"},"factoryAddress":{"type":"string"},"feeBps":{"type":"integer","minimum":0,"maximum":9007199254740991},"id":{"type":"string"}},"required":["asset0Id","asset1Id","createdAtBlockNumber","createdAtBlockTimestamp","createdAtTxnId","factoryAddress","feeBps","id"],"additionalProperties":false}},"required":["pair"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The request is malformed or failed validation.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DextoolsError"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DextoolsError"}}}},"403":{"description":"The credential may not call this route.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DextoolsError"}}}},"404":{"description":"Unknown pair.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DextoolsError"}}}},"429":{"$ref":"#/components/responses/DextoolsRateLimited"},"503":{"description":"The PQS market projection is not configured.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DextoolsError"}}}},"default":{"$ref":"#/components/responses/DextoolsError"}},"security":[{},{"apiKey":[]}],"summary":"Pair by id (<instrument id>:curve or :amm).","tags":["dextools adapter"],"x-api-key-scope":"read","description":"Anonymous calls are accepted under a per-IP budget; an `X-API-Key` raises the limit. When the deployment sets `MARKET_DATA_REQUIRE_API_KEY=true` the key becomes mandatory and anonymous calls answer 401 `MARKET_DATA_API_KEY_REQUIRED`."}},"/api/v1/dextools/events":{"get":{"operationId":"DextoolsController_events_v1","parameters":[{"name":"fromBlock","required":true,"in":"query","schema":{"type":"integer","minimum":0,"maximum":9007199254740991}},{"name":"toBlock","required":true,"in":"query","schema":{"type":"integer","minimum":0,"maximum":9007199254740991}},{"$ref":"#/components/parameters/RequestId"}],"responses":{"200":{"description":"Events in block order.","content":{"application/json":{"schema":{"type":"object","properties":{"events":{"type":"array","items":{"type":"object","properties":{"amount0":{"type":"string","pattern":"^\\d+(?:\\.\\d+)$"},"amount1":{"type":"string","pattern":"^\\d+(?:\\.\\d+)$"},"asset0In":{"type":"string","pattern":"^\\d+(?:\\.\\d+)$"},"asset0Out":{"type":"string","pattern":"^\\d+(?:\\.\\d+)$"},"asset1In":{"type":"string","pattern":"^\\d+(?:\\.\\d+)$"},"asset1Out":{"type":"string","pattern":"^\\d+(?:\\.\\d+)$"},"block":{"type":"object","properties":{"blockNumber":{"type":"integer","minimum":0,"maximum":9007199254740991},"blockTimestamp":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["blockNumber","blockTimestamp"],"additionalProperties":false},"eventIndex":{"type":"integer","minimum":0,"maximum":9007199254740991},"eventType":{"type":"string","enum":["creation","swap","join","exit"]},"maker":{"type":"string"},"pairId":{"type":"string"},"reserves":{"type":"object","properties":{"asset0":{"type":"string","pattern":"^\\d+(?:\\.\\d+)$"},"asset1":{"type":"string","pattern":"^\\d+(?:\\.\\d+)$"}},"required":["asset0","asset1"],"additionalProperties":false},"txnId":{"type":"string"},"txnIndex":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["block","eventIndex","eventType","maker","pairId","txnId","txnIndex"],"additionalProperties":false}}},"required":["events"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"Invalid or too large block range.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DextoolsError"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DextoolsError"}}}},"403":{"description":"The credential may not call this route.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DextoolsError"}}}},"429":{"$ref":"#/components/responses/DextoolsRateLimited"},"503":{"description":"The PQS market projection is not configured.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DextoolsError"}}}},"default":{"$ref":"#/components/responses/DextoolsError"}},"security":[{},{"apiKey":[]}],"summary":"Creation, swap and join events in the inclusive block (ledger offset) range.","tags":["dextools adapter"],"x-api-key-scope":"read","description":"Anonymous calls are accepted under a per-IP budget; an `X-API-Key` raises the limit. When the deployment sets `MARKET_DATA_REQUIRE_API_KEY=true` the key becomes mandatory and anonymous calls answer 401 `MARKET_DATA_API_KEY_REQUIRED`."}},"/api/v1/wallet/providers":{"get":{"operationId":"SuperappWalletProviderController_directory_v1","parameters":[{"$ref":"#/components/parameters/RequestId"}],"responses":{"200":{"description":"Static provider metadata with explicit preview/devnet/mainnet readiness.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"minItems":5,"maxItems":5,"type":"array","items":{"type":"object","properties":{"current":{"type":"object","properties":{"connectionProviderId":{"anyOf":[{"type":"string","minLength":3,"maxLength":64,"pattern":"^[a-z0-9](?:[a-z0-9.-]{1,62}[a-z0-9])$"},{"type":"null"}]},"dataMode":{"type":"string","enum":["none","simulated"]},"readiness":{"type":"string","enum":["blocked","preview"]},"reasonCode":{"type":"string","enum":["PROVIDER_ADAPTER_NOT_CONFIGURED","SIMULATED_PREVIEW_ONLY"]},"support":{"type":"string","enum":["backend_simulation","frontend_interface_only","not_configured"]},"supported":{"type":"boolean"},"appStage":{"type":"string","enum":["local","preview","devnet","mainnet"]},"effectiveStage":{"type":"string","enum":["preview","devnet","mainnet"]}},"required":["connectionProviderId","dataMode","readiness","reasonCode","support","supported","appStage","effectiveStage"],"additionalProperties":false},"displayName":{"type":"string","minLength":1,"maxLength":64},"id":{"type":"string","enum":["supanova","loop","console","bron","walley"]},"interfaceStandard":{"type":"string","const":"CIP-0103"},"listingKind":{"type":"string","enum":["first_party","external_provider"]},"stageSupport":{"type":"object","properties":{"devnet":{"type":"object","properties":{"connectionProviderId":{"anyOf":[{"type":"string","minLength":3,"maxLength":64,"pattern":"^[a-z0-9](?:[a-z0-9.-]{1,62}[a-z0-9])$"},{"type":"null"}]},"dataMode":{"type":"string","enum":["none","simulated"]},"readiness":{"type":"string","enum":["blocked","preview"]},"reasonCode":{"type":"string","enum":["PROVIDER_ADAPTER_NOT_CONFIGURED","SIMULATED_PREVIEW_ONLY"]},"support":{"type":"string","enum":["backend_simulation","frontend_interface_only","not_configured"]},"supported":{"type":"boolean"}},"required":["connectionProviderId","dataMode","readiness","reasonCode","support","supported"],"additionalProperties":false},"mainnet":{"type":"object","properties":{"connectionProviderId":{"anyOf":[{"type":"string","minLength":3,"maxLength":64,"pattern":"^[a-z0-9](?:[a-z0-9.-]{1,62}[a-z0-9])$"},{"type":"null"}]},"dataMode":{"type":"string","enum":["none","simulated"]},"readiness":{"type":"string","enum":["blocked","preview"]},"reasonCode":{"type":"string","enum":["PROVIDER_ADAPTER_NOT_CONFIGURED","SIMULATED_PREVIEW_ONLY"]},"support":{"type":"string","enum":["backend_simulation","frontend_interface_only","not_configured"]},"supported":{"type":"boolean"}},"required":["connectionProviderId","dataMode","readiness","reasonCode","support","supported"],"additionalProperties":false},"preview":{"type":"object","properties":{"connectionProviderId":{"anyOf":[{"type":"string","minLength":3,"maxLength":64,"pattern":"^[a-z0-9](?:[a-z0-9.-]{1,62}[a-z0-9])$"},{"type":"null"}]},"dataMode":{"type":"string","enum":["none","simulated"]},"readiness":{"type":"string","enum":["blocked","preview"]},"reasonCode":{"type":"string","enum":["PROVIDER_ADAPTER_NOT_CONFIGURED","SIMULATED_PREVIEW_ONLY"]},"support":{"type":"string","enum":["backend_simulation","frontend_interface_only","not_configured"]},"supported":{"type":"boolean"}},"required":["connectionProviderId","dataMode","readiness","reasonCode","support","supported"],"additionalProperties":false}},"required":["devnet","mainnet","preview"],"additionalProperties":false},"walletKind":{"type":"string","const":"canton"}},"required":["current","displayName","id","interfaceStandard","listingKind","stageSupport","walletKind"],"additionalProperties":false}},"meta":{"type":"object","properties":{"asOf":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"catalogVersion":{"type":"string","const":"2026-08-05.1"},"dataMode":{"type":"string","const":"configuration"},"disclaimer":{"type":"string","minLength":1,"maxLength":1024},"networkId":{"type":"string","pattern":"^canton:[-_a-zA-Z0-9]{1,32}$"}},"required":["asOf","catalogVersion","dataMode","disclaimer","networkId"],"additionalProperties":false}},"required":["items","meta"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/ApiError"}},"security":[],"summary":"Read stage-specific Supanova wallet provider readiness.","tags":["wallet providers"]}},"/api/v1/me/wallets/{connectionId}/deposit-instructions":{"get":{"operationId":"SuperappWalletController_depositInstructions_v1","parameters":[{"name":"connectionId","required":true,"in":"path","schema":{"format":"uuid","type":"string"}},{"$ref":"#/components/parameters/ServiceActAs"},{"$ref":"#/components/parameters/RequestId"}],"responses":{"200":{"description":"Owned wallet deposit destination.","content":{"application/json":{"schema":{"type":"object","properties":{"assetAcceptance":{"type":"string","const":"wallet-and-ledger-controlled"},"destination":{"type":"object","properties":{"address":{"type":"string","description":"Opaque, case-sensitive Canton Party ID containing 3-512 Unicode scalar values with no normalization, edge whitespace, or C0/C1 control characters.","minLength":3,"maxLength":512},"addressKind":{"type":"string","const":"canton-party-id"},"copyValue":{"type":"string","description":"Opaque, case-sensitive Canton Party ID containing 3-512 Unicode scalar values with no normalization, edge whitespace, or C0/C1 control characters.","minLength":3,"maxLength":512},"networkId":{"type":"string","pattern":"^canton:[-_a-zA-Z0-9]{1,32}$"},"partyId":{"type":"string","description":"Opaque, case-sensitive Canton Party ID containing 3-512 Unicode scalar values with no normalization, edge whitespace, or C0/C1 control characters.","minLength":3,"maxLength":512}},"required":["address","addressKind","copyValue","networkId","partyId"],"additionalProperties":false},"instructions":{"minItems":2,"maxItems":4,"type":"array","items":{"type":"object","properties":{"body":{"type":"string","minLength":1,"maxLength":500},"step":{"type":"integer","minimum":1,"maximum":4},"title":{"type":"string","minLength":1,"maxLength":100}},"required":["body","step","title"],"additionalProperties":false}},"provenance":{"type":"object","properties":{"appStage":{"type":"string","enum":["local","preview","devnet","mainnet"]},"asOf":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"dataMode":{"type":"string","enum":["projected","simulated"]},"disclaimer":{"type":"string","minLength":1,"maxLength":1024},"sourceAuthority":{"type":"string","enum":["canton-projection","verified-preview-wallet-binding"]}},"required":["appStage","asOf","dataMode","disclaimer","sourceAuthority"],"additionalProperties":false},"providerDirectoryId":{"anyOf":[{"type":"string","enum":["supanova","loop","console","bron","walley"]},{"type":"null"}]},"providerId":{"type":"string","minLength":3,"maxLength":64,"pattern":"^[a-z0-9](?:[a-z0-9.-]{1,62}[a-z0-9])$"},"walletConnectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["assetAcceptance","destination","instructions","provenance","providerDirectoryId","providerId","walletConnectionId"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The wallet connection identifier is invalid. Also: `VALIDATION_FAILED`, `AMBIGUOUS_CREDENTIALS`, `SERVICE_ACT_AS_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `AUTHENTICATION_REQUIRED`, `INVALID_AUTHORIZATION_HEADER`, `INVALID_ACCESS_TOKEN`, `SESSION_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Codes: `ACCOUNT_RESTRICTED`, `ANONYMOUS_ACCOUNT_NOT_ALLOWED`, `API_KEY_ROUTE_NOT_ALLOWED`, `SERVICE_PARTY_NOT_ALLOWED`, `SERVICE_PRINCIPAL_NOT_ALLOWED`, `SIGNUP_NOT_INVITED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"No owned wallet connection exists on this network.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"A reviewed Canton-backed deposit read adapter is not configured. Also: `AUTHENTICATION_UNAVAILABLE`, `AUTHORIZATION_UNAVAILABLE`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{"bearer":[]}],"summary":"Read deposit instructions for an owned, server-verified wallet connection.","tags":["superapp wallet"]}},"/api/v1/me/activity/summary":{"get":{"operationId":"SuperappWalletController_activitySummary_v1","parameters":[{"$ref":"#/components/parameters/ServiceActAs"},{"$ref":"#/components/parameters/RequestId"}],"responses":{"200":{"description":"Account-wide activity totals independent from cursor filters.","content":{"application/json":{"schema":{"type":"object","properties":{"creatorRewards":{"type":"object","properties":{"distributionCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["distributionCount","totalCc"],"additionalProperties":false},"graduations":{"type":"object","properties":{"count":{"type":"integer","minimum":0,"maximum":9007199254740991},"latest":{"anyOf":[{"type":"object","properties":{"occurredAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"reference":{"type":"string","minLength":1,"maxLength":128},"token":{"type":"object","properties":{"instrumentId":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":512},"id":{"type":"string","minLength":1,"maxLength":512}},"required":["admin","id"],"additionalProperties":false},"name":{"type":"string","minLength":1,"maxLength":100},"slug":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?$"},"ticker":{"type":"string","minLength":1,"maxLength":16}},"required":["instrumentId","name","slug","ticker"],"additionalProperties":false}},"required":["occurredAt","reference","token"],"additionalProperties":false},{"type":"null"}]}},"required":["count","latest"],"additionalProperties":false},"launches":{"type":"object","properties":{"count":{"type":"integer","minimum":0,"maximum":9007199254740991},"latest":{"anyOf":[{"type":"object","properties":{"occurredAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"reference":{"type":"string","minLength":1,"maxLength":128},"token":{"type":"object","properties":{"instrumentId":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":512},"id":{"type":"string","minLength":1,"maxLength":512}},"required":["admin","id"],"additionalProperties":false},"name":{"type":"string","minLength":1,"maxLength":100},"slug":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?$"},"ticker":{"type":"string","minLength":1,"maxLength":16}},"required":["instrumentId","name","slug","ticker"],"additionalProperties":false}},"required":["occurredAt","reference","token"],"additionalProperties":false},{"type":"null"}]}},"required":["count","latest"],"additionalProperties":false},"meta":{"type":"object","properties":{"asOf":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"dataMode":{"type":"string","enum":["projected","simulated"]},"disclaimer":{"type":"string","minLength":1,"maxLength":1024},"networkId":{"type":"string","pattern":"^canton:[-_a-zA-Z0-9]{1,32}$"},"schemaVersion":{"type":"string","const":"1"}},"required":["asOf","dataMode","disclaimer","networkId","schemaVersion"],"additionalProperties":false},"trading":{"type":"object","properties":{"buyCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"sellCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"swapCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"volumeCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["buyCount","sellCount","swapCount","totalCount","volumeCc"],"additionalProperties":false}},"required":["creatorRewards","graduations","launches","meta","trading"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The request is malformed or failed validation. Codes: `AMBIGUOUS_CREDENTIALS`, `SERVICE_ACT_AS_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `AUTHENTICATION_REQUIRED`, `INVALID_AUTHORIZATION_HEADER`, `INVALID_ACCESS_TOKEN`, `SESSION_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Codes: `ACCOUNT_RESTRICTED`, `ANONYMOUS_ACCOUNT_NOT_ALLOWED`, `API_KEY_ROUTE_NOT_ALLOWED`, `SERVICE_PARTY_NOT_ALLOWED`, `SERVICE_PRINCIPAL_NOT_ALLOWED`, `SIGNUP_NOT_INVITED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"A reviewed Canton activity projection is not configured. Also: `AUTHENTICATION_UNAVAILABLE`, `AUTHORIZATION_UNAVAILABLE`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{"bearer":[]}],"summary":"Read unfiltered account-wide activity metrics for the dashboard cards.","tags":["superapp wallet"]}},"/api/v1/me/activity/{activityId}":{"get":{"operationId":"SuperappWalletController_activityDetail_v1","parameters":[{"name":"activityId","required":true,"in":"path","schema":{"maxLength":128,"minLength":1,"type":"string"}},{"$ref":"#/components/parameters/ServiceActAs"},{"$ref":"#/components/parameters/RequestId"}],"responses":{"200":{"description":"Owned typed transaction detail with an authority-safe explorer reference.","content":{"application/json":{"schema":{"type":"object","properties":{"activity":{"oneOf":[{"type":"object","properties":{"display":{"type":"object","properties":{"primaryAmount":{"type":"object","properties":{"amount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"sign":{"type":"string","enum":["credit","debit","neutral"]},"symbol":{"type":"string","minLength":1,"maxLength":32}},"required":["amount","sign","symbol"],"additionalProperties":false},"secondaryAmount":{"anyOf":[{"type":"object","properties":{"amount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"sign":{"type":"string","enum":["credit","debit","neutral"]},"symbol":{"type":"string","minLength":1,"maxLength":32}},"required":["amount","sign","symbol"],"additionalProperties":false},{"type":"null"}]},"subtitle":{"type":"string","minLength":1,"maxLength":200},"title":{"type":"string","minLength":1,"maxLength":100}},"required":["primaryAmount","secondaryAmount","subtitle","title"],"additionalProperties":false},"finality":{"type":"string","enum":["ledger-confirmed","product-record","simulated"]},"id":{"type":"string","minLength":1,"maxLength":128},"occurredAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"operationId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"null"}]},"status":{"type":"string","enum":["recorded","pending","confirmed","failed"]},"details":{"type":"object","properties":{"feeCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"notionalCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"quoteReference":{"type":"string","minLength":1,"maxLength":128},"token":{"type":"object","properties":{"instrumentId":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":512},"id":{"type":"string","minLength":1,"maxLength":512}},"required":["admin","id"],"additionalProperties":false},"name":{"type":"string","minLength":1,"maxLength":100},"slug":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?$"},"ticker":{"type":"string","minLength":1,"maxLength":16}},"required":["instrumentId","name","slug","ticker"],"additionalProperties":false},"tokenAmount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"unitPriceCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["feeCc","notionalCc","quoteReference","token","tokenAmount","unitPriceCc"],"additionalProperties":false},"kind":{"type":"string","const":"buy"}},"required":["display","finality","id","occurredAt","operationId","status","details","kind"],"additionalProperties":false},{"type":"object","properties":{"display":{"type":"object","properties":{"primaryAmount":{"type":"object","properties":{"amount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"sign":{"type":"string","enum":["credit","debit","neutral"]},"symbol":{"type":"string","minLength":1,"maxLength":32}},"required":["amount","sign","symbol"],"additionalProperties":false},"secondaryAmount":{"anyOf":[{"type":"object","properties":{"amount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"sign":{"type":"string","enum":["credit","debit","neutral"]},"symbol":{"type":"string","minLength":1,"maxLength":32}},"required":["amount","sign","symbol"],"additionalProperties":false},{"type":"null"}]},"subtitle":{"type":"string","minLength":1,"maxLength":200},"title":{"type":"string","minLength":1,"maxLength":100}},"required":["primaryAmount","secondaryAmount","subtitle","title"],"additionalProperties":false},"finality":{"type":"string","enum":["ledger-confirmed","product-record","simulated"]},"id":{"type":"string","minLength":1,"maxLength":128},"occurredAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"operationId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"null"}]},"status":{"type":"string","enum":["recorded","pending","confirmed","failed"]},"details":{"type":"object","properties":{"feeCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"netProceedsCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"notionalCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"quoteReference":{"type":"string","minLength":1,"maxLength":128},"token":{"type":"object","properties":{"instrumentId":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":512},"id":{"type":"string","minLength":1,"maxLength":512}},"required":["admin","id"],"additionalProperties":false},"name":{"type":"string","minLength":1,"maxLength":100},"slug":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?$"},"ticker":{"type":"string","minLength":1,"maxLength":16}},"required":["instrumentId","name","slug","ticker"],"additionalProperties":false},"tokenAmount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"unitPriceCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["feeCc","netProceedsCc","notionalCc","quoteReference","token","tokenAmount","unitPriceCc"],"additionalProperties":false},"kind":{"type":"string","const":"sell"}},"required":["display","finality","id","occurredAt","operationId","status","details","kind"],"additionalProperties":false},{"type":"object","properties":{"display":{"type":"object","properties":{"primaryAmount":{"type":"object","properties":{"amount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"sign":{"type":"string","enum":["credit","debit","neutral"]},"symbol":{"type":"string","minLength":1,"maxLength":32}},"required":["amount","sign","symbol"],"additionalProperties":false},"secondaryAmount":{"anyOf":[{"type":"object","properties":{"amount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"sign":{"type":"string","enum":["credit","debit","neutral"]},"symbol":{"type":"string","minLength":1,"maxLength":32}},"required":["amount","sign","symbol"],"additionalProperties":false},{"type":"null"}]},"subtitle":{"type":"string","minLength":1,"maxLength":200},"title":{"type":"string","minLength":1,"maxLength":100}},"required":["primaryAmount","secondaryAmount","subtitle","title"],"additionalProperties":false},"finality":{"type":"string","enum":["ledger-confirmed","product-record","simulated"]},"id":{"type":"string","minLength":1,"maxLength":128},"occurredAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"operationId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"null"}]},"status":{"type":"string","enum":["recorded","pending","confirmed","failed"]},"details":{"type":"object","properties":{"feeCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"input":{"type":"object","properties":{"instrumentId":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":512},"id":{"type":"string","minLength":1,"maxLength":512}},"required":["admin","id"],"additionalProperties":false},"slug":{"anyOf":[{"type":"string","minLength":1,"maxLength":64},{"type":"null"}]},"symbol":{"type":"string","minLength":1,"maxLength":32},"amount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["instrumentId","slug","symbol","amount"],"additionalProperties":false},"notionalCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"output":{"type":"object","properties":{"instrumentId":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":512},"id":{"type":"string","minLength":1,"maxLength":512}},"required":["admin","id"],"additionalProperties":false},"slug":{"anyOf":[{"type":"string","minLength":1,"maxLength":64},{"type":"null"}]},"symbol":{"type":"string","minLength":1,"maxLength":32},"amount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["instrumentId","slug","symbol","amount"],"additionalProperties":false},"quoteReference":{"type":"string","minLength":1,"maxLength":128},"route":{"minItems":2,"maxItems":8,"type":"array","items":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":512},"id":{"type":"string","minLength":1,"maxLength":512}},"required":["admin","id"],"additionalProperties":false}}},"required":["feeCc","input","notionalCc","output","quoteReference","route"],"additionalProperties":false},"kind":{"type":"string","const":"swap"}},"required":["display","finality","id","occurredAt","operationId","status","details","kind"],"additionalProperties":false},{"type":"object","properties":{"display":{"type":"object","properties":{"primaryAmount":{"type":"object","properties":{"amount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"sign":{"type":"string","enum":["credit","debit","neutral"]},"symbol":{"type":"string","minLength":1,"maxLength":32}},"required":["amount","sign","symbol"],"additionalProperties":false},"secondaryAmount":{"anyOf":[{"type":"object","properties":{"amount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"sign":{"type":"string","enum":["credit","debit","neutral"]},"symbol":{"type":"string","minLength":1,"maxLength":32}},"required":["amount","sign","symbol"],"additionalProperties":false},{"type":"null"}]},"subtitle":{"type":"string","minLength":1,"maxLength":200},"title":{"type":"string","minLength":1,"maxLength":100}},"required":["primaryAmount","secondaryAmount","subtitle","title"],"additionalProperties":false},"finality":{"type":"string","enum":["ledger-confirmed","product-record","simulated"]},"id":{"type":"string","minLength":1,"maxLength":128},"occurredAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"operationId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"null"}]},"status":{"type":"string","enum":["recorded","pending","confirmed","failed"]},"details":{"type":"object","properties":{"amount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"counterpartyHint":{"type":"string","minLength":1,"maxLength":100},"instrumentId":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":512},"id":{"type":"string","minLength":1,"maxLength":512}},"required":["admin","id"],"additionalProperties":false},"ccDebitCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"feeCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"memo":{"anyOf":[{"type":"string","minLength":1,"maxLength":280},{"type":"null"}]},"symbol":{"type":"string","minLength":1,"maxLength":32},"userMemo":{"type":"string","minLength":1,"maxLength":128}},"required":["amount","counterpartyHint","instrumentId","ccDebitCc","feeCc","memo","symbol"],"additionalProperties":false},"kind":{"type":"string","const":"send"}},"required":["display","finality","id","occurredAt","operationId","status","details","kind"],"additionalProperties":false},{"type":"object","properties":{"display":{"type":"object","properties":{"primaryAmount":{"type":"object","properties":{"amount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"sign":{"type":"string","enum":["credit","debit","neutral"]},"symbol":{"type":"string","minLength":1,"maxLength":32}},"required":["amount","sign","symbol"],"additionalProperties":false},"secondaryAmount":{"anyOf":[{"type":"object","properties":{"amount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"sign":{"type":"string","enum":["credit","debit","neutral"]},"symbol":{"type":"string","minLength":1,"maxLength":32}},"required":["amount","sign","symbol"],"additionalProperties":false},{"type":"null"}]},"subtitle":{"type":"string","minLength":1,"maxLength":200},"title":{"type":"string","minLength":1,"maxLength":100}},"required":["primaryAmount","secondaryAmount","subtitle","title"],"additionalProperties":false},"finality":{"type":"string","enum":["ledger-confirmed","product-record","simulated"]},"id":{"type":"string","minLength":1,"maxLength":128},"occurredAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"operationId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"null"}]},"status":{"type":"string","enum":["recorded","pending","confirmed","failed"]},"details":{"type":"object","properties":{"amountCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"sourceHint":{"type":"string","minLength":1,"maxLength":100}},"required":["amountCc","sourceHint"],"additionalProperties":false},"kind":{"type":"string","const":"deposit"}},"required":["display","finality","id","occurredAt","operationId","status","details","kind"],"additionalProperties":false},{"type":"object","properties":{"display":{"type":"object","properties":{"primaryAmount":{"type":"object","properties":{"amount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"sign":{"type":"string","enum":["credit","debit","neutral"]},"symbol":{"type":"string","minLength":1,"maxLength":32}},"required":["amount","sign","symbol"],"additionalProperties":false},"secondaryAmount":{"anyOf":[{"type":"object","properties":{"amount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"sign":{"type":"string","enum":["credit","debit","neutral"]},"symbol":{"type":"string","minLength":1,"maxLength":32}},"required":["amount","sign","symbol"],"additionalProperties":false},{"type":"null"}]},"subtitle":{"type":"string","minLength":1,"maxLength":200},"title":{"type":"string","minLength":1,"maxLength":100}},"required":["primaryAmount","secondaryAmount","subtitle","title"],"additionalProperties":false},"finality":{"type":"string","enum":["ledger-confirmed","product-record","simulated"]},"id":{"type":"string","minLength":1,"maxLength":128},"occurredAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"operationId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"null"}]},"status":{"type":"string","enum":["recorded","pending","confirmed","failed"]},"details":{"type":"object","properties":{"creationFeeCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"launchReference":{"type":"string","minLength":1,"maxLength":128},"token":{"type":"object","properties":{"instrumentId":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":512},"id":{"type":"string","minLength":1,"maxLength":512}},"required":["admin","id"],"additionalProperties":false},"name":{"type":"string","minLength":1,"maxLength":100},"slug":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?$"},"ticker":{"type":"string","minLength":1,"maxLength":16}},"required":["instrumentId","name","slug","ticker"],"additionalProperties":false}},"required":["creationFeeCc","launchReference","token"],"additionalProperties":false},"kind":{"type":"string","const":"launch"}},"required":["display","finality","id","occurredAt","operationId","status","details","kind"],"additionalProperties":false},{"type":"object","properties":{"display":{"type":"object","properties":{"primaryAmount":{"type":"object","properties":{"amount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"sign":{"type":"string","enum":["credit","debit","neutral"]},"symbol":{"type":"string","minLength":1,"maxLength":32}},"required":["amount","sign","symbol"],"additionalProperties":false},"secondaryAmount":{"anyOf":[{"type":"object","properties":{"amount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"sign":{"type":"string","enum":["credit","debit","neutral"]},"symbol":{"type":"string","minLength":1,"maxLength":32}},"required":["amount","sign","symbol"],"additionalProperties":false},{"type":"null"}]},"subtitle":{"type":"string","minLength":1,"maxLength":200},"title":{"type":"string","minLength":1,"maxLength":100}},"required":["primaryAmount","secondaryAmount","subtitle","title"],"additionalProperties":false},"finality":{"type":"string","enum":["ledger-confirmed","product-record","simulated"]},"id":{"type":"string","minLength":1,"maxLength":128},"occurredAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"operationId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"null"}]},"status":{"type":"string","enum":["recorded","pending","confirmed","failed"]},"details":{"type":"object","properties":{"graduationThresholdCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"token":{"type":"object","properties":{"instrumentId":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":512},"id":{"type":"string","minLength":1,"maxLength":512}},"required":["admin","id"],"additionalProperties":false},"name":{"type":"string","minLength":1,"maxLength":100},"slug":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?$"},"ticker":{"type":"string","minLength":1,"maxLength":16}},"required":["instrumentId","name","slug","ticker"],"additionalProperties":false}},"required":["graduationThresholdCc","token"],"additionalProperties":false},"kind":{"type":"string","const":"graduation"}},"required":["display","finality","id","occurredAt","operationId","status","details","kind"],"additionalProperties":false},{"type":"object","properties":{"display":{"type":"object","properties":{"primaryAmount":{"type":"object","properties":{"amount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"sign":{"type":"string","enum":["credit","debit","neutral"]},"symbol":{"type":"string","minLength":1,"maxLength":32}},"required":["amount","sign","symbol"],"additionalProperties":false},"secondaryAmount":{"anyOf":[{"type":"object","properties":{"amount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"sign":{"type":"string","enum":["credit","debit","neutral"]},"symbol":{"type":"string","minLength":1,"maxLength":32}},"required":["amount","sign","symbol"],"additionalProperties":false},{"type":"null"}]},"subtitle":{"type":"string","minLength":1,"maxLength":200},"title":{"type":"string","minLength":1,"maxLength":100}},"required":["primaryAmount","secondaryAmount","subtitle","title"],"additionalProperties":false},"finality":{"type":"string","enum":["ledger-confirmed","product-record","simulated"]},"id":{"type":"string","minLength":1,"maxLength":128},"occurredAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"operationId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"null"}]},"status":{"type":"string","enum":["recorded","pending","confirmed","failed"]},"details":{"type":"object","properties":{"amountCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"distributionReference":{"type":"string","minLength":1,"maxLength":128},"token":{"type":"object","properties":{"instrumentId":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":512},"id":{"type":"string","minLength":1,"maxLength":512}},"required":["admin","id"],"additionalProperties":false},"name":{"type":"string","minLength":1,"maxLength":100},"slug":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?$"},"ticker":{"type":"string","minLength":1,"maxLength":16}},"required":["instrumentId","name","slug","ticker"],"additionalProperties":false}},"required":["amountCc","distributionReference","token"],"additionalProperties":false},"kind":{"type":"string","const":"creator_reward"}},"required":["display","finality","id","occurredAt","operationId","status","details","kind"],"additionalProperties":false}]},"explorerReference":{"oneOf":[{"type":"object","properties":{"enabled":{"type":"boolean","const":false},"reason":{"type":"string","enum":["authoritative-update-unavailable","explorer-not-approved"]},"sourceAuthority":{"type":"null"},"updateId":{"type":"null"},"url":{"type":"null"}},"required":["enabled","reason","sourceAuthority","updateId","url"],"additionalProperties":false},{"type":"object","properties":{"appStage":{"type":"string","enum":["local","preview","devnet","mainnet"]},"enabled":{"type":"boolean","const":true},"networkId":{"type":"string","pattern":"^canton:[-_a-zA-Z0-9]{1,32}$"},"reason":{"type":"null"},"sourceAuthority":{"type":"string","const":"canton-ledger-projection"},"synchronizerId":{"type":"string","minLength":1,"maxLength":512},"updateId":{"type":"string","minLength":1,"maxLength":512},"url":{"type":"string","maxLength":2048,"format":"uri","description":"Backend-derived URL from the stage-pinned explorer prefix and authoritative update ID; never projection-supplied.","pattern":"^https://"}},"required":["appStage","enabled","networkId","reason","sourceAuthority","synchronizerId","updateId","url"],"additionalProperties":false}]},"meta":{"type":"object","properties":{"asOf":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"dataMode":{"type":"string","enum":["projected","simulated"]},"disclaimer":{"type":"string","minLength":1,"maxLength":1024},"networkId":{"type":"string","pattern":"^canton:[-_a-zA-Z0-9]{1,32}$"},"schemaVersion":{"type":"string","const":"1"}},"required":["asOf","dataMode","disclaimer","networkId","schemaVersion"],"additionalProperties":false}},"required":["activity","explorerReference","meta"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The activity identifier is invalid. Also: `VALIDATION_FAILED`, `AMBIGUOUS_CREDENTIALS`, `SERVICE_ACT_AS_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"A valid product account is required. Also: `AUTHENTICATION_REQUIRED`, `INVALID_AUTHORIZATION_HEADER`, `INVALID_ACCESS_TOKEN`, `SESSION_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Codes: `ACCOUNT_RESTRICTED`, `ANONYMOUS_ACCOUNT_NOT_ALLOWED`, `API_KEY_ROUTE_NOT_ALLOWED`, `SERVICE_PARTY_NOT_ALLOWED`, `SERVICE_PRINCIPAL_NOT_ALLOWED`, `SIGNUP_NOT_INVITED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"No matching activity exists for this account.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"A reviewed Canton activity projection is not configured. Also: `AUTHENTICATION_UNAVAILABLE`, `AUTHORIZATION_UNAVAILABLE`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{"bearer":[]}],"summary":"Read one owned typed transaction record for the authenticated account.","tags":["superapp wallet"]}},"/api/v1/me/activity":{"get":{"operationId":"SuperappWalletController_activity_v1","parameters":[{"name":"limit","required":false,"in":"query","schema":{"default":20,"maximum":50,"minimum":1,"type":"integer"}},{"name":"cursor","required":false,"in":"query","schema":{"maxLength":512,"minLength":1,"type":"string"}},{"name":"to","required":false,"in":"query","schema":{"format":"date-time","type":"string"}},{"name":"from","required":false,"in":"query","schema":{"format":"date-time","type":"string"}},{"name":"status","required":false,"in":"query","schema":{"enum":["recorded","pending","confirmed","failed"],"type":"string"}},{"name":"q","required":false,"in":"query","schema":{"maxLength":100,"minLength":1,"type":"string"}},{"name":"group","required":false,"in":"query","schema":{"enum":["trades","transfers","rewards","launches","deposits","graduations"],"type":"string"}},{"name":"kind","required":false,"in":"query","schema":{"enum":["buy","sell","swap","send","deposit","launch","graduation","creator_reward"],"type":"string"}},{"$ref":"#/components/parameters/ServiceActAs"},{"$ref":"#/components/parameters/RequestId"}],"responses":{"200":{"description":"Typed, cursor-paginated activity cards.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"display":{"type":"object","properties":{"primaryAmount":{"type":"object","properties":{"amount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"sign":{"type":"string","enum":["credit","debit","neutral"]},"symbol":{"type":"string","minLength":1,"maxLength":32}},"required":["amount","sign","symbol"],"additionalProperties":false},"secondaryAmount":{"anyOf":[{"type":"object","properties":{"amount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"sign":{"type":"string","enum":["credit","debit","neutral"]},"symbol":{"type":"string","minLength":1,"maxLength":32}},"required":["amount","sign","symbol"],"additionalProperties":false},{"type":"null"}]},"subtitle":{"type":"string","minLength":1,"maxLength":200},"title":{"type":"string","minLength":1,"maxLength":100}},"required":["primaryAmount","secondaryAmount","subtitle","title"],"additionalProperties":false},"finality":{"type":"string","enum":["ledger-confirmed","product-record","simulated"]},"id":{"type":"string","minLength":1,"maxLength":128},"occurredAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"operationId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"null"}]},"status":{"type":"string","enum":["recorded","pending","confirmed","failed"]},"details":{"type":"object","properties":{"feeCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"notionalCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"quoteReference":{"type":"string","minLength":1,"maxLength":128},"token":{"type":"object","properties":{"instrumentId":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":512},"id":{"type":"string","minLength":1,"maxLength":512}},"required":["admin","id"],"additionalProperties":false},"name":{"type":"string","minLength":1,"maxLength":100},"slug":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?$"},"ticker":{"type":"string","minLength":1,"maxLength":16}},"required":["instrumentId","name","slug","ticker"],"additionalProperties":false},"tokenAmount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"unitPriceCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["feeCc","notionalCc","quoteReference","token","tokenAmount","unitPriceCc"],"additionalProperties":false},"kind":{"type":"string","const":"buy"}},"required":["display","finality","id","occurredAt","operationId","status","details","kind"],"additionalProperties":false},{"type":"object","properties":{"display":{"type":"object","properties":{"primaryAmount":{"type":"object","properties":{"amount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"sign":{"type":"string","enum":["credit","debit","neutral"]},"symbol":{"type":"string","minLength":1,"maxLength":32}},"required":["amount","sign","symbol"],"additionalProperties":false},"secondaryAmount":{"anyOf":[{"type":"object","properties":{"amount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"sign":{"type":"string","enum":["credit","debit","neutral"]},"symbol":{"type":"string","minLength":1,"maxLength":32}},"required":["amount","sign","symbol"],"additionalProperties":false},{"type":"null"}]},"subtitle":{"type":"string","minLength":1,"maxLength":200},"title":{"type":"string","minLength":1,"maxLength":100}},"required":["primaryAmount","secondaryAmount","subtitle","title"],"additionalProperties":false},"finality":{"type":"string","enum":["ledger-confirmed","product-record","simulated"]},"id":{"type":"string","minLength":1,"maxLength":128},"occurredAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"operationId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"null"}]},"status":{"type":"string","enum":["recorded","pending","confirmed","failed"]},"details":{"type":"object","properties":{"feeCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"netProceedsCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"notionalCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"quoteReference":{"type":"string","minLength":1,"maxLength":128},"token":{"type":"object","properties":{"instrumentId":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":512},"id":{"type":"string","minLength":1,"maxLength":512}},"required":["admin","id"],"additionalProperties":false},"name":{"type":"string","minLength":1,"maxLength":100},"slug":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?$"},"ticker":{"type":"string","minLength":1,"maxLength":16}},"required":["instrumentId","name","slug","ticker"],"additionalProperties":false},"tokenAmount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"unitPriceCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["feeCc","netProceedsCc","notionalCc","quoteReference","token","tokenAmount","unitPriceCc"],"additionalProperties":false},"kind":{"type":"string","const":"sell"}},"required":["display","finality","id","occurredAt","operationId","status","details","kind"],"additionalProperties":false},{"type":"object","properties":{"display":{"type":"object","properties":{"primaryAmount":{"type":"object","properties":{"amount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"sign":{"type":"string","enum":["credit","debit","neutral"]},"symbol":{"type":"string","minLength":1,"maxLength":32}},"required":["amount","sign","symbol"],"additionalProperties":false},"secondaryAmount":{"anyOf":[{"type":"object","properties":{"amount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"sign":{"type":"string","enum":["credit","debit","neutral"]},"symbol":{"type":"string","minLength":1,"maxLength":32}},"required":["amount","sign","symbol"],"additionalProperties":false},{"type":"null"}]},"subtitle":{"type":"string","minLength":1,"maxLength":200},"title":{"type":"string","minLength":1,"maxLength":100}},"required":["primaryAmount","secondaryAmount","subtitle","title"],"additionalProperties":false},"finality":{"type":"string","enum":["ledger-confirmed","product-record","simulated"]},"id":{"type":"string","minLength":1,"maxLength":128},"occurredAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"operationId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"null"}]},"status":{"type":"string","enum":["recorded","pending","confirmed","failed"]},"details":{"type":"object","properties":{"feeCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"input":{"type":"object","properties":{"instrumentId":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":512},"id":{"type":"string","minLength":1,"maxLength":512}},"required":["admin","id"],"additionalProperties":false},"slug":{"anyOf":[{"type":"string","minLength":1,"maxLength":64},{"type":"null"}]},"symbol":{"type":"string","minLength":1,"maxLength":32},"amount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["instrumentId","slug","symbol","amount"],"additionalProperties":false},"notionalCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"output":{"type":"object","properties":{"instrumentId":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":512},"id":{"type":"string","minLength":1,"maxLength":512}},"required":["admin","id"],"additionalProperties":false},"slug":{"anyOf":[{"type":"string","minLength":1,"maxLength":64},{"type":"null"}]},"symbol":{"type":"string","minLength":1,"maxLength":32},"amount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["instrumentId","slug","symbol","amount"],"additionalProperties":false},"quoteReference":{"type":"string","minLength":1,"maxLength":128},"route":{"minItems":2,"maxItems":8,"type":"array","items":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":512},"id":{"type":"string","minLength":1,"maxLength":512}},"required":["admin","id"],"additionalProperties":false}}},"required":["feeCc","input","notionalCc","output","quoteReference","route"],"additionalProperties":false},"kind":{"type":"string","const":"swap"}},"required":["display","finality","id","occurredAt","operationId","status","details","kind"],"additionalProperties":false},{"type":"object","properties":{"display":{"type":"object","properties":{"primaryAmount":{"type":"object","properties":{"amount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"sign":{"type":"string","enum":["credit","debit","neutral"]},"symbol":{"type":"string","minLength":1,"maxLength":32}},"required":["amount","sign","symbol"],"additionalProperties":false},"secondaryAmount":{"anyOf":[{"type":"object","properties":{"amount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"sign":{"type":"string","enum":["credit","debit","neutral"]},"symbol":{"type":"string","minLength":1,"maxLength":32}},"required":["amount","sign","symbol"],"additionalProperties":false},{"type":"null"}]},"subtitle":{"type":"string","minLength":1,"maxLength":200},"title":{"type":"string","minLength":1,"maxLength":100}},"required":["primaryAmount","secondaryAmount","subtitle","title"],"additionalProperties":false},"finality":{"type":"string","enum":["ledger-confirmed","product-record","simulated"]},"id":{"type":"string","minLength":1,"maxLength":128},"occurredAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"operationId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"null"}]},"status":{"type":"string","enum":["recorded","pending","confirmed","failed"]},"details":{"type":"object","properties":{"amount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"counterpartyHint":{"type":"string","minLength":1,"maxLength":100},"instrumentId":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":512},"id":{"type":"string","minLength":1,"maxLength":512}},"required":["admin","id"],"additionalProperties":false},"ccDebitCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"feeCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"memo":{"anyOf":[{"type":"string","minLength":1,"maxLength":280},{"type":"null"}]},"symbol":{"type":"string","minLength":1,"maxLength":32},"userMemo":{"type":"string","minLength":1,"maxLength":128}},"required":["amount","counterpartyHint","instrumentId","ccDebitCc","feeCc","memo","symbol"],"additionalProperties":false},"kind":{"type":"string","const":"send"}},"required":["display","finality","id","occurredAt","operationId","status","details","kind"],"additionalProperties":false},{"type":"object","properties":{"display":{"type":"object","properties":{"primaryAmount":{"type":"object","properties":{"amount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"sign":{"type":"string","enum":["credit","debit","neutral"]},"symbol":{"type":"string","minLength":1,"maxLength":32}},"required":["amount","sign","symbol"],"additionalProperties":false},"secondaryAmount":{"anyOf":[{"type":"object","properties":{"amount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"sign":{"type":"string","enum":["credit","debit","neutral"]},"symbol":{"type":"string","minLength":1,"maxLength":32}},"required":["amount","sign","symbol"],"additionalProperties":false},{"type":"null"}]},"subtitle":{"type":"string","minLength":1,"maxLength":200},"title":{"type":"string","minLength":1,"maxLength":100}},"required":["primaryAmount","secondaryAmount","subtitle","title"],"additionalProperties":false},"finality":{"type":"string","enum":["ledger-confirmed","product-record","simulated"]},"id":{"type":"string","minLength":1,"maxLength":128},"occurredAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"operationId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"null"}]},"status":{"type":"string","enum":["recorded","pending","confirmed","failed"]},"details":{"type":"object","properties":{"amountCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"sourceHint":{"type":"string","minLength":1,"maxLength":100}},"required":["amountCc","sourceHint"],"additionalProperties":false},"kind":{"type":"string","const":"deposit"}},"required":["display","finality","id","occurredAt","operationId","status","details","kind"],"additionalProperties":false},{"type":"object","properties":{"display":{"type":"object","properties":{"primaryAmount":{"type":"object","properties":{"amount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"sign":{"type":"string","enum":["credit","debit","neutral"]},"symbol":{"type":"string","minLength":1,"maxLength":32}},"required":["amount","sign","symbol"],"additionalProperties":false},"secondaryAmount":{"anyOf":[{"type":"object","properties":{"amount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"sign":{"type":"string","enum":["credit","debit","neutral"]},"symbol":{"type":"string","minLength":1,"maxLength":32}},"required":["amount","sign","symbol"],"additionalProperties":false},{"type":"null"}]},"subtitle":{"type":"string","minLength":1,"maxLength":200},"title":{"type":"string","minLength":1,"maxLength":100}},"required":["primaryAmount","secondaryAmount","subtitle","title"],"additionalProperties":false},"finality":{"type":"string","enum":["ledger-confirmed","product-record","simulated"]},"id":{"type":"string","minLength":1,"maxLength":128},"occurredAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"operationId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"null"}]},"status":{"type":"string","enum":["recorded","pending","confirmed","failed"]},"details":{"type":"object","properties":{"creationFeeCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"launchReference":{"type":"string","minLength":1,"maxLength":128},"token":{"type":"object","properties":{"instrumentId":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":512},"id":{"type":"string","minLength":1,"maxLength":512}},"required":["admin","id"],"additionalProperties":false},"name":{"type":"string","minLength":1,"maxLength":100},"slug":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?$"},"ticker":{"type":"string","minLength":1,"maxLength":16}},"required":["instrumentId","name","slug","ticker"],"additionalProperties":false}},"required":["creationFeeCc","launchReference","token"],"additionalProperties":false},"kind":{"type":"string","const":"launch"}},"required":["display","finality","id","occurredAt","operationId","status","details","kind"],"additionalProperties":false},{"type":"object","properties":{"display":{"type":"object","properties":{"primaryAmount":{"type":"object","properties":{"amount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"sign":{"type":"string","enum":["credit","debit","neutral"]},"symbol":{"type":"string","minLength":1,"maxLength":32}},"required":["amount","sign","symbol"],"additionalProperties":false},"secondaryAmount":{"anyOf":[{"type":"object","properties":{"amount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"sign":{"type":"string","enum":["credit","debit","neutral"]},"symbol":{"type":"string","minLength":1,"maxLength":32}},"required":["amount","sign","symbol"],"additionalProperties":false},{"type":"null"}]},"subtitle":{"type":"string","minLength":1,"maxLength":200},"title":{"type":"string","minLength":1,"maxLength":100}},"required":["primaryAmount","secondaryAmount","subtitle","title"],"additionalProperties":false},"finality":{"type":"string","enum":["ledger-confirmed","product-record","simulated"]},"id":{"type":"string","minLength":1,"maxLength":128},"occurredAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"operationId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"null"}]},"status":{"type":"string","enum":["recorded","pending","confirmed","failed"]},"details":{"type":"object","properties":{"graduationThresholdCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"token":{"type":"object","properties":{"instrumentId":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":512},"id":{"type":"string","minLength":1,"maxLength":512}},"required":["admin","id"],"additionalProperties":false},"name":{"type":"string","minLength":1,"maxLength":100},"slug":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?$"},"ticker":{"type":"string","minLength":1,"maxLength":16}},"required":["instrumentId","name","slug","ticker"],"additionalProperties":false}},"required":["graduationThresholdCc","token"],"additionalProperties":false},"kind":{"type":"string","const":"graduation"}},"required":["display","finality","id","occurredAt","operationId","status","details","kind"],"additionalProperties":false},{"type":"object","properties":{"display":{"type":"object","properties":{"primaryAmount":{"type":"object","properties":{"amount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"sign":{"type":"string","enum":["credit","debit","neutral"]},"symbol":{"type":"string","minLength":1,"maxLength":32}},"required":["amount","sign","symbol"],"additionalProperties":false},"secondaryAmount":{"anyOf":[{"type":"object","properties":{"amount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"sign":{"type":"string","enum":["credit","debit","neutral"]},"symbol":{"type":"string","minLength":1,"maxLength":32}},"required":["amount","sign","symbol"],"additionalProperties":false},{"type":"null"}]},"subtitle":{"type":"string","minLength":1,"maxLength":200},"title":{"type":"string","minLength":1,"maxLength":100}},"required":["primaryAmount","secondaryAmount","subtitle","title"],"additionalProperties":false},"finality":{"type":"string","enum":["ledger-confirmed","product-record","simulated"]},"id":{"type":"string","minLength":1,"maxLength":128},"occurredAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"operationId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"null"}]},"status":{"type":"string","enum":["recorded","pending","confirmed","failed"]},"details":{"type":"object","properties":{"amountCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"distributionReference":{"type":"string","minLength":1,"maxLength":128},"token":{"type":"object","properties":{"instrumentId":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":512},"id":{"type":"string","minLength":1,"maxLength":512}},"required":["admin","id"],"additionalProperties":false},"name":{"type":"string","minLength":1,"maxLength":100},"slug":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?$"},"ticker":{"type":"string","minLength":1,"maxLength":16}},"required":["instrumentId","name","slug","ticker"],"additionalProperties":false}},"required":["amountCc","distributionReference","token"],"additionalProperties":false},"kind":{"type":"string","const":"creator_reward"}},"required":["display","finality","id","occurredAt","operationId","status","details","kind"],"additionalProperties":false}]}},"meta":{"type":"object","properties":{"asOf":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"dataMode":{"type":"string","enum":["projected","simulated"]},"disclaimer":{"type":"string","minLength":1,"maxLength":1024},"networkId":{"type":"string","pattern":"^canton:[-_a-zA-Z0-9]{1,32}$"},"schemaVersion":{"type":"string","const":"1"}},"required":["asOf","dataMode","disclaimer","networkId","schemaVersion"],"additionalProperties":false},"page":{"type":"object","properties":{"hasMore":{"type":"boolean"},"limit":{"type":"integer","minimum":1,"maximum":50},"nextCursor":{"anyOf":[{"type":"string","maxLength":512},{"type":"null"}]},"total":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["hasMore","limit","nextCursor","total"],"additionalProperties":false}},"required":["items","meta","page"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"Invalid activity filters or pagination cursor. Also: `VALIDATION_FAILED`, `AMBIGUOUS_CREDENTIALS`, `SERVICE_ACT_AS_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `AUTHENTICATION_REQUIRED`, `INVALID_AUTHORIZATION_HEADER`, `INVALID_ACCESS_TOKEN`, `SESSION_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Codes: `ACCOUNT_RESTRICTED`, `ANONYMOUS_ACCOUNT_NOT_ALLOWED`, `API_KEY_ROUTE_NOT_ALLOWED`, `SERVICE_PARTY_NOT_ALLOWED`, `SERVICE_PRINCIPAL_NOT_ALLOWED`, `SIGNUP_NOT_INVITED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"A reviewed Canton activity projection is not configured. Also: `AUTHENTICATION_UNAVAILABLE`, `AUTHORIZATION_UNAVAILABLE`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{"bearer":[]}],"summary":"List typed transaction cards for the authenticated account.","tags":["superapp wallet"]}},"/api/v1/me/positions":{"get":{"operationId":"SuperappPositionsController_list_v1","parameters":[{"name":"instrumentAdmin","required":false,"in":"query","schema":{"type":"string","minLength":1,"maxLength":512}},{"name":"instrumentId","required":false,"in":"query","schema":{"type":"string","minLength":1,"maxLength":512}},{"$ref":"#/components/parameters/ServiceActAs"},{"$ref":"#/components/parameters/RequestId"}],"responses":{"200":{"description":"Positions with accounting method, completeness, reconciliation and as-of offset.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"instrumentId":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":512},"id":{"type":"string","minLength":1,"maxLength":512}},"required":["admin","id"],"additionalProperties":false},"ticker":{"anyOf":[{"type":"string","minLength":1,"maxLength":32},{"type":"null"}]},"slug":{"anyOf":[{"type":"string","minLength":1,"maxLength":128},{"type":"null"}]},"quantity":{"type":"object","properties":{"held":{"type":"string","pattern":"^(?:0|[1-9]\\d*)(?:\\.\\d+)?$","description":"Current holdings, available plus locked."},"available":{"type":"string","pattern":"^(?:0|[1-9]\\d*)(?:\\.\\d+)?$"},"locked":{"type":"string","pattern":"^(?:0|[1-9]\\d*)(?:\\.\\d+)?$"}},"required":["held","available","locked"],"additionalProperties":false},"reconciliation":{"type":"object","properties":{"matched":{"type":"boolean","description":"The replayed history (fills and transfers) reproduces the held quantity."},"replayedQuantity":{"type":"string","pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$"},"fillNetQuantity":{"type":"string","pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$","description":"Bought minus sold, lifetime."},"transferInQuantity":{"type":"string","pattern":"^(?:0|[1-9]\\d*)(?:\\.\\d+)?$"},"transferOutQuantity":{"type":"string","pattern":"^(?:0|[1-9]\\d*)(?:\\.\\d+)?$"}},"required":["matched","replayedQuantity","fillNetQuantity","transferInQuantity","transferOutQuantity"],"additionalProperties":false},"accounting":{"type":"object","properties":{"complete":{"type":"boolean","description":"True only when the full ledger history was read, it reproduces the held quantity, and every token of the current position has a known cost."},"incompleteReason":{"anyOf":[{"type":"string","enum":["transfer-in-without-cost","removal-exceeds-history","history-before-query-store","quantity-mismatch"]},{"type":"null"}]},"costBasisCc":{"anyOf":[{"type":"string","pattern":"^(?:0|[1-9]\\d*)(?:\\.\\d+)?$"},{"type":"null"}],"description":"Remaining cost of the held tokens, buy fees included; null when unknown."},"buyFeesInBasisCc":{"anyOf":[{"type":"string","pattern":"^(?:0|[1-9]\\d*)(?:\\.\\d+)?$"},{"type":"null"}]},"averageEntryCc":{"anyOf":[{"type":"string","pattern":"^(?:0|[1-9]\\d*)(?:\\.\\d+)?$"},{"type":"null"}],"description":"costBasisCc / held; null when unknown or nothing is held."},"positionOpenedAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"lastMovementAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"counts":{"type":"object","properties":{"buys":{"type":"integer","minimum":0,"maximum":9007199254740991},"sells":{"type":"integer","minimum":0,"maximum":9007199254740991},"transfersIn":{"type":"integer","minimum":0,"maximum":9007199254740991},"transfersOut":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["buys","sells","transfersIn","transfersOut"],"additionalProperties":false}},"required":["complete","incompleteReason","costBasisCc","buyFeesInBasisCc","averageEntryCc","positionOpenedAt","lastMovementAt","counts"],"additionalProperties":false},"valuation":{"type":"object","properties":{"priceCc":{"anyOf":[{"type":"string","pattern":"^(?:0|[1-9]\\d*)(?:\\.\\d+)?$"},{"type":"null"}],"description":"Current market price, CC per token."},"currentValueCc":{"anyOf":[{"type":"string","pattern":"^(?:0|[1-9]\\d*)(?:\\.\\d+)?$"},{"type":"null"}]},"unrealizedPnlCc":{"anyOf":[{"type":"string","pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$"},{"type":"null"}],"description":"currentValueCc - costBasisCc, before sale fees and slippage; null without a complete basis or a price."},"unrealizedPnlPercent":{"anyOf":[{"type":"string","pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$"},{"type":"null"}]},"usd":{"anyOf":[{"type":"object","properties":{"rateUsdPerCc":{"type":"string","pattern":"^(?:0|[1-9]\\d*)(?:\\.\\d+)?$"},"priceUsd":{"anyOf":[{"type":"string","pattern":"^(?:0|[1-9]\\d*)(?:\\.\\d+)?$"},{"type":"null"}]},"currentValueUsd":{"anyOf":[{"type":"string","pattern":"^(?:0|[1-9]\\d*)(?:\\.\\d+)?$"},{"type":"null"}]},"costBasisUsd":{"anyOf":[{"type":"string","pattern":"^(?:0|[1-9]\\d*)(?:\\.\\d+)?$"},{"type":"null"}]},"averageEntryUsd":{"anyOf":[{"type":"string","pattern":"^(?:0|[1-9]\\d*)(?:\\.\\d+)?$"},{"type":"null"}]},"unrealizedPnlUsd":{"anyOf":[{"type":"string","pattern":"^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$"},{"type":"null"}]}},"required":["rateUsdPerCc","priceUsd","currentValueUsd","costBasisUsd","averageEntryUsd","unrealizedPnlUsd"],"additionalProperties":false},{"type":"null"}],"description":"Every CC figure at the one current rate in meta.ccUsdQuote; no historical FX."}},"required":["priceCc","currentValueCc","unrealizedPnlCc","unrealizedPnlPercent","usd"],"additionalProperties":false}},"required":["instrumentId","ticker","slug","quantity","reconciliation","accounting","valuation"],"additionalProperties":false}},"meta":{"type":"object","properties":{"asOf":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"Ledger time of the newest transaction the read saw."},"asOfOffset":{"type":"string","pattern":"^\\d{1,19}$","description":"Ledger offset of the query store watermark the read saw."},"ccUsdQuote":{"anyOf":[{"type":"object","properties":{"asOf":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"When this backend fetched the rate."},"rateUsdPerCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$","description":"USD per CC."},"roundNumber":{"type":"integer","minimum":0,"maximum":9007199254740991},"source":{"type":"string","minLength":1,"maxLength":100},"stale":{"type":"boolean"}},"required":["asOf","rateUsdPerCc","roundNumber","source","stale"],"additionalProperties":false},{"type":"null"}]},"dataMode":{"type":"string","const":"projected"},"disclaimer":{"type":"string","minLength":1,"maxLength":1024},"historyComplete":{"type":"boolean","description":"The whole ledger history of the Party was read, without a window or row cap."},"method":{"type":"string","const":"weighted-average-cost"},"networkId":{"type":"string","pattern":"^canton:[-_a-zA-Z0-9]{1,32}$"},"partyId":{"anyOf":[{"type":"string","description":"Opaque, case-sensitive Canton Party ID containing 3-512 Unicode scalar values with no normalization, edge whitespace, or C0/C1 control characters.","minLength":3,"maxLength":512},{"type":"null"}]},"schemaVersion":{"type":"string","const":"1"}},"required":["asOf","asOfOffset","ccUsdQuote","dataMode","disclaimer","historyComplete","method","networkId","partyId","schemaVersion"],"additionalProperties":false}},"required":["items","meta"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"instrumentAdmin and instrumentId must come together. Also: `VALIDATION_FAILED`, `AMBIGUOUS_CREDENTIALS`, `SERVICE_ACT_AS_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"A valid product account is required. Also: `AUTHENTICATION_REQUIRED`, `INVALID_AUTHORIZATION_HEADER`, `INVALID_ACCESS_TOKEN`, `SESSION_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Codes: `ACCOUNT_RESTRICTED`, `ANONYMOUS_ACCOUNT_NOT_ALLOWED`, `API_KEY_ROUTE_NOT_ALLOWED`, `SERVICE_PARTY_NOT_ALLOWED`, `SERVICE_PRINCIPAL_NOT_ALLOWED`, `SIGNUP_NOT_INVITED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"A PQS-backed position read is not configured for this environment. Also: `AUTHENTICATION_UNAVAILABLE`, `AUTHORIZATION_UNAVAILABLE`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{"bearer":[]}],"summary":"Read the lifetime weighted-average cost position per instrument of the account’s verified wallet Party.","tags":["superapp wallet"]}},"/api/v1/swaps/quote":{"post":{"operationId":"SwapController_quote_v1","parameters":[{"$ref":"#/components/parameters/ServiceActAs"},{"$ref":"#/components/parameters/ApiKeyTimestamp"},{"$ref":"#/components/parameters/ApiKeyRecvWindow"},{"$ref":"#/components/parameters/ApiKeySignature"},{"$ref":"#/components/parameters/RequestId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"buyInstrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false},"sellAmount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"sellInstrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false},"slippageBps":{"default":100,"type":"integer","minimum":1,"maximum":5000},"walletConnectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"allowPartialFill":{"type":"boolean"}},"required":["buyInstrument","sellAmount","sellInstrument","walletConnectionId"],"additionalProperties":false}}}},"responses":{"201":{"description":"A simulated, short-lived preview quote.","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"authority":{"type":"object","properties":{"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"legs":{"minItems":1,"maxItems":2,"type":"array","items":{"oneOf":[{"type":"object","properties":{"creatorRevenue":{"oneOf":[{"type":"object","properties":{"eligibility":{"type":"string","const":"eligible"},"launchId":{"type":"string","minLength":1,"maxLength":96},"policy":{"type":"object","properties":{"hash":{"type":"string","const":"sha256:a926e0a380b3938648b5fa9898136638e1276128947cf94033e760f87a27e8b2"},"id":{"type":"string","const":"supanova-creator-revenue-policy"},"version":{"type":"string","const":"1"}},"required":["hash","id","version"],"additionalProperties":false},"protocolRootId":{"type":"string","minLength":1,"maxLength":160}},"required":["eligibility","launchId","policy","protocolRootId"],"additionalProperties":false},{"type":"object","properties":{"eligibility":{"type":"string","const":"ineligible"},"reason":{"type":"string","enum":["legacy-no-policy","not-supanova-launch","trader-cashback"]}},"required":["eligibility","reason"],"additionalProperties":false}]},"lifecycleEpoch":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"marketReference":{"type":"string","minLength":1,"maxLength":160},"marketRevision":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"nextMarketRevision":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"payInstrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false},"receiveInstrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false},"securityEpoch":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"after":{"type":"object","properties":{"formulaId":{"type":"string","const":"supanova-virtual-cpmm-v1"},"graduated":{"type":"boolean"},"graduationPercent":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"marginalPriceCcPerToken":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"netCcReserve":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"tokensRemaining":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"tokensSold":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["formulaId","graduated","graduationPercent","marginalPriceCcPerToken","netCcReserve","tokensRemaining","tokensSold"],"additionalProperties":false},"before":{"type":"object","properties":{"formulaId":{"type":"string","const":"supanova-virtual-cpmm-v1"},"graduated":{"type":"boolean"},"graduationPercent":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"marginalPriceCcPerToken":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"netCcReserve":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"tokensRemaining":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"tokensSold":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["formulaId","graduated","graduationPercent","marginalPriceCcPerToken","netCcReserve","tokensRemaining","tokensSold"],"additionalProperties":false},"formulaId":{"type":"string","const":"supanova-virtual-cpmm-v1"},"kind":{"type":"string","const":"virtual-cpmm"},"lifecycleStage":{"type":"string","enum":["ignition","near_escape"]},"limits":{"type":"object","properties":{"exactFinalGrossCc":{"anyOf":[{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},{"type":"null"}]},"inputAsset":{"type":"string","enum":["cc","token"]},"maximumInputAmount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"recovery":{"type":"string","enum":["exact-final-gross-or-smaller-buy","sell-all-or-leave-at-least-minimum"]}},"required":["exactFinalGrossCc","inputAsset","maximumInputAmount","recovery"],"additionalProperties":false}},"required":["creatorRevenue","lifecycleEpoch","marketReference","marketRevision","nextMarketRevision","payInstrument","receiveInstrument","securityEpoch","after","before","formulaId","kind","lifecycleStage","limits"],"additionalProperties":false},{"type":"object","properties":{"creatorRevenue":{"oneOf":[{"type":"object","properties":{"eligibility":{"type":"string","const":"eligible"},"launchId":{"type":"string","minLength":1,"maxLength":96},"policy":{"type":"object","properties":{"hash":{"type":"string","const":"sha256:a926e0a380b3938648b5fa9898136638e1276128947cf94033e760f87a27e8b2"},"id":{"type":"string","const":"supanova-creator-revenue-policy"},"version":{"type":"string","const":"1"}},"required":["hash","id","version"],"additionalProperties":false},"protocolRootId":{"type":"string","minLength":1,"maxLength":160}},"required":["eligibility","launchId","policy","protocolRootId"],"additionalProperties":false},{"type":"object","properties":{"eligibility":{"type":"string","const":"ineligible"},"reason":{"type":"string","enum":["legacy-no-policy","not-supanova-launch","trader-cashback"]}},"required":["eligibility","reason"],"additionalProperties":false}]},"lifecycleEpoch":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"marketReference":{"type":"string","minLength":1,"maxLength":160},"marketRevision":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"nextMarketRevision":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"payInstrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false},"receiveInstrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false},"securityEpoch":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"after":{"type":"object","properties":{"anchor":{"type":"string","enum":["cc-reserve","initial","token-reserve"]},"ccReserve":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"formulaId":{"type":"string","const":"supanova-real-cpmm-v1"},"invariant":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"marginalPriceCcPerToken":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"revision":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"tokenReserve":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["anchor","ccReserve","formulaId","invariant","marginalPriceCcPerToken","revision","tokenReserve"],"additionalProperties":false},"before":{"type":"object","properties":{"anchor":{"type":"string","enum":["cc-reserve","initial","token-reserve"]},"ccReserve":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"formulaId":{"type":"string","const":"supanova-real-cpmm-v1"},"invariant":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"marginalPriceCcPerToken":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"revision":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"tokenReserve":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["anchor","ccReserve","formulaId","invariant","marginalPriceCcPerToken","revision","tokenReserve"],"additionalProperties":false},"formulaId":{"type":"string","const":"supanova-real-cpmm-v1"},"kind":{"type":"string","const":"real-cpmm"},"lifecycleStage":{"type":"string","const":"in_orbit"},"limits":{"type":"object","properties":{"exactFinalGrossCc":{"type":"null"},"inputAsset":{"type":"string","enum":["cc","token"]},"maximumInputAmount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"recovery":{"type":"string","const":"refresh-on-revision-change"}},"required":["exactFinalGrossCc","inputAsset","maximumInputAmount","recovery"],"additionalProperties":false}},"required":["creatorRevenue","lifecycleEpoch","marketReference","marketRevision","nextMarketRevision","payInstrument","receiveInstrument","securityEpoch","after","before","formulaId","kind","lifecycleStage","limits"],"additionalProperties":false},{"type":"object","properties":{"creatorRevenue":{"oneOf":[{"type":"object","properties":{"eligibility":{"type":"string","const":"eligible"},"launchId":{"type":"string","minLength":1,"maxLength":96},"policy":{"type":"object","properties":{"hash":{"type":"string","const":"sha256:a926e0a380b3938648b5fa9898136638e1276128947cf94033e760f87a27e8b2"},"id":{"type":"string","const":"supanova-creator-revenue-policy"},"version":{"type":"string","const":"1"}},"required":["hash","id","version"],"additionalProperties":false},"protocolRootId":{"type":"string","minLength":1,"maxLength":160}},"required":["eligibility","launchId","policy","protocolRootId"],"additionalProperties":false},{"type":"object","properties":{"eligibility":{"type":"string","const":"ineligible"},"reason":{"type":"string","enum":["legacy-no-policy","not-supanova-launch","trader-cashback"]}},"required":["eligibility","reason"],"additionalProperties":false}]},"lifecycleEpoch":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"marketReference":{"type":"string","minLength":1,"maxLength":160},"marketRevision":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"nextMarketRevision":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"payInstrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false},"receiveInstrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false},"securityEpoch":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"after":{"type":"object","properties":{"priceCcPerToken":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"revision":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"}},"required":["priceCcPerToken","revision"],"additionalProperties":false},"before":{"type":"object","properties":{"priceCcPerToken":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"revision":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"}},"required":["priceCcPerToken","revision"],"additionalProperties":false},"formulaId":{"type":"string","const":"supanova-static-preview-v1"},"kind":{"type":"string","const":"static-preview"},"lifecycleStage":{"type":"string","const":"in_orbit"},"limits":{"type":"object","properties":{"exactFinalGrossCc":{"type":"null"},"inputAsset":{"type":"string","enum":["cc","token"]},"maximumInputAmount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"recovery":{"type":"string","const":"refresh-on-revision-change"}},"required":["exactFinalGrossCc","inputAsset","maximumInputAmount","recovery"],"additionalProperties":false}},"required":["creatorRevenue","lifecycleEpoch","marketReference","marketRevision","nextMarketRevision","payInstrument","receiveInstrument","securityEpoch","after","before","formulaId","kind","lifecycleStage","limits"],"additionalProperties":false}]}},"networkId":{"type":"string","pattern":"^canton:[-_a-zA-Z0-9]{1,32}$"},"policy":{"type":"object","properties":{"hash":{"type":"string","const":"sha256:1c1bcf37c26e0c4c84af752e9f76447a82f8b22ba8c851f1cf070eccc43f548e"},"snapshot":{"type":"object","properties":{"amm":{"type":"object","properties":{"authorizationMaxTtlSeconds":{"type":"number","const":900},"fee":{"type":"object","properties":{"asset":{"type":"string","const":"cc"},"buySide":{"type":"string","const":"deduct-from-gross-before-cc-enters-pool"},"policy":{"type":"string","const":"outside-active-reserves"},"rate":{"type":"string","const":"0.01"},"routing":{"type":"string","const":"creator-revenue-policy-outside-pool"},"sellSide":{"type":"string","const":"deduct-from-gross-cc-after-cc-leaves-pool"}},"required":["asset","buySide","policy","rate","routing","sellSide"],"additionalProperties":false},"formulaId":{"type":"string","const":"supanova-real-cpmm-v1"},"goldenManifestDigest":{"type":"string","const":"sha256:7fc5b0d592eaf85cb083775101efe73a099b404e6334cd85ac1683ac753626d0"},"invariant":{"type":"object","properties":{"anchor":{"type":"string","const":"50000000000000"},"anchorRelation":{"type":"string","const":"initial=exact-seed;buy=tokenReserve==round10(k/ccReserve);sell=ccReserve==round10(k/tokenReserve)"},"driftPolicy":{"type":"string","const":"reject-any-noncanonical-anchor-relation"},"transition":{"type":"string","const":"oppositeReserve=round10(k/nextInputReserve)"}},"required":["anchor","anchorRelation","driftPolicy","transition"],"additionalProperties":false},"initialRealCcReserve":{"type":"string","const":"250000"},"initialRealTokenReserve":{"type":"string","const":"200000000"},"lifecycle":{"type":"string","const":"atomic-graduation-seed-then-revisioned-real-reserve"},"minimumGrossBuyCc":{"type":"string","const":"0.01"},"minimumGrossSellCc":{"type":"string","const":"0.0099"},"minimumGrossSellDerivation":{"type":"string","const":"gross-cc-from-reserve-before-fee"},"numericScale":{"type":"number","const":10},"rounding":{"type":"object","properties":{"buyGrouping":{"type":"string","const":"fee=round10(gross*rate);net=round10(gross-fee);x1=round10(x+net);y1=round10(k/x1);out=round10(y-y1)"},"mode":{"type":"string","const":"ledger-decimal10-half-even-per-operation"},"sellGrouping":{"type":"string","const":"y1=round10(y+tokenIn);x1=round10(k/y1);gross=round10(x-x1);fee=round10(gross*rate);net=round10(gross-fee)"}},"required":["buyGrouping","mode","sellGrouping"],"additionalProperties":false},"rootUniquenessAssumption":{"type":"string","const":"participant-inventory-and-submission-policy-required"},"settlementReadiness":{"type":"string","const":"external-settlement-adapter-unproven"}},"required":["authorizationMaxTtlSeconds","fee","formulaId","goldenManifestDigest","invariant","initialRealCcReserve","initialRealTokenReserve","lifecycle","minimumGrossBuyCc","minimumGrossSellCc","minimumGrossSellDerivation","numericScale","rounding","rootUniquenessAssumption","settlementReadiness"],"additionalProperties":false},"curve":{"type":"object","properties":{"formulaId":{"type":"string","const":"supanova-virtual-cpmm-v1"},"policyHash":{"type":"string","const":"sha256:c843cc6204a25e687e40fff5f8033416031fb28d191f40b00e530855d70dd0ce"}},"required":["formulaId","policyHash"],"additionalProperties":false},"creatorRevenue":{"type":"object","properties":{"allocationBinding":{"type":"string","const":"one-exact-allocation-per-route-leg"},"hash":{"type":"string","const":"sha256:a926e0a380b3938648b5fa9898136638e1276128947cf94033e760f87a27e8b2"},"id":{"type":"string","const":"supanova-creator-revenue-policy"},"version":{"type":"string","const":"1"}},"required":["allocationBinding","hash","id","version"],"additionalProperties":false},"policyId":{"type":"string","const":"supanova-swap-quote-policy"},"policyVersion":{"type":"string","const":"3"},"quote":{"type":"object","properties":{"authorityLegBinding":{"type":"string","const":"explicit-pay-and-receive-instruments"},"creatorRevenueLegBinding":{"type":"string","const":"exact-launch-lineage-policy-and-allocation-per-leg"},"expirySeconds":{"type":"number","const":30},"marketReferenceUniqueness":{"type":"string","const":"unique-within-route"},"minimumOutputMaximumQuoted":{"type":"string","const":"999999999999999999999999.9999999999"},"minimumOutputRounding":{"type":"string","const":"ledger-decimal10-round-down"},"replayDomain":{"type":"string","const":"supanova.swap.quote.v2"},"revisionBinding":{"type":"string","const":"dynamic-next-equals-current-plus-one;static-next-equals-current"},"singleUse":{"type":"boolean","const":true}},"required":["authorityLegBinding","creatorRevenueLegBinding","expirySeconds","marketReferenceUniqueness","minimumOutputMaximumQuoted","minimumOutputRounding","replayDomain","revisionBinding","singleUse"],"additionalProperties":false}},"required":["amm","curve","creatorRevenue","policyId","policyVersion","quote"],"additionalProperties":false},"version":{"type":"string","const":"3"}},"required":["hash","snapshot","version"],"additionalProperties":false},"replay":{"type":"object","properties":{"digest":{"type":"string","pattern":"^sha256:[0-9a-f]{64}$"},"domain":{"type":"string","const":"supanova.swap.quote.v2"}},"required":["digest","domain"],"additionalProperties":false},"synchronizerId":{"type":"string","minLength":1,"maxLength":160}},"required":["expiresAt","legs","networkId","policy","replay","synchronizerId"],"additionalProperties":false},"buyUnitPriceCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"buyAmount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"buyInstrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false},"creatorRevenueAllocations":{"minItems":1,"maxItems":2,"type":"array","items":{"oneOf":[{"type":"object","properties":{"basisAmountCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"creatorRevenueCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"eligibility":{"type":"string","const":"eligible"},"grossRevenueCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"launchId":{"type":"string","minLength":1,"maxLength":96},"marketReference":{"type":"string","minLength":1,"maxLength":160},"policy":{"type":"object","properties":{"hash":{"type":"string","const":"sha256:a926e0a380b3938648b5fa9898136638e1276128947cf94033e760f87a27e8b2"},"id":{"type":"string","const":"supanova-creator-revenue-policy"},"version":{"type":"string","const":"1"}},"required":["hash","id","version"],"additionalProperties":false},"protocolRevenueCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"protocolRootId":{"type":"string","minLength":1,"maxLength":160},"routeLegCount":{"type":"integer","minimum":1,"maximum":2},"routeLegIndex":{"type":"integer","minimum":0,"maximum":1},"source":{"type":"string","enum":["virtual-curve-trading-fee","supaswap-amm-trading-fee"]},"tokenInstrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false}},"required":["basisAmountCc","creatorRevenueCc","eligibility","grossRevenueCc","launchId","marketReference","policy","protocolRevenueCc","protocolRootId","routeLegCount","routeLegIndex","source","tokenInstrument"],"additionalProperties":false},{"type":"object","properties":{"eligibility":{"type":"string","const":"ineligible"},"marketReference":{"type":"string","minLength":1,"maxLength":160},"reason":{"type":"string","enum":["legacy-no-policy","not-supanova-launch","trader-cashback"]},"routeLegCount":{"type":"integer","minimum":1,"maximum":2},"routeLegIndex":{"type":"integer","minimum":0,"maximum":1},"tokenInstrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false}},"required":["eligibility","marketReference","reason","routeLegCount","routeLegIndex","tokenInstrument"],"additionalProperties":false}]}},"execution":{"type":"string","const":"simulated"},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"fee":{"type":"object","properties":{"amount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"asset":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false},"policy":{"type":"string","const":"preview-only-unfinalized"}},"required":["amount","asset","policy"],"additionalProperties":false},"feeLineItems":{"minItems":1,"maxItems":2,"type":"array","items":{"type":"object","properties":{"amount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"instrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false},"kind":{"type":"string","const":"trading"},"label":{"type":"string","minLength":1,"maxLength":120}},"required":["amount","instrument","kind","label"],"additionalProperties":false}},"issuedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"minimumBuyAmount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"networkId":{"type":"string","pattern":"^canton:[-_a-zA-Z0-9]{1,32}$"},"notionalCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"pricingModel":{"type":"string","const":"preview-simulation-v2"},"pricingSource":{"type":"object","properties":{"asOf":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"dataMode":{"type":"string","enum":["projected","simulated"]},"label":{"type":"string","enum":["canton-ledger-acs","superapp-market-preview-snapshot"]}},"required":["asOf","dataMode","label"],"additionalProperties":false},"priceImpactBps":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"quoteId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"rate":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"sellAmount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"sellInstrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false},"sellUnitPriceCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"settlement":{"type":"object","properties":{"deadline":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"mode":{"type":"string","const":"atomic-dvp"},"readiness":{"type":"string","enum":["daml-command-builder-not-configured","ready"]}},"required":["deadline","mode","readiness"],"additionalProperties":false},"slippageBps":{"type":"integer","minimum":1,"maximum":5000},"route":{"minItems":1,"maxItems":2,"type":"array","items":{"type":"object","properties":{"payInstrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false},"receiveInstrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false},"venue":{"type":"string","enum":["canton-dex","launch-curve"]}},"required":["payInstrument","receiveInstrument","venue"],"additionalProperties":false}},"wallet":{"type":"object","properties":{"connectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"partyId":{"type":"string","minLength":1,"maxLength":512}},"required":["connectionId","partyId"],"additionalProperties":false}},"required":["authority","buyUnitPriceCc","buyAmount","buyInstrument","creatorRevenueAllocations","execution","expiresAt","fee","feeLineItems","issuedAt","minimumBuyAmount","networkId","notionalCc","pricingModel","pricingSource","priceImpactBps","quoteId","rate","sellAmount","sellInstrument","sellUnitPriceCc","settlement","slippageBps","route","wallet"],"additionalProperties":false},{"type":"object","properties":{"authority":{"type":"object","properties":{"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"legs":{"minItems":1,"maxItems":1,"type":"array","items":{"oneOf":[{"type":"object","properties":{"creatorRevenue":{"type":"object","properties":{"eligibility":{"type":"string","const":"eligible"},"launchId":{"type":"string","minLength":1,"maxLength":160},"policy":{"type":"object","properties":{"hash":{"type":"string","const":"sha256:21c68b457e7684149d484e6bfb378457c36ea188e01187500367a76bf29cbde6"},"id":{"type":"string","const":"supanova-creator-revenue-policy"},"version":{"type":"string","const":"2"}},"required":["hash","id","version"],"additionalProperties":false},"protocolRootId":{"type":"string","minLength":1,"maxLength":160}},"required":["eligibility","launchId","policy","protocolRootId"],"additionalProperties":false},"lifecycleEpoch":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"market":{"type":"object","properties":{"economics":{"type":"object","properties":{"curveAllocationBps":{"type":"integer","minimum":5001,"maximum":9999},"graduationNetCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"maxFeeBps":{"type":"integer","minimum":0,"maximum":5000},"minFeeClaimCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["curveAllocationBps","graduationNetCc","maxFeeBps","minFeeClaimCc"],"additionalProperties":false},"feeConfig":{"type":"object","properties":{"feeBps":{"type":"integer","minimum":0,"maximum":10000},"platformShareBps":{"type":"integer","minimum":0,"maximum":10000}},"required":["feeBps","platformShareBps"],"additionalProperties":false},"totalSupply":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["economics","feeConfig","totalSupply"],"additionalProperties":false},"marketReference":{"type":"string","minLength":1,"maxLength":160},"marketRevision":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"nextMarketRevision":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"payInstrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false},"receiveInstrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false},"securityEpoch":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"after":{"type":"object","properties":{"graduated":{"type":"boolean"},"netCcReserve":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"tokensRemaining":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"tokensSold":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["graduated","netCcReserve","tokensRemaining","tokensSold"],"additionalProperties":false},"before":{"type":"object","properties":{"graduated":{"type":"boolean"},"netCcReserve":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"tokensRemaining":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"tokensSold":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["graduated","netCcReserve","tokensRemaining","tokensSold"],"additionalProperties":false},"formulaId":{"type":"string","const":"supanova-virtual-cpmm-v1"},"kind":{"type":"string","const":"virtual-cpmm"},"lifecycleStage":{"type":"string","enum":["ignition","near_escape"]},"limits":{"type":"object","properties":{"exactFinalGrossCc":{"anyOf":[{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},{"type":"null"}]},"inputAsset":{"type":"string","enum":["cc","token"]},"maximumInputAmount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"recovery":{"type":"string","enum":["exact-final-gross-or-smaller-buy","sell-all-or-leave-at-least-minimum"]}},"required":["exactFinalGrossCc","inputAsset","maximumInputAmount","recovery"],"additionalProperties":false}},"required":["creatorRevenue","lifecycleEpoch","market","marketReference","marketRevision","nextMarketRevision","payInstrument","receiveInstrument","securityEpoch","after","before","formulaId","kind","lifecycleStage","limits"],"additionalProperties":false},{"type":"object","properties":{"creatorRevenue":{"type":"object","properties":{"eligibility":{"type":"string","const":"eligible"},"launchId":{"type":"string","minLength":1,"maxLength":160},"policy":{"type":"object","properties":{"hash":{"type":"string","const":"sha256:21c68b457e7684149d484e6bfb378457c36ea188e01187500367a76bf29cbde6"},"id":{"type":"string","const":"supanova-creator-revenue-policy"},"version":{"type":"string","const":"2"}},"required":["hash","id","version"],"additionalProperties":false},"protocolRootId":{"type":"string","minLength":1,"maxLength":160}},"required":["eligibility","launchId","policy","protocolRootId"],"additionalProperties":false},"lifecycleEpoch":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"market":{"type":"object","properties":{"economics":{"type":"object","properties":{"curveAllocationBps":{"type":"integer","minimum":5001,"maximum":9999},"graduationNetCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"maxFeeBps":{"type":"integer","minimum":0,"maximum":5000},"minFeeClaimCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["curveAllocationBps","graduationNetCc","maxFeeBps","minFeeClaimCc"],"additionalProperties":false},"feeConfig":{"type":"object","properties":{"feeBps":{"type":"integer","minimum":0,"maximum":10000},"platformShareBps":{"type":"integer","minimum":0,"maximum":10000}},"required":["feeBps","platformShareBps"],"additionalProperties":false},"totalSupply":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["economics","feeConfig","totalSupply"],"additionalProperties":false},"marketReference":{"type":"string","minLength":1,"maxLength":160},"marketRevision":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"nextMarketRevision":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"payInstrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false},"receiveInstrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false},"securityEpoch":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"after":{"type":"object","properties":{"anchor":{"type":"string","enum":["cc-reserve","initial","token-reserve"]},"ccReserve":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"revision":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"tokenReserve":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["anchor","ccReserve","revision","tokenReserve"],"additionalProperties":false},"before":{"type":"object","properties":{"anchor":{"type":"string","enum":["cc-reserve","initial","token-reserve"]},"ccReserve":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"revision":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"tokenReserve":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["anchor","ccReserve","revision","tokenReserve"],"additionalProperties":false},"formulaId":{"type":"string","const":"supanova-real-cpmm-v1"},"kind":{"type":"string","const":"real-cpmm"},"lifecycleStage":{"type":"string","const":"in_orbit"},"limits":{"type":"object","properties":{"exactFinalGrossCc":{"type":"null"},"inputAsset":{"type":"string","enum":["cc","token"]},"maximumInputAmount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"recovery":{"type":"string","const":"refresh-on-revision-change"}},"required":["exactFinalGrossCc","inputAsset","maximumInputAmount","recovery"],"additionalProperties":false}},"required":["creatorRevenue","lifecycleEpoch","market","marketReference","marketRevision","nextMarketRevision","payInstrument","receiveInstrument","securityEpoch","after","before","formulaId","kind","lifecycleStage","limits"],"additionalProperties":false}]}},"networkId":{"type":"string","pattern":"^canton:[-_a-zA-Z0-9]{1,32}$"},"policy":{"type":"object","properties":{"hash":{"type":"string","const":"sha256:453dec0f4f64164e6c89bd4fcf9303eafeadd133ca9e119acc5fd6fa694957c2"},"snapshot":{},"version":{"type":"string","const":"4"}},"required":["hash","snapshot","version"],"additionalProperties":false},"replay":{"type":"object","properties":{"digest":{"type":"string","pattern":"^sha256:[0-9a-f]{64}$"},"domain":{"type":"string","const":"supanova.swap.quote.v2"}},"required":["digest","domain"],"additionalProperties":false},"synchronizerId":{"type":"string","minLength":1,"maxLength":160}},"required":["expiresAt","legs","networkId","policy","replay","synchronizerId"],"additionalProperties":false},"buyAmount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"buyInstrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false},"creatorRevenueAllocations":{"minItems":1,"maxItems":1,"type":"array","items":{"type":"object","properties":{"basisAmountCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"creatorRevenueCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"eligibility":{"type":"string","const":"eligible"},"grossRevenueCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"launchId":{"type":"string","minLength":1,"maxLength":160},"marketReference":{"type":"string","minLength":1,"maxLength":160},"policy":{"type":"object","properties":{"hash":{"type":"string","const":"sha256:21c68b457e7684149d484e6bfb378457c36ea188e01187500367a76bf29cbde6"},"id":{"type":"string","const":"supanova-creator-revenue-policy"},"version":{"type":"string","const":"2"}},"required":["hash","id","version"],"additionalProperties":false},"protocolRevenueCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"protocolRootId":{"type":"string","minLength":1,"maxLength":160},"routeLegCount":{"type":"number","const":1},"routeLegIndex":{"type":"number","const":0},"source":{"type":"string","enum":["curve-trading-fee","amm-trading-fee"]},"tokenInstrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false}},"required":["basisAmountCc","creatorRevenueCc","eligibility","grossRevenueCc","launchId","marketReference","policy","protocolRevenueCc","protocolRootId","routeLegCount","routeLegIndex","source","tokenInstrument"],"additionalProperties":false}},"display":{"type":"object","properties":{"averagePriceCcPerToken":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,40})?$"},"graduationPercentAfter":{"anyOf":[{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,40})?$"},{"type":"null"}]},"kind":{"type":"string","const":"display-only"},"priceAfterCcPerToken":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,40})?$"},"priceAfterPerMillionTokensCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,40})?$"},"priceBeforeCcPerToken":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,40})?$"},"priceBeforePerMillionTokensCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,40})?$"},"priceImpactBps":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,40})?$"},"pricePerMillionTokensCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,40})?$"},"rate":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,40})?$"},"significantDigits":{"type":"number","const":12}},"required":["averagePriceCcPerToken","graduationPercentAfter","kind","priceAfterCcPerToken","priceAfterPerMillionTokensCc","priceBeforeCcPerToken","priceBeforePerMillionTokensCc","priceImpactBps","pricePerMillionTokensCc","rate","significantDigits"],"additionalProperties":false},"economics":{"type":"object","properties":{"curveAllocationBps":{"type":"integer","minimum":5001,"maximum":9999},"graduationNetCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"maxFeeBps":{"type":"integer","minimum":0,"maximum":5000},"minFeeClaimCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["curveAllocationBps","graduationNetCc","maxFeeBps","minFeeClaimCc"],"additionalProperties":false},"execution":{"type":"string","const":"simulated"},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"fee":{"type":"object","properties":{"amount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"asset":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false},"policy":{"type":"string","const":"ledger-pool-fee-config"}},"required":["amount","asset","policy"],"additionalProperties":false},"feeCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"feeConfig":{"type":"object","properties":{"feeBps":{"type":"integer","minimum":0,"maximum":10000},"platformShareBps":{"type":"integer","minimum":0,"maximum":10000}},"required":["feeBps","platformShareBps"],"additionalProperties":false},"feeLineItems":{"minItems":1,"maxItems":1,"type":"array","items":{"type":"object","properties":{"amount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"instrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false},"kind":{"type":"string","const":"trading"},"label":{"type":"string","minLength":1,"maxLength":120}},"required":["amount","instrument","kind","label"],"additionalProperties":false}},"issuedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"makerFeeCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"minimumBuyAmount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"networkId":{"type":"string","pattern":"^canton:[-_a-zA-Z0-9]{1,32}$"},"notionalCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"platformFeeCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"referralFeeCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"pricingModel":{"type":"string","const":"preview-simulation-v2"},"pricingSource":{"type":"object","properties":{"asOf":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"dataMode":{"type":"string","const":"projected"},"label":{"type":"string","const":"canton-ledger-acs"}},"required":["asOf","dataMode","label"],"additionalProperties":false},"quoteId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"route":{"minItems":1,"maxItems":1,"type":"array","items":{"type":"object","properties":{"payInstrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false},"receiveInstrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false},"venue":{"type":"string","enum":["canton-dex","launch-curve"]}},"required":["payInstrument","receiveInstrument","venue"],"additionalProperties":false}},"sellAmount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"sellInstrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false},"settlement":{"type":"object","properties":{"deadline":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"mode":{"type":"string","const":"atomic-dvp"},"readiness":{"type":"string","const":"ready"}},"required":["deadline","mode","readiness"],"additionalProperties":false},"slippageBps":{"type":"integer","minimum":1,"maximum":5000},"totalSupply":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"wallet":{"type":"object","properties":{"connectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"partyId":{"type":"string","minLength":1,"maxLength":512}},"required":["connectionId","partyId"],"additionalProperties":false},"allowPartialFill":{"type":"boolean"},"fill":{"type":"string","enum":["full","partial"]},"grossCcUsed":{"anyOf":[{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},{"type":"null"}]},"unspentCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"graduates":{"type":"boolean"},"limitTokenOut":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["authority","buyAmount","buyInstrument","creatorRevenueAllocations","display","economics","execution","expiresAt","fee","feeCc","feeConfig","feeLineItems","issuedAt","makerFeeCc","minimumBuyAmount","networkId","notionalCc","platformFeeCc","pricingModel","pricingSource","quoteId","route","sellAmount","sellInstrument","settlement","slippageBps","totalSupply","wallet"],"additionalProperties":false}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The request is malformed or failed validation. Codes: `VALIDATION_FAILED`, `AMBIGUOUS_CREDENTIALS`, `SERVICE_ACT_AS_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `AUTHENTICATION_REQUIRED`, `INVALID_AUTHORIZATION_HEADER`, `INVALID_ACCESS_TOKEN`, `SESSION_REVOKED`, `API_KEY_INVALID`, `API_KEY_REVOKED`, `API_KEY_SIGNATURE_INVALID`, `API_KEY_TIMESTAMP_OUT_OF_WINDOW`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Codes: `ACCOUNT_RESTRICTED`, `ANONYMOUS_ACCOUNT_NOT_ALLOWED`, `API_KEY_ROUTE_NOT_ALLOWED`, `SERVICE_PARTY_NOT_ALLOWED`, `SERVICE_PRINCIPAL_NOT_ALLOWED`, `SIGNUP_NOT_INVITED`, `API_KEY_IP_NOT_ALLOWED`, `PRODUCT_ACCOUNT_RESTRICTED`, `API_KEY_SCOPE_REQUIRED`, `API_KEY_PARTY_NOT_AUTHORIZED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The market is graduating: `MARKET_GRADUATION_IN_PROGRESS`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"413":{"description":"The request body exceeds the size limit.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The trade cannot be quoted: `SWAP_TRADE_BELOW_MINIMUM`, `SWAP_CURVE_CAPACITY_EXCEEDED`, `SWAP_OUTPUT_ROUNDS_TO_ZERO`, `SWAP_QUOTE_AMOUNT_OUT_OF_RANGE`, `SWAP_QUOTE_UNPRICEABLE`, `SWAP_SELL_EXCEEDS_RELEASED_TOKENS`, `SWAP_SELL_STRANDS_RESIDUAL`, `LEDGER_MARKET_NOT_FOUND`, `LEDGER_ROUTE_NOT_SUPPORTED`, `VALIDATION_FAILED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"428":{"description":"The signed-in account must accept the current product terms first. Codes: `PRODUCT_LEGAL_ACCEPTANCE_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"A dependency is unavailable or the feature is not enabled on this deployment. Codes: `AUTHENTICATION_UNAVAILABLE`, `AUTHORIZATION_UNAVAILABLE`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Create a short-lived preview quote.","tags":["swaps"],"x-api-key-scope":"trade"}},"/api/v1/swaps/prepare":{"post":{"operationId":"SwapController_prepare_v1","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":256,"pattern":"^[A-Za-z0-9._:-]+$"}},{"$ref":"#/components/parameters/ServiceActAs"},{"$ref":"#/components/parameters/RequestId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"quoteId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"walletConnectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["quoteId","walletConnectionId"],"additionalProperties":false}}}},"responses":{"201":{"description":"A wallet action and operation record.","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"execution":{"type":"string","enum":["ledger","simulated"]},"operation":{"type":"object","properties":{"expiresAt":{"type":["string","null"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"status":{"type":"string"}},"required":["expiresAt","id","status"],"additionalProperties":false},"walletAction":{"type":"object","properties":{"expiresAt":{"type":"string"},"intent":{"type":"object","properties":{"authority":{"type":"object","properties":{"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"legs":{"minItems":1,"maxItems":2,"type":"array","items":{"oneOf":[{"type":"object","properties":{"creatorRevenue":{"oneOf":[{"type":"object","properties":{"eligibility":{"type":"string","const":"eligible"},"launchId":{"type":"string","minLength":1,"maxLength":96},"policy":{"type":"object","properties":{"hash":{"type":"string","const":"sha256:a926e0a380b3938648b5fa9898136638e1276128947cf94033e760f87a27e8b2"},"id":{"type":"string","const":"supanova-creator-revenue-policy"},"version":{"type":"string","const":"1"}},"required":["hash","id","version"],"additionalProperties":false},"protocolRootId":{"type":"string","minLength":1,"maxLength":160}},"required":["eligibility","launchId","policy","protocolRootId"],"additionalProperties":false},{"type":"object","properties":{"eligibility":{"type":"string","const":"ineligible"},"reason":{"type":"string","enum":["legacy-no-policy","not-supanova-launch","trader-cashback"]}},"required":["eligibility","reason"],"additionalProperties":false}]},"lifecycleEpoch":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"marketReference":{"type":"string","minLength":1,"maxLength":160},"marketRevision":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"nextMarketRevision":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"payInstrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false},"receiveInstrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false},"securityEpoch":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"after":{"type":"object","properties":{"formulaId":{"type":"string","const":"supanova-virtual-cpmm-v1"},"graduated":{"type":"boolean"},"graduationPercent":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"marginalPriceCcPerToken":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"netCcReserve":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"tokensRemaining":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"tokensSold":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["formulaId","graduated","graduationPercent","marginalPriceCcPerToken","netCcReserve","tokensRemaining","tokensSold"],"additionalProperties":false},"before":{"type":"object","properties":{"formulaId":{"type":"string","const":"supanova-virtual-cpmm-v1"},"graduated":{"type":"boolean"},"graduationPercent":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"marginalPriceCcPerToken":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"netCcReserve":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"tokensRemaining":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"tokensSold":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["formulaId","graduated","graduationPercent","marginalPriceCcPerToken","netCcReserve","tokensRemaining","tokensSold"],"additionalProperties":false},"formulaId":{"type":"string","const":"supanova-virtual-cpmm-v1"},"kind":{"type":"string","const":"virtual-cpmm"},"lifecycleStage":{"type":"string","enum":["ignition","near_escape"]},"limits":{"type":"object","properties":{"exactFinalGrossCc":{"anyOf":[{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},{"type":"null"}]},"inputAsset":{"type":"string","enum":["cc","token"]},"maximumInputAmount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"recovery":{"type":"string","enum":["exact-final-gross-or-smaller-buy","sell-all-or-leave-at-least-minimum"]}},"required":["exactFinalGrossCc","inputAsset","maximumInputAmount","recovery"],"additionalProperties":false}},"required":["creatorRevenue","lifecycleEpoch","marketReference","marketRevision","nextMarketRevision","payInstrument","receiveInstrument","securityEpoch","after","before","formulaId","kind","lifecycleStage","limits"],"additionalProperties":false},{"type":"object","properties":{"creatorRevenue":{"oneOf":[{"type":"object","properties":{"eligibility":{"type":"string","const":"eligible"},"launchId":{"type":"string","minLength":1,"maxLength":96},"policy":{"type":"object","properties":{"hash":{"type":"string","const":"sha256:a926e0a380b3938648b5fa9898136638e1276128947cf94033e760f87a27e8b2"},"id":{"type":"string","const":"supanova-creator-revenue-policy"},"version":{"type":"string","const":"1"}},"required":["hash","id","version"],"additionalProperties":false},"protocolRootId":{"type":"string","minLength":1,"maxLength":160}},"required":["eligibility","launchId","policy","protocolRootId"],"additionalProperties":false},{"type":"object","properties":{"eligibility":{"type":"string","const":"ineligible"},"reason":{"type":"string","enum":["legacy-no-policy","not-supanova-launch","trader-cashback"]}},"required":["eligibility","reason"],"additionalProperties":false}]},"lifecycleEpoch":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"marketReference":{"type":"string","minLength":1,"maxLength":160},"marketRevision":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"nextMarketRevision":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"payInstrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false},"receiveInstrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false},"securityEpoch":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"after":{"type":"object","properties":{"anchor":{"type":"string","enum":["cc-reserve","initial","token-reserve"]},"ccReserve":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"formulaId":{"type":"string","const":"supanova-real-cpmm-v1"},"invariant":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"marginalPriceCcPerToken":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"revision":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"tokenReserve":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["anchor","ccReserve","formulaId","invariant","marginalPriceCcPerToken","revision","tokenReserve"],"additionalProperties":false},"before":{"type":"object","properties":{"anchor":{"type":"string","enum":["cc-reserve","initial","token-reserve"]},"ccReserve":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"formulaId":{"type":"string","const":"supanova-real-cpmm-v1"},"invariant":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"marginalPriceCcPerToken":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"revision":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"tokenReserve":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["anchor","ccReserve","formulaId","invariant","marginalPriceCcPerToken","revision","tokenReserve"],"additionalProperties":false},"formulaId":{"type":"string","const":"supanova-real-cpmm-v1"},"kind":{"type":"string","const":"real-cpmm"},"lifecycleStage":{"type":"string","const":"in_orbit"},"limits":{"type":"object","properties":{"exactFinalGrossCc":{"type":"null"},"inputAsset":{"type":"string","enum":["cc","token"]},"maximumInputAmount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"recovery":{"type":"string","const":"refresh-on-revision-change"}},"required":["exactFinalGrossCc","inputAsset","maximumInputAmount","recovery"],"additionalProperties":false}},"required":["creatorRevenue","lifecycleEpoch","marketReference","marketRevision","nextMarketRevision","payInstrument","receiveInstrument","securityEpoch","after","before","formulaId","kind","lifecycleStage","limits"],"additionalProperties":false},{"type":"object","properties":{"creatorRevenue":{"oneOf":[{"type":"object","properties":{"eligibility":{"type":"string","const":"eligible"},"launchId":{"type":"string","minLength":1,"maxLength":96},"policy":{"type":"object","properties":{"hash":{"type":"string","const":"sha256:a926e0a380b3938648b5fa9898136638e1276128947cf94033e760f87a27e8b2"},"id":{"type":"string","const":"supanova-creator-revenue-policy"},"version":{"type":"string","const":"1"}},"required":["hash","id","version"],"additionalProperties":false},"protocolRootId":{"type":"string","minLength":1,"maxLength":160}},"required":["eligibility","launchId","policy","protocolRootId"],"additionalProperties":false},{"type":"object","properties":{"eligibility":{"type":"string","const":"ineligible"},"reason":{"type":"string","enum":["legacy-no-policy","not-supanova-launch","trader-cashback"]}},"required":["eligibility","reason"],"additionalProperties":false}]},"lifecycleEpoch":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"marketReference":{"type":"string","minLength":1,"maxLength":160},"marketRevision":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"nextMarketRevision":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"payInstrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false},"receiveInstrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false},"securityEpoch":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"after":{"type":"object","properties":{"priceCcPerToken":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"revision":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"}},"required":["priceCcPerToken","revision"],"additionalProperties":false},"before":{"type":"object","properties":{"priceCcPerToken":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"revision":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"}},"required":["priceCcPerToken","revision"],"additionalProperties":false},"formulaId":{"type":"string","const":"supanova-static-preview-v1"},"kind":{"type":"string","const":"static-preview"},"lifecycleStage":{"type":"string","const":"in_orbit"},"limits":{"type":"object","properties":{"exactFinalGrossCc":{"type":"null"},"inputAsset":{"type":"string","enum":["cc","token"]},"maximumInputAmount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"recovery":{"type":"string","const":"refresh-on-revision-change"}},"required":["exactFinalGrossCc","inputAsset","maximumInputAmount","recovery"],"additionalProperties":false}},"required":["creatorRevenue","lifecycleEpoch","marketReference","marketRevision","nextMarketRevision","payInstrument","receiveInstrument","securityEpoch","after","before","formulaId","kind","lifecycleStage","limits"],"additionalProperties":false}]}},"networkId":{"type":"string","pattern":"^canton:[-_a-zA-Z0-9]{1,32}$"},"policy":{"type":"object","properties":{"hash":{"type":"string","const":"sha256:1c1bcf37c26e0c4c84af752e9f76447a82f8b22ba8c851f1cf070eccc43f548e"},"snapshot":{"type":"object","properties":{"amm":{"type":"object","properties":{"authorizationMaxTtlSeconds":{"type":"number","const":900},"fee":{"type":"object","properties":{"asset":{"type":"string","const":"cc"},"buySide":{"type":"string","const":"deduct-from-gross-before-cc-enters-pool"},"policy":{"type":"string","const":"outside-active-reserves"},"rate":{"type":"string","const":"0.01"},"routing":{"type":"string","const":"creator-revenue-policy-outside-pool"},"sellSide":{"type":"string","const":"deduct-from-gross-cc-after-cc-leaves-pool"}},"required":["asset","buySide","policy","rate","routing","sellSide"],"additionalProperties":false},"formulaId":{"type":"string","const":"supanova-real-cpmm-v1"},"goldenManifestDigest":{"type":"string","const":"sha256:7fc5b0d592eaf85cb083775101efe73a099b404e6334cd85ac1683ac753626d0"},"invariant":{"type":"object","properties":{"anchor":{"type":"string","const":"50000000000000"},"anchorRelation":{"type":"string","const":"initial=exact-seed;buy=tokenReserve==round10(k/ccReserve);sell=ccReserve==round10(k/tokenReserve)"},"driftPolicy":{"type":"string","const":"reject-any-noncanonical-anchor-relation"},"transition":{"type":"string","const":"oppositeReserve=round10(k/nextInputReserve)"}},"required":["anchor","anchorRelation","driftPolicy","transition"],"additionalProperties":false},"initialRealCcReserve":{"type":"string","const":"250000"},"initialRealTokenReserve":{"type":"string","const":"200000000"},"lifecycle":{"type":"string","const":"atomic-graduation-seed-then-revisioned-real-reserve"},"minimumGrossBuyCc":{"type":"string","const":"0.01"},"minimumGrossSellCc":{"type":"string","const":"0.0099"},"minimumGrossSellDerivation":{"type":"string","const":"gross-cc-from-reserve-before-fee"},"numericScale":{"type":"number","const":10},"rounding":{"type":"object","properties":{"buyGrouping":{"type":"string","const":"fee=round10(gross*rate);net=round10(gross-fee);x1=round10(x+net);y1=round10(k/x1);out=round10(y-y1)"},"mode":{"type":"string","const":"ledger-decimal10-half-even-per-operation"},"sellGrouping":{"type":"string","const":"y1=round10(y+tokenIn);x1=round10(k/y1);gross=round10(x-x1);fee=round10(gross*rate);net=round10(gross-fee)"}},"required":["buyGrouping","mode","sellGrouping"],"additionalProperties":false},"rootUniquenessAssumption":{"type":"string","const":"participant-inventory-and-submission-policy-required"},"settlementReadiness":{"type":"string","const":"external-settlement-adapter-unproven"}},"required":["authorizationMaxTtlSeconds","fee","formulaId","goldenManifestDigest","invariant","initialRealCcReserve","initialRealTokenReserve","lifecycle","minimumGrossBuyCc","minimumGrossSellCc","minimumGrossSellDerivation","numericScale","rounding","rootUniquenessAssumption","settlementReadiness"],"additionalProperties":false},"curve":{"type":"object","properties":{"formulaId":{"type":"string","const":"supanova-virtual-cpmm-v1"},"policyHash":{"type":"string","const":"sha256:c843cc6204a25e687e40fff5f8033416031fb28d191f40b00e530855d70dd0ce"}},"required":["formulaId","policyHash"],"additionalProperties":false},"creatorRevenue":{"type":"object","properties":{"allocationBinding":{"type":"string","const":"one-exact-allocation-per-route-leg"},"hash":{"type":"string","const":"sha256:a926e0a380b3938648b5fa9898136638e1276128947cf94033e760f87a27e8b2"},"id":{"type":"string","const":"supanova-creator-revenue-policy"},"version":{"type":"string","const":"1"}},"required":["allocationBinding","hash","id","version"],"additionalProperties":false},"policyId":{"type":"string","const":"supanova-swap-quote-policy"},"policyVersion":{"type":"string","const":"3"},"quote":{"type":"object","properties":{"authorityLegBinding":{"type":"string","const":"explicit-pay-and-receive-instruments"},"creatorRevenueLegBinding":{"type":"string","const":"exact-launch-lineage-policy-and-allocation-per-leg"},"expirySeconds":{"type":"number","const":30},"marketReferenceUniqueness":{"type":"string","const":"unique-within-route"},"minimumOutputMaximumQuoted":{"type":"string","const":"999999999999999999999999.9999999999"},"minimumOutputRounding":{"type":"string","const":"ledger-decimal10-round-down"},"replayDomain":{"type":"string","const":"supanova.swap.quote.v2"},"revisionBinding":{"type":"string","const":"dynamic-next-equals-current-plus-one;static-next-equals-current"},"singleUse":{"type":"boolean","const":true}},"required":["authorityLegBinding","creatorRevenueLegBinding","expirySeconds","marketReferenceUniqueness","minimumOutputMaximumQuoted","minimumOutputRounding","replayDomain","revisionBinding","singleUse"],"additionalProperties":false}},"required":["amm","curve","creatorRevenue","policyId","policyVersion","quote"],"additionalProperties":false},"version":{"type":"string","const":"3"}},"required":["hash","snapshot","version"],"additionalProperties":false},"replay":{"type":"object","properties":{"digest":{"type":"string","pattern":"^sha256:[0-9a-f]{64}$"},"domain":{"type":"string","const":"supanova.swap.quote.v2"}},"required":["digest","domain"],"additionalProperties":false},"synchronizerId":{"type":"string","minLength":1,"maxLength":160}},"required":["expiresAt","legs","networkId","policy","replay","synchronizerId"],"additionalProperties":false},"buyInstrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false},"creatorRevenueAllocations":{"minItems":1,"maxItems":2,"type":"array","items":{"oneOf":[{"type":"object","properties":{"basisAmountCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"creatorRevenueCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"eligibility":{"type":"string","const":"eligible"},"grossRevenueCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"launchId":{"type":"string","minLength":1,"maxLength":96},"marketReference":{"type":"string","minLength":1,"maxLength":160},"policy":{"type":"object","properties":{"hash":{"type":"string","const":"sha256:a926e0a380b3938648b5fa9898136638e1276128947cf94033e760f87a27e8b2"},"id":{"type":"string","const":"supanova-creator-revenue-policy"},"version":{"type":"string","const":"1"}},"required":["hash","id","version"],"additionalProperties":false},"protocolRevenueCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"protocolRootId":{"type":"string","minLength":1,"maxLength":160},"routeLegCount":{"type":"integer","minimum":1,"maximum":2},"routeLegIndex":{"type":"integer","minimum":0,"maximum":1},"source":{"type":"string","enum":["virtual-curve-trading-fee","supaswap-amm-trading-fee"]},"tokenInstrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false}},"required":["basisAmountCc","creatorRevenueCc","eligibility","grossRevenueCc","launchId","marketReference","policy","protocolRevenueCc","protocolRootId","routeLegCount","routeLegIndex","source","tokenInstrument"],"additionalProperties":false},{"type":"object","properties":{"eligibility":{"type":"string","const":"ineligible"},"marketReference":{"type":"string","minLength":1,"maxLength":160},"reason":{"type":"string","enum":["legacy-no-policy","not-supanova-launch","trader-cashback"]},"routeLegCount":{"type":"integer","minimum":1,"maximum":2},"routeLegIndex":{"type":"integer","minimum":0,"maximum":1},"tokenInstrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false}},"required":["eligibility","marketReference","reason","routeLegCount","routeLegIndex","tokenInstrument"],"additionalProperties":false}]}},"feeAmountCc":{"type":"string"},"minimumBuyAmount":{"type":"string"},"partyId":{"type":"string"},"quoteId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"quoteReplayDigest":{"type":"string","pattern":"^sha256:[0-9a-f]{64}$"},"sellAmount":{"type":"string"},"sellInstrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false},"route":{"minItems":1,"maxItems":2,"type":"array","items":{"type":"object","properties":{"payInstrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false},"receiveInstrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false},"venue":{"type":"string","enum":["canton-dex","launch-curve"]}},"required":["payInstrument","receiveInstrument","venue"],"additionalProperties":false}},"type":{"type":"string","const":"swap.execute"}},"required":["authority","buyInstrument","creatorRevenueAllocations","feeAmountCc","minimumBuyAmount","partyId","quoteId","quoteReplayDigest","sellAmount","sellInstrument","route","type"],"additionalProperties":false},"kind":{"type":"string","const":"canton.prepare-execute"},"method":{"type":"string","const":"prepareExecute"},"networkId":{"type":"string","pattern":"^canton:[-_a-zA-Z0-9]{1,32}$"},"operationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"readiness":{"type":"string","enum":["daml-command-builder-not-configured","ready"]},"request":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["application-submission","interactive-submission","wallet-submission"]},"commandId":{"type":"string","minLength":1,"maxLength":255},"actAs":{"minItems":1,"maxItems":8,"type":"array","items":{"type":"string","minLength":3,"maxLength":512}},"synchronizerId":{"type":"string","minLength":1,"maxLength":512},"hashingSchemeVersion":{"type":"string","minLength":1,"maxLength":64},"signatureFormat":{"type":"string","const":"SIGNATURE_FORMAT_RAW"},"signingAlgorithmSpec":{"type":"string","const":"SIGNING_ALGORITHM_SPEC_ED25519"},"signedBy":{"anyOf":[{"type":"string","minLength":4,"maxLength":160},{"type":"null"}]},"preparedTransaction":{"anyOf":[{"type":"string","maxLength":4194304},{"type":"null"}]},"preparedTransactionHash":{"anyOf":[{"type":"string","maxLength":512},{"type":"null"}]}},"required":["kind","commandId","actAs","synchronizerId","hashingSchemeVersion","signatureFormat","signingAlgorithmSpec","signedBy","preparedTransaction","preparedTransactionHash"],"additionalProperties":false},{"type":"null"}]},"standard":{"type":"string","const":"CIP-0103"}},"required":["expiresAt","intent","kind","method","networkId","operationId","readiness","request","standard"],"additionalProperties":false}},"required":["execution","operation","walletAction"],"additionalProperties":false},{"type":"object","properties":{"execution":{"type":"string","enum":["ledger","simulated"]},"operation":{"type":"object","properties":{"expiresAt":{"type":["string","null"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"status":{"type":"string"}},"required":["expiresAt","id","status"],"additionalProperties":false},"walletAction":{"type":"object","properties":{"expiresAt":{"type":"string"},"intent":{"type":"object","properties":{"authority":{"type":"object","properties":{"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"legs":{"minItems":1,"maxItems":1,"type":"array","items":{"oneOf":[{"type":"object","properties":{"creatorRevenue":{"type":"object","properties":{"eligibility":{"type":"string","const":"eligible"},"launchId":{"type":"string","minLength":1,"maxLength":160},"policy":{"type":"object","properties":{"hash":{"type":"string","const":"sha256:21c68b457e7684149d484e6bfb378457c36ea188e01187500367a76bf29cbde6"},"id":{"type":"string","const":"supanova-creator-revenue-policy"},"version":{"type":"string","const":"2"}},"required":["hash","id","version"],"additionalProperties":false},"protocolRootId":{"type":"string","minLength":1,"maxLength":160}},"required":["eligibility","launchId","policy","protocolRootId"],"additionalProperties":false},"lifecycleEpoch":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"market":{"type":"object","properties":{"economics":{"type":"object","properties":{"curveAllocationBps":{"type":"integer","minimum":5001,"maximum":9999},"graduationNetCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"maxFeeBps":{"type":"integer","minimum":0,"maximum":5000},"minFeeClaimCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["curveAllocationBps","graduationNetCc","maxFeeBps","minFeeClaimCc"],"additionalProperties":false},"feeConfig":{"type":"object","properties":{"feeBps":{"type":"integer","minimum":0,"maximum":10000},"platformShareBps":{"type":"integer","minimum":0,"maximum":10000}},"required":["feeBps","platformShareBps"],"additionalProperties":false},"totalSupply":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["economics","feeConfig","totalSupply"],"additionalProperties":false},"marketReference":{"type":"string","minLength":1,"maxLength":160},"marketRevision":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"nextMarketRevision":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"payInstrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false},"receiveInstrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false},"securityEpoch":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"after":{"type":"object","properties":{"graduated":{"type":"boolean"},"netCcReserve":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"tokensRemaining":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"tokensSold":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["graduated","netCcReserve","tokensRemaining","tokensSold"],"additionalProperties":false},"before":{"type":"object","properties":{"graduated":{"type":"boolean"},"netCcReserve":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"tokensRemaining":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"tokensSold":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["graduated","netCcReserve","tokensRemaining","tokensSold"],"additionalProperties":false},"formulaId":{"type":"string","const":"supanova-virtual-cpmm-v1"},"kind":{"type":"string","const":"virtual-cpmm"},"lifecycleStage":{"type":"string","enum":["ignition","near_escape"]},"limits":{"type":"object","properties":{"exactFinalGrossCc":{"anyOf":[{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},{"type":"null"}]},"inputAsset":{"type":"string","enum":["cc","token"]},"maximumInputAmount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"recovery":{"type":"string","enum":["exact-final-gross-or-smaller-buy","sell-all-or-leave-at-least-minimum"]}},"required":["exactFinalGrossCc","inputAsset","maximumInputAmount","recovery"],"additionalProperties":false}},"required":["creatorRevenue","lifecycleEpoch","market","marketReference","marketRevision","nextMarketRevision","payInstrument","receiveInstrument","securityEpoch","after","before","formulaId","kind","lifecycleStage","limits"],"additionalProperties":false},{"type":"object","properties":{"creatorRevenue":{"type":"object","properties":{"eligibility":{"type":"string","const":"eligible"},"launchId":{"type":"string","minLength":1,"maxLength":160},"policy":{"type":"object","properties":{"hash":{"type":"string","const":"sha256:21c68b457e7684149d484e6bfb378457c36ea188e01187500367a76bf29cbde6"},"id":{"type":"string","const":"supanova-creator-revenue-policy"},"version":{"type":"string","const":"2"}},"required":["hash","id","version"],"additionalProperties":false},"protocolRootId":{"type":"string","minLength":1,"maxLength":160}},"required":["eligibility","launchId","policy","protocolRootId"],"additionalProperties":false},"lifecycleEpoch":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"market":{"type":"object","properties":{"economics":{"type":"object","properties":{"curveAllocationBps":{"type":"integer","minimum":5001,"maximum":9999},"graduationNetCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"maxFeeBps":{"type":"integer","minimum":0,"maximum":5000},"minFeeClaimCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["curveAllocationBps","graduationNetCc","maxFeeBps","minFeeClaimCc"],"additionalProperties":false},"feeConfig":{"type":"object","properties":{"feeBps":{"type":"integer","minimum":0,"maximum":10000},"platformShareBps":{"type":"integer","minimum":0,"maximum":10000}},"required":["feeBps","platformShareBps"],"additionalProperties":false},"totalSupply":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["economics","feeConfig","totalSupply"],"additionalProperties":false},"marketReference":{"type":"string","minLength":1,"maxLength":160},"marketRevision":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"nextMarketRevision":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"payInstrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false},"receiveInstrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false},"securityEpoch":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"after":{"type":"object","properties":{"anchor":{"type":"string","enum":["cc-reserve","initial","token-reserve"]},"ccReserve":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"revision":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"tokenReserve":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["anchor","ccReserve","revision","tokenReserve"],"additionalProperties":false},"before":{"type":"object","properties":{"anchor":{"type":"string","enum":["cc-reserve","initial","token-reserve"]},"ccReserve":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"revision":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"tokenReserve":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["anchor","ccReserve","revision","tokenReserve"],"additionalProperties":false},"formulaId":{"type":"string","const":"supanova-real-cpmm-v1"},"kind":{"type":"string","const":"real-cpmm"},"lifecycleStage":{"type":"string","const":"in_orbit"},"limits":{"type":"object","properties":{"exactFinalGrossCc":{"type":"null"},"inputAsset":{"type":"string","enum":["cc","token"]},"maximumInputAmount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"recovery":{"type":"string","const":"refresh-on-revision-change"}},"required":["exactFinalGrossCc","inputAsset","maximumInputAmount","recovery"],"additionalProperties":false}},"required":["creatorRevenue","lifecycleEpoch","market","marketReference","marketRevision","nextMarketRevision","payInstrument","receiveInstrument","securityEpoch","after","before","formulaId","kind","lifecycleStage","limits"],"additionalProperties":false}]}},"networkId":{"type":"string","pattern":"^canton:[-_a-zA-Z0-9]{1,32}$"},"policy":{"type":"object","properties":{"hash":{"type":"string","const":"sha256:453dec0f4f64164e6c89bd4fcf9303eafeadd133ca9e119acc5fd6fa694957c2"},"snapshot":{},"version":{"type":"string","const":"4"}},"required":["hash","snapshot","version"],"additionalProperties":false},"replay":{"type":"object","properties":{"digest":{"type":"string","pattern":"^sha256:[0-9a-f]{64}$"},"domain":{"type":"string","const":"supanova.swap.quote.v2"}},"required":["digest","domain"],"additionalProperties":false},"synchronizerId":{"type":"string","minLength":1,"maxLength":160}},"required":["expiresAt","legs","networkId","policy","replay","synchronizerId"],"additionalProperties":false},"buyInstrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false},"creatorRevenueAllocations":{"minItems":1,"maxItems":1,"type":"array","items":{"type":"object","properties":{"basisAmountCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"creatorRevenueCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"eligibility":{"type":"string","const":"eligible"},"grossRevenueCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"launchId":{"type":"string","minLength":1,"maxLength":160},"marketReference":{"type":"string","minLength":1,"maxLength":160},"policy":{"type":"object","properties":{"hash":{"type":"string","const":"sha256:21c68b457e7684149d484e6bfb378457c36ea188e01187500367a76bf29cbde6"},"id":{"type":"string","const":"supanova-creator-revenue-policy"},"version":{"type":"string","const":"2"}},"required":["hash","id","version"],"additionalProperties":false},"protocolRevenueCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"protocolRootId":{"type":"string","minLength":1,"maxLength":160},"routeLegCount":{"type":"number","const":1},"routeLegIndex":{"type":"number","const":0},"source":{"type":"string","enum":["curve-trading-fee","amm-trading-fee"]},"tokenInstrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false}},"required":["basisAmountCc","creatorRevenueCc","eligibility","grossRevenueCc","launchId","marketReference","policy","protocolRevenueCc","protocolRootId","routeLegCount","routeLegIndex","source","tokenInstrument"],"additionalProperties":false}},"feeAmountCc":{"type":"string"},"minimumBuyAmount":{"type":"string"},"partyId":{"type":"string"},"quoteId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"quoteReplayDigest":{"type":"string","pattern":"^sha256:[0-9a-f]{64}$"},"sellAmount":{"type":"string"},"sellInstrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false},"route":{"minItems":1,"maxItems":1,"type":"array","items":{"type":"object","properties":{"payInstrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false},"receiveInstrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false},"venue":{"type":"string","enum":["canton-dex","launch-curve"]}},"required":["payInstrument","receiveInstrument","venue"],"additionalProperties":false}},"type":{"type":"string","const":"swap.execute"}},"required":["authority","buyInstrument","creatorRevenueAllocations","feeAmountCc","minimumBuyAmount","partyId","quoteId","quoteReplayDigest","sellAmount","sellInstrument","route","type"],"additionalProperties":false},"kind":{"type":"string","const":"canton.prepare-execute"},"method":{"type":"string","const":"prepareExecute"},"networkId":{"type":"string","pattern":"^canton:[-_a-zA-Z0-9]{1,32}$"},"operationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"readiness":{"type":"string","enum":["daml-command-builder-not-configured","ready"]},"request":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["application-submission","interactive-submission","wallet-submission"]},"commandId":{"type":"string","minLength":1,"maxLength":255},"actAs":{"minItems":1,"maxItems":8,"type":"array","items":{"type":"string","minLength":3,"maxLength":512}},"synchronizerId":{"type":"string","minLength":1,"maxLength":512},"hashingSchemeVersion":{"type":"string","minLength":1,"maxLength":64},"signatureFormat":{"type":"string","const":"SIGNATURE_FORMAT_RAW"},"signingAlgorithmSpec":{"type":"string","const":"SIGNING_ALGORITHM_SPEC_ED25519"},"signedBy":{"anyOf":[{"type":"string","minLength":4,"maxLength":160},{"type":"null"}]},"preparedTransaction":{"anyOf":[{"type":"string","maxLength":4194304},{"type":"null"}]},"preparedTransactionHash":{"anyOf":[{"type":"string","maxLength":512},{"type":"null"}]}},"required":["kind","commandId","actAs","synchronizerId","hashingSchemeVersion","signatureFormat","signingAlgorithmSpec","signedBy","preparedTransaction","preparedTransactionHash"],"additionalProperties":false},{"type":"null"}]},"standard":{"type":"string","const":"CIP-0103"}},"required":["expiresAt","intent","kind","method","networkId","operationId","readiness","request","standard"],"additionalProperties":false}},"required":["execution","operation","walletAction"],"additionalProperties":false}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The request is malformed or failed validation. Codes: `VALIDATION_FAILED`, `IDEMPOTENCY_KEY_REQUIRED`, `AMBIGUOUS_CREDENTIALS`, `SERVICE_ACT_AS_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `AUTHENTICATION_REQUIRED`, `INVALID_AUTHORIZATION_HEADER`, `INVALID_ACCESS_TOKEN`, `SESSION_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Codes: `ACCOUNT_RESTRICTED`, `ANONYMOUS_ACCOUNT_NOT_ALLOWED`, `API_KEY_ROUTE_NOT_ALLOWED`, `SERVICE_PARTY_NOT_ALLOWED`, `SERVICE_PRINCIPAL_NOT_ALLOWED`, `SIGNUP_NOT_INVITED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The request conflicts with current state, or the Idempotency-Key was reused with a different request (`IDEMPOTENCY_KEY_CONFLICT`; the former `IDEMPOTENCY_CONFLICT` is a deprecated alias, no longer returned, that clients handle the same way for one release). Codes: `IDEMPOTENCY_KEY_CONFLICT`, `IDEMPOTENCY_CONFLICT`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"413":{"description":"The request body exceeds the size limit.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"428":{"description":"The signed-in account must accept the current product terms first. Codes: `PRODUCT_LEGAL_ACCEPTANCE_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"A dependency is unavailable or the feature is not enabled on this deployment. Codes: `AUTHENTICATION_UNAVAILABLE`, `AUTHORIZATION_UNAVAILABLE`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{"bearer":[]}],"summary":"Create an idempotent wallet-authorized swap operation.","tags":["swaps"]}},"/api/v1/launch-applications":{"get":{"operationId":"LaunchApplicationController_list_v1","parameters":[{"$ref":"#/components/parameters/ServiceActAs"},{"$ref":"#/components/parameters/RequestId"}],"responses":{"200":{"description":"Owned launch applications.","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"applicantNotes":{"type":["string","null"]},"contactEmail":{"type":["string","null"]},"createdAt":{"type":"string"},"decidedAt":{"type":["string","null"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"legalEntityName":{"type":["string","null"]},"legalJurisdiction":{"type":["string","null"]},"links":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":64},"additionalProperties":{"type":"string","maxLength":2048,"format":"uri","description":"Public navigation-only HTTPS URL with a DNS hostname; credentials, IP literals, localhost and private/local DNS suffixes are forbidden. This is not permission for server-side fetching.","pattern":"^https://"}},"networkId":{"type":"string","pattern":"^canton:[-_a-zA-Z0-9]{1,32}$"},"projectDescription":{"type":["string","null"]},"projectName":{"type":"string"},"projectSlug":{"type":"string"},"projectSummary":{"type":["string","null"]},"quoteAssetDeploymentId":{"type":["string","null"]},"status":{"type":"string"},"submissionVersion":{"type":"integer","minimum":0,"maximum":9007199254740991},"submittedAt":{"type":["string","null"]},"targetRaise":{"type":["string","null"]},"team":{"maxItems":30,"type":"array","items":{"type":"object","properties":{"bio":{"type":"string","maxLength":1000},"name":{"type":"string","minLength":1,"maxLength":100},"role":{"type":"string","minLength":1,"maxLength":100}},"required":["name","role"],"additionalProperties":false}},"tokenName":{"type":["string","null"]},"tokenSymbol":{"type":["string","null"]},"tokenomics":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{}},"updatedAt":{"type":"string"},"websiteUrl":{"type":["string","null"]}},"required":["applicantNotes","contactEmail","createdAt","decidedAt","id","legalEntityName","legalJurisdiction","links","networkId","projectDescription","projectName","projectSlug","projectSummary","quoteAssetDeploymentId","status","submissionVersion","submittedAt","targetRaise","team","tokenName","tokenSymbol","tokenomics","updatedAt","websiteUrl"],"additionalProperties":false}}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The request is malformed or failed validation. Codes: `AMBIGUOUS_CREDENTIALS`, `SERVICE_ACT_AS_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `AUTHENTICATION_REQUIRED`, `INVALID_AUTHORIZATION_HEADER`, `INVALID_ACCESS_TOKEN`, `SESSION_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Codes: `ACCOUNT_RESTRICTED`, `ANONYMOUS_ACCOUNT_NOT_ALLOWED`, `API_KEY_ROUTE_NOT_ALLOWED`, `SERVICE_PARTY_NOT_ALLOWED`, `SERVICE_PRINCIPAL_NOT_ALLOWED`, `SIGNUP_NOT_INVITED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"A dependency is unavailable or the feature is not enabled on this deployment. Codes: `AUTHENTICATION_UNAVAILABLE`, `AUTHORIZATION_UNAVAILABLE`, `GOVERNED_ISSUER_WORKFLOW_NOT_RELEASED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{"bearer":[]}],"summary":"List the authenticated issuer’s launch applications.","tags":["launch applications"]},"post":{"operationId":"LaunchApplicationController_create_v1","parameters":[{"$ref":"#/components/parameters/ServiceActAs"},{"$ref":"#/components/parameters/RequestId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"applicantNotes":{"type":"string","maxLength":5000},"contactEmail":{"type":"string","maxLength":320,"format":"email","pattern":"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},"legalEntityName":{"type":"string","minLength":1,"maxLength":200},"legalJurisdiction":{"type":"string","minLength":2,"maxLength":100},"links":{"default":{},"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":64},"additionalProperties":{"type":"string","maxLength":2048,"format":"uri","description":"Public navigation-only HTTPS URL with a DNS hostname; credentials, IP literals, localhost and private/local DNS suffixes are forbidden. This is not permission for server-side fetching.","pattern":"^https://"}},"projectDescription":{"type":"string","minLength":20,"maxLength":20000},"projectName":{"type":"string","minLength":2,"maxLength":120},"projectSlug":{"type":"string","pattern":"^[a-z0-9][a-z0-9-]{1,62}[a-z0-9]$"},"projectSummary":{"type":"string","minLength":10,"maxLength":500},"quoteAssetDeploymentId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"targetRaise":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"team":{"default":[],"maxItems":30,"type":"array","items":{"type":"object","properties":{"bio":{"type":"string","maxLength":1000},"name":{"type":"string","minLength":1,"maxLength":100},"role":{"type":"string","minLength":1,"maxLength":100}},"required":["name","role"],"additionalProperties":false}},"tokenName":{"type":"string","minLength":2,"maxLength":120},"tokenSymbol":{"type":"string","minLength":2,"maxLength":15,"pattern":"^[A-Z0-9][A-Z0-9._-]*$"},"tokenomics":{"default":{},"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{}},"websiteUrl":{"type":"string","maxLength":2048,"format":"uri","description":"Public navigation-only HTTPS URL with a DNS hostname; credentials, IP literals, localhost and private/local DNS suffixes are forbidden. This is not permission for server-side fetching.","pattern":"^https://"}},"required":["links","projectName","projectSlug","team","tokenomics"],"additionalProperties":false}}}},"responses":{"201":{"description":"The created draft.","content":{"application/json":{"schema":{"type":"object","properties":{"applicantNotes":{"type":["string","null"]},"contactEmail":{"type":["string","null"]},"createdAt":{"type":"string"},"decidedAt":{"type":["string","null"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"legalEntityName":{"type":["string","null"]},"legalJurisdiction":{"type":["string","null"]},"links":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":64},"additionalProperties":{"type":"string","maxLength":2048,"format":"uri","description":"Public navigation-only HTTPS URL with a DNS hostname; credentials, IP literals, localhost and private/local DNS suffixes are forbidden. This is not permission for server-side fetching.","pattern":"^https://"}},"networkId":{"type":"string","pattern":"^canton:[-_a-zA-Z0-9]{1,32}$"},"projectDescription":{"type":["string","null"]},"projectName":{"type":"string"},"projectSlug":{"type":"string"},"projectSummary":{"type":["string","null"]},"quoteAssetDeploymentId":{"type":["string","null"]},"status":{"type":"string"},"submissionVersion":{"type":"integer","minimum":0,"maximum":9007199254740991},"submittedAt":{"type":["string","null"]},"targetRaise":{"type":["string","null"]},"team":{"maxItems":30,"type":"array","items":{"type":"object","properties":{"bio":{"type":"string","maxLength":1000},"name":{"type":"string","minLength":1,"maxLength":100},"role":{"type":"string","minLength":1,"maxLength":100}},"required":["name","role"],"additionalProperties":false}},"tokenName":{"type":["string","null"]},"tokenSymbol":{"type":["string","null"]},"tokenomics":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{}},"updatedAt":{"type":"string"},"websiteUrl":{"type":["string","null"]}},"required":["applicantNotes","contactEmail","createdAt","decidedAt","id","legalEntityName","legalJurisdiction","links","networkId","projectDescription","projectName","projectSlug","projectSummary","quoteAssetDeploymentId","status","submissionVersion","submittedAt","targetRaise","team","tokenName","tokenSymbol","tokenomics","updatedAt","websiteUrl"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The request is malformed or failed validation. Codes: `VALIDATION_FAILED`, `AMBIGUOUS_CREDENTIALS`, `SERVICE_ACT_AS_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `AUTHENTICATION_REQUIRED`, `INVALID_AUTHORIZATION_HEADER`, `INVALID_ACCESS_TOKEN`, `SESSION_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Codes: `ACCOUNT_RESTRICTED`, `ANONYMOUS_ACCOUNT_NOT_ALLOWED`, `API_KEY_ROUTE_NOT_ALLOWED`, `SERVICE_PARTY_NOT_ALLOWED`, `SERVICE_PRINCIPAL_NOT_ALLOWED`, `SIGNUP_NOT_INVITED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"413":{"description":"The request body exceeds the size limit.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"428":{"description":"The signed-in account must accept the current product terms first. Codes: `PRODUCT_LEGAL_ACCEPTANCE_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"A dependency is unavailable or the feature is not enabled on this deployment. Codes: `AUTHENTICATION_UNAVAILABLE`, `AUTHORIZATION_UNAVAILABLE`, `GOVERNED_ISSUER_WORKFLOW_NOT_RELEASED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{"bearer":[]}],"summary":"Create a private launch application draft.","tags":["launch applications"]}},"/api/v1/launch-applications/{applicationId}":{"get":{"operationId":"LaunchApplicationController_get_v1","parameters":[{"name":"applicationId","required":true,"in":"path","schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},{"$ref":"#/components/parameters/ServiceActAs"},{"$ref":"#/components/parameters/RequestId"}],"responses":{"200":{"description":"The owned launch application.","content":{"application/json":{"schema":{"type":"object","properties":{"applicantNotes":{"type":["string","null"]},"contactEmail":{"type":["string","null"]},"createdAt":{"type":"string"},"decidedAt":{"type":["string","null"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"legalEntityName":{"type":["string","null"]},"legalJurisdiction":{"type":["string","null"]},"links":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":64},"additionalProperties":{"type":"string","maxLength":2048,"format":"uri","description":"Public navigation-only HTTPS URL with a DNS hostname; credentials, IP literals, localhost and private/local DNS suffixes are forbidden. This is not permission for server-side fetching.","pattern":"^https://"}},"networkId":{"type":"string","pattern":"^canton:[-_a-zA-Z0-9]{1,32}$"},"projectDescription":{"type":["string","null"]},"projectName":{"type":"string"},"projectSlug":{"type":"string"},"projectSummary":{"type":["string","null"]},"quoteAssetDeploymentId":{"type":["string","null"]},"status":{"type":"string"},"submissionVersion":{"type":"integer","minimum":0,"maximum":9007199254740991},"submittedAt":{"type":["string","null"]},"targetRaise":{"type":["string","null"]},"team":{"maxItems":30,"type":"array","items":{"type":"object","properties":{"bio":{"type":"string","maxLength":1000},"name":{"type":"string","minLength":1,"maxLength":100},"role":{"type":"string","minLength":1,"maxLength":100}},"required":["name","role"],"additionalProperties":false}},"tokenName":{"type":["string","null"]},"tokenSymbol":{"type":["string","null"]},"tokenomics":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{}},"updatedAt":{"type":"string"},"websiteUrl":{"type":["string","null"]}},"required":["applicantNotes","contactEmail","createdAt","decidedAt","id","legalEntityName","legalJurisdiction","links","networkId","projectDescription","projectName","projectSlug","projectSummary","quoteAssetDeploymentId","status","submissionVersion","submittedAt","targetRaise","team","tokenName","tokenSymbol","tokenomics","updatedAt","websiteUrl"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The request is malformed or failed validation. Codes: `VALIDATION_FAILED`, `AMBIGUOUS_CREDENTIALS`, `SERVICE_ACT_AS_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `AUTHENTICATION_REQUIRED`, `INVALID_AUTHORIZATION_HEADER`, `INVALID_ACCESS_TOKEN`, `SESSION_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Codes: `ACCOUNT_RESTRICTED`, `ANONYMOUS_ACCOUNT_NOT_ALLOWED`, `API_KEY_ROUTE_NOT_ALLOWED`, `SERVICE_PARTY_NOT_ALLOWED`, `SERVICE_PRINCIPAL_NOT_ALLOWED`, `SIGNUP_NOT_INVITED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"No resource the caller may see matches the path.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"A dependency is unavailable or the feature is not enabled on this deployment. Codes: `AUTHENTICATION_UNAVAILABLE`, `AUTHORIZATION_UNAVAILABLE`, `GOVERNED_ISSUER_WORKFLOW_NOT_RELEASED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{"bearer":[]}],"summary":"Get one owned launch application.","tags":["launch applications"]},"patch":{"operationId":"LaunchApplicationController_update_v1","parameters":[{"name":"applicationId","required":true,"in":"path","schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},{"$ref":"#/components/parameters/ServiceActAs"},{"$ref":"#/components/parameters/RequestId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"applicantNotes":{"type":"string","maxLength":5000},"contactEmail":{"type":"string","maxLength":320,"format":"email","pattern":"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},"legalEntityName":{"type":"string","minLength":1,"maxLength":200},"legalJurisdiction":{"type":"string","minLength":2,"maxLength":100},"links":{"default":{},"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":64},"additionalProperties":{"type":"string","maxLength":2048,"format":"uri","description":"Public navigation-only HTTPS URL with a DNS hostname; credentials, IP literals, localhost and private/local DNS suffixes are forbidden. This is not permission for server-side fetching.","pattern":"^https://"}},"projectDescription":{"type":"string","minLength":20,"maxLength":20000},"projectName":{"type":"string","minLength":2,"maxLength":120},"projectSlug":{"type":"string","pattern":"^[a-z0-9][a-z0-9-]{1,62}[a-z0-9]$"},"projectSummary":{"type":"string","minLength":10,"maxLength":500},"quoteAssetDeploymentId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"targetRaise":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"team":{"default":[],"maxItems":30,"type":"array","items":{"type":"object","properties":{"bio":{"type":"string","maxLength":1000},"name":{"type":"string","minLength":1,"maxLength":100},"role":{"type":"string","minLength":1,"maxLength":100}},"required":["name","role"],"additionalProperties":false}},"tokenName":{"type":"string","minLength":2,"maxLength":120},"tokenSymbol":{"type":"string","minLength":2,"maxLength":15,"pattern":"^[A-Z0-9][A-Z0-9._-]*$"},"tokenomics":{"default":{},"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{}},"websiteUrl":{"type":"string","maxLength":2048,"format":"uri","description":"Public navigation-only HTTPS URL with a DNS hostname; credentials, IP literals, localhost and private/local DNS suffixes are forbidden. This is not permission for server-side fetching.","pattern":"^https://"}},"additionalProperties":false}}}},"responses":{"200":{"description":"The updated application.","content":{"application/json":{"schema":{"type":"object","properties":{"applicantNotes":{"type":["string","null"]},"contactEmail":{"type":["string","null"]},"createdAt":{"type":"string"},"decidedAt":{"type":["string","null"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"legalEntityName":{"type":["string","null"]},"legalJurisdiction":{"type":["string","null"]},"links":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":64},"additionalProperties":{"type":"string","maxLength":2048,"format":"uri","description":"Public navigation-only HTTPS URL with a DNS hostname; credentials, IP literals, localhost and private/local DNS suffixes are forbidden. This is not permission for server-side fetching.","pattern":"^https://"}},"networkId":{"type":"string","pattern":"^canton:[-_a-zA-Z0-9]{1,32}$"},"projectDescription":{"type":["string","null"]},"projectName":{"type":"string"},"projectSlug":{"type":"string"},"projectSummary":{"type":["string","null"]},"quoteAssetDeploymentId":{"type":["string","null"]},"status":{"type":"string"},"submissionVersion":{"type":"integer","minimum":0,"maximum":9007199254740991},"submittedAt":{"type":["string","null"]},"targetRaise":{"type":["string","null"]},"team":{"maxItems":30,"type":"array","items":{"type":"object","properties":{"bio":{"type":"string","maxLength":1000},"name":{"type":"string","minLength":1,"maxLength":100},"role":{"type":"string","minLength":1,"maxLength":100}},"required":["name","role"],"additionalProperties":false}},"tokenName":{"type":["string","null"]},"tokenSymbol":{"type":["string","null"]},"tokenomics":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{}},"updatedAt":{"type":"string"},"websiteUrl":{"type":["string","null"]}},"required":["applicantNotes","contactEmail","createdAt","decidedAt","id","legalEntityName","legalJurisdiction","links","networkId","projectDescription","projectName","projectSlug","projectSummary","quoteAssetDeploymentId","status","submissionVersion","submittedAt","targetRaise","team","tokenName","tokenSymbol","tokenomics","updatedAt","websiteUrl"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The request is malformed or failed validation. Codes: `VALIDATION_FAILED`, `AMBIGUOUS_CREDENTIALS`, `SERVICE_ACT_AS_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `AUTHENTICATION_REQUIRED`, `INVALID_AUTHORIZATION_HEADER`, `INVALID_ACCESS_TOKEN`, `SESSION_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Codes: `ACCOUNT_RESTRICTED`, `ANONYMOUS_ACCOUNT_NOT_ALLOWED`, `API_KEY_ROUTE_NOT_ALLOWED`, `SERVICE_PARTY_NOT_ALLOWED`, `SERVICE_PRINCIPAL_NOT_ALLOWED`, `SIGNUP_NOT_INVITED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"No resource the caller may see matches the path.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"413":{"description":"The request body exceeds the size limit.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"428":{"description":"The signed-in account must accept the current product terms first. Codes: `PRODUCT_LEGAL_ACCEPTANCE_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"A dependency is unavailable or the feature is not enabled on this deployment. Codes: `AUTHENTICATION_UNAVAILABLE`, `AUTHORIZATION_UNAVAILABLE`, `GOVERNED_ISSUER_WORKFLOW_NOT_RELEASED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{"bearer":[]}],"summary":"Edit a draft or changes-requested application.","tags":["launch applications"]}},"/api/v1/launch-applications/{applicationId}/documents":{"get":{"operationId":"LaunchApplicationController_listDocuments_v1","parameters":[{"name":"applicationId","required":true,"in":"path","schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},{"$ref":"#/components/parameters/ServiceActAs"},{"$ref":"#/components/parameters/RequestId"}],"responses":{"200":{"description":"Owned application document statuses.","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"contentType":{"type":"string","const":"application/pdf"},"documentType":{"type":"string","enum":["pitch_deck","legal","kyb","tokenomics","audit","other"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"originalFilename":{"type":"string"},"scanReason":{"type":["string","null"]},"scanStatus":{"type":"string","enum":["pending","clean","rejected","failed"]},"sha256":{"type":"string","pattern":"^[0-9a-f]{64}$"},"sizeBytes":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"uploadedAt":{"type":"string"},"verifiedAt":{"type":["string","null"]}},"required":["contentType","documentType","id","originalFilename","scanReason","scanStatus","sha256","sizeBytes","uploadedAt","verifiedAt"],"additionalProperties":false}}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The request is malformed or failed validation. Codes: `VALIDATION_FAILED`, `AMBIGUOUS_CREDENTIALS`, `SERVICE_ACT_AS_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `AUTHENTICATION_REQUIRED`, `INVALID_AUTHORIZATION_HEADER`, `INVALID_ACCESS_TOKEN`, `SESSION_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Codes: `ACCOUNT_RESTRICTED`, `ANONYMOUS_ACCOUNT_NOT_ALLOWED`, `API_KEY_ROUTE_NOT_ALLOWED`, `SERVICE_PARTY_NOT_ALLOWED`, `SERVICE_PRINCIPAL_NOT_ALLOWED`, `SIGNUP_NOT_INVITED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"No resource the caller may see matches the path.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"A dependency is unavailable or the feature is not enabled on this deployment. Codes: `AUTHENTICATION_UNAVAILABLE`, `AUTHORIZATION_UNAVAILABLE`, `GOVERNED_ISSUER_WORKFLOW_NOT_RELEASED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{"bearer":[]}],"summary":"List document verification status for an owned application.","tags":["launch applications"]},"post":{"operationId":"LaunchApplicationController_registerDocument_v1","parameters":[{"name":"applicationId","required":true,"in":"path","schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},{"$ref":"#/components/parameters/ServiceActAs"},{"$ref":"#/components/parameters/RequestId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"uploadIntentId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["uploadIntentId"],"additionalProperties":false}}}},"responses":{"201":{"description":"The pending document record.","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"scanStatus":{"type":"string","const":"pending"},"storagePath":{"type":"string"}},"required":["id","scanStatus","storagePath"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The request is malformed or failed validation. Codes: `VALIDATION_FAILED`, `AMBIGUOUS_CREDENTIALS`, `SERVICE_ACT_AS_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `AUTHENTICATION_REQUIRED`, `INVALID_AUTHORIZATION_HEADER`, `INVALID_ACCESS_TOKEN`, `SESSION_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Codes: `ACCOUNT_RESTRICTED`, `ANONYMOUS_ACCOUNT_NOT_ALLOWED`, `API_KEY_ROUTE_NOT_ALLOWED`, `SERVICE_PARTY_NOT_ALLOWED`, `SERVICE_PRINCIPAL_NOT_ALLOWED`, `SIGNUP_NOT_INVITED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"No resource the caller may see matches the path.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"413":{"description":"The request body exceeds the size limit.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"428":{"description":"The signed-in account must accept the current product terms first. Codes: `PRODUCT_LEGAL_ACCEPTANCE_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"A dependency is unavailable or the feature is not enabled on this deployment. Codes: `AUTHENTICATION_UNAVAILABLE`, `AUTHORIZATION_UNAVAILABLE`, `GOVERNED_ISSUER_WORKFLOW_NOT_RELEASED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{"bearer":[]}],"summary":"Register a completed quota-reserved private document upload.","tags":["launch applications"]}},"/api/v1/launch-applications/{applicationId}/submit":{"post":{"operationId":"LaunchApplicationController_submit_v1","parameters":[{"name":"applicationId","required":true,"in":"path","schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},{"$ref":"#/components/parameters/ServiceActAs"},{"$ref":"#/components/parameters/RequestId"}],"responses":{"201":{"description":"The submitted application.","content":{"application/json":{"schema":{"type":"object","properties":{"applicantNotes":{"type":["string","null"]},"contactEmail":{"type":["string","null"]},"createdAt":{"type":"string"},"decidedAt":{"type":["string","null"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"legalEntityName":{"type":["string","null"]},"legalJurisdiction":{"type":["string","null"]},"links":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":64},"additionalProperties":{"type":"string","maxLength":2048,"format":"uri","description":"Public navigation-only HTTPS URL with a DNS hostname; credentials, IP literals, localhost and private/local DNS suffixes are forbidden. This is not permission for server-side fetching.","pattern":"^https://"}},"networkId":{"type":"string","pattern":"^canton:[-_a-zA-Z0-9]{1,32}$"},"projectDescription":{"type":["string","null"]},"projectName":{"type":"string"},"projectSlug":{"type":"string"},"projectSummary":{"type":["string","null"]},"quoteAssetDeploymentId":{"type":["string","null"]},"status":{"type":"string"},"submissionVersion":{"type":"integer","minimum":0,"maximum":9007199254740991},"submittedAt":{"type":["string","null"]},"targetRaise":{"type":["string","null"]},"team":{"maxItems":30,"type":"array","items":{"type":"object","properties":{"bio":{"type":"string","maxLength":1000},"name":{"type":"string","minLength":1,"maxLength":100},"role":{"type":"string","minLength":1,"maxLength":100}},"required":["name","role"],"additionalProperties":false}},"tokenName":{"type":["string","null"]},"tokenSymbol":{"type":["string","null"]},"tokenomics":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{}},"updatedAt":{"type":"string"},"websiteUrl":{"type":["string","null"]}},"required":["applicantNotes","contactEmail","createdAt","decidedAt","id","legalEntityName","legalJurisdiction","links","networkId","projectDescription","projectName","projectSlug","projectSummary","quoteAssetDeploymentId","status","submissionVersion","submittedAt","targetRaise","team","tokenName","tokenSymbol","tokenomics","updatedAt","websiteUrl"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The request is malformed or failed validation. Codes: `VALIDATION_FAILED`, `AMBIGUOUS_CREDENTIALS`, `SERVICE_ACT_AS_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `AUTHENTICATION_REQUIRED`, `INVALID_AUTHORIZATION_HEADER`, `INVALID_ACCESS_TOKEN`, `SESSION_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Codes: `ACCOUNT_RESTRICTED`, `ANONYMOUS_ACCOUNT_NOT_ALLOWED`, `API_KEY_ROUTE_NOT_ALLOWED`, `SERVICE_PARTY_NOT_ALLOWED`, `SERVICE_PRINCIPAL_NOT_ALLOWED`, `SIGNUP_NOT_INVITED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"No resource the caller may see matches the path.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"428":{"description":"The signed-in account must accept the current product terms first. Codes: `PRODUCT_LEGAL_ACCEPTANCE_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"A dependency is unavailable or the feature is not enabled on this deployment. Codes: `AUTHENTICATION_UNAVAILABLE`, `AUTHORIZATION_UNAVAILABLE`, `GOVERNED_ISSUER_WORKFLOW_NOT_RELEASED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{"bearer":[]}],"summary":"Submit a complete application to Mission Control.","tags":["launch applications"]}},"/api/v1/launch-applications/{applicationId}/withdraw":{"post":{"operationId":"LaunchApplicationController_withdraw_v1","parameters":[{"name":"applicationId","required":true,"in":"path","schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},{"$ref":"#/components/parameters/ServiceActAs"},{"$ref":"#/components/parameters/RequestId"}],"responses":{"200":{"description":"The withdrawn application.","content":{"application/json":{"schema":{"type":"object","properties":{"applicantNotes":{"type":["string","null"]},"contactEmail":{"type":["string","null"]},"createdAt":{"type":"string"},"decidedAt":{"type":["string","null"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"legalEntityName":{"type":["string","null"]},"legalJurisdiction":{"type":["string","null"]},"links":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":64},"additionalProperties":{"type":"string","maxLength":2048,"format":"uri","description":"Public navigation-only HTTPS URL with a DNS hostname; credentials, IP literals, localhost and private/local DNS suffixes are forbidden. This is not permission for server-side fetching.","pattern":"^https://"}},"networkId":{"type":"string","pattern":"^canton:[-_a-zA-Z0-9]{1,32}$"},"projectDescription":{"type":["string","null"]},"projectName":{"type":"string"},"projectSlug":{"type":"string"},"projectSummary":{"type":["string","null"]},"quoteAssetDeploymentId":{"type":["string","null"]},"status":{"type":"string"},"submissionVersion":{"type":"integer","minimum":0,"maximum":9007199254740991},"submittedAt":{"type":["string","null"]},"targetRaise":{"type":["string","null"]},"team":{"maxItems":30,"type":"array","items":{"type":"object","properties":{"bio":{"type":"string","maxLength":1000},"name":{"type":"string","minLength":1,"maxLength":100},"role":{"type":"string","minLength":1,"maxLength":100}},"required":["name","role"],"additionalProperties":false}},"tokenName":{"type":["string","null"]},"tokenSymbol":{"type":["string","null"]},"tokenomics":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{}},"updatedAt":{"type":"string"},"websiteUrl":{"type":["string","null"]}},"required":["applicantNotes","contactEmail","createdAt","decidedAt","id","legalEntityName","legalJurisdiction","links","networkId","projectDescription","projectName","projectSlug","projectSummary","quoteAssetDeploymentId","status","submissionVersion","submittedAt","targetRaise","team","tokenName","tokenSymbol","tokenomics","updatedAt","websiteUrl"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The request is malformed or failed validation. Codes: `VALIDATION_FAILED`, `AMBIGUOUS_CREDENTIALS`, `SERVICE_ACT_AS_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `AUTHENTICATION_REQUIRED`, `INVALID_AUTHORIZATION_HEADER`, `INVALID_ACCESS_TOKEN`, `SESSION_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Codes: `ACCOUNT_RESTRICTED`, `ANONYMOUS_ACCOUNT_NOT_ALLOWED`, `API_KEY_ROUTE_NOT_ALLOWED`, `SERVICE_PARTY_NOT_ALLOWED`, `SERVICE_PRINCIPAL_NOT_ALLOWED`, `SIGNUP_NOT_INVITED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"No resource the caller may see matches the path.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"428":{"description":"The signed-in account must accept the current product terms first. Codes: `PRODUCT_LEGAL_ACCEPTANCE_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"A dependency is unavailable or the feature is not enabled on this deployment. Codes: `AUTHENTICATION_UNAVAILABLE`, `AUTHORIZATION_UNAVAILABLE`, `GOVERNED_ISSUER_WORKFLOW_NOT_RELEASED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{"bearer":[]}],"summary":"Withdraw an owned application before final decision.","tags":["launch applications"]}},"/api/v1/launch-applications/{applicationId}/documents/uploads":{"post":{"operationId":"LaunchApplicationController_reserveDocumentUpload_v1","parameters":[{"name":"applicationId","required":true,"in":"path","schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},{"$ref":"#/components/parameters/ServiceActAs"},{"$ref":"#/components/parameters/RequestId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"contentType":{"type":"string","const":"application/pdf"},"documentType":{"type":"string","enum":["pitch_deck","legal","kyb","tokenomics","audit","other"]},"originalFilename":{"type":"string","minLength":1,"maxLength":255},"sha256":{"type":"string","pattern":"^[0-9a-f]{64}$"},"sizeBytes":{"type":"integer","minimum":1,"maximum":26214400}},"required":["contentType","documentType","originalFilename","sha256","sizeBytes"],"additionalProperties":false}}}},"responses":{"201":{"description":"Short-lived upload reservation.","content":{"application/json":{"schema":{"type":"object","properties":{"dataMode":{"type":"string","enum":["projected","simulated"]},"expiresAt":{"type":"string"},"intentId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"storagePath":{"type":"string"},"uploadMethod":{"type":"string","enum":["preview-simulation","supabase-authenticated-upload"]}},"required":["dataMode","expiresAt","intentId","storagePath","uploadMethod"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The request is malformed or failed validation. Codes: `VALIDATION_FAILED`, `AMBIGUOUS_CREDENTIALS`, `SERVICE_ACT_AS_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `AUTHENTICATION_REQUIRED`, `INVALID_AUTHORIZATION_HEADER`, `INVALID_ACCESS_TOKEN`, `SESSION_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Codes: `ACCOUNT_RESTRICTED`, `ANONYMOUS_ACCOUNT_NOT_ALLOWED`, `API_KEY_ROUTE_NOT_ALLOWED`, `SERVICE_PARTY_NOT_ALLOWED`, `SERVICE_PRINCIPAL_NOT_ALLOWED`, `SIGNUP_NOT_INVITED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"No resource the caller may see matches the path.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"413":{"description":"The request body exceeds the size limit.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"428":{"description":"The signed-in account must accept the current product terms first. Codes: `PRODUCT_LEGAL_ACCEPTANCE_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"A dependency is unavailable or the feature is not enabled on this deployment. Codes: `AUTHENTICATION_UNAVAILABLE`, `AUTHORIZATION_UNAVAILABLE`, `GOVERNED_ISSUER_WORKFLOW_NOT_RELEASED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{"bearer":[]}],"summary":"Reserve quota and authorize one exact private PDF upload.","tags":["launch applications"]}},"/api/v1/launches/{launchReference}/participations/prepare":{"post":{"operationId":"LaunchParticipationController_prepare_v1","parameters":[{"name":"launchReference","required":true,"in":"path","schema":{"type":"string","minLength":2,"maxLength":128}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":256,"pattern":"^[A-Za-z0-9._:-]+$"}},{"$ref":"#/components/parameters/ServiceActAs"},{"$ref":"#/components/parameters/RequestId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"commitmentAmount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"minimumAllocation":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"walletConnectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["commitmentAmount","minimumAllocation","walletConnectionId"],"additionalProperties":false}}}},"responses":{"201":{"description":"A wallet-neutral preview action and durable operation.","content":{"application/json":{"schema":{"type":"object","properties":{"execution":{"type":"string","const":"simulated"},"operation":{"type":"object","properties":{"expiresAt":{"type":"string"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"status":{"type":"string"}},"required":["expiresAt","id","status"],"additionalProperties":false},"previewTerms":{"type":"object","properties":{"commitmentAmount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"indicativeAllocation":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"paymentInstrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":512},"id":{"type":"string","minLength":1,"maxLength":512}},"required":["admin","id"],"additionalProperties":false},"pricePerToken":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["commitmentAmount","indicativeAllocation","paymentInstrument","pricePerToken"],"additionalProperties":false},"walletAction":{"type":"object","properties":{"expiresAt":{"type":"string"},"intent":{"type":"object","properties":{"contributorPartyId":{"type":"string","minLength":3,"maxLength":512},"launchReference":{"type":"string"},"minimumAllocation":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"payment":{"type":"object","properties":{"amount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"instrumentId":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":512},"id":{"type":"string","minLength":1,"maxLength":512}},"required":["admin","id"],"additionalProperties":false}},"required":["amount","instrumentId"],"additionalProperties":false},"type":{"type":"string","const":"launch.contribute"}},"required":["contributorPartyId","launchReference","minimumAllocation","payment","type"],"additionalProperties":false},"kind":{"type":"string","const":"canton.prepare-execute"},"method":{"type":"string","const":"prepareExecute"},"networkId":{"type":"string","pattern":"^canton:[-_a-zA-Z0-9]{1,32}$"},"operationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"readiness":{"type":"string","enum":["daml-command-builder-not-configured","ready"]},"request":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["application-submission","interactive-submission","wallet-submission"]},"commandId":{"type":"string","minLength":1,"maxLength":255},"actAs":{"minItems":1,"maxItems":8,"type":"array","items":{"type":"string","minLength":3,"maxLength":512}},"synchronizerId":{"type":"string","minLength":1,"maxLength":512},"hashingSchemeVersion":{"type":"string","minLength":1,"maxLength":64},"signatureFormat":{"type":"string","const":"SIGNATURE_FORMAT_RAW"},"signingAlgorithmSpec":{"type":"string","const":"SIGNING_ALGORITHM_SPEC_ED25519"},"signedBy":{"anyOf":[{"type":"string","minLength":4,"maxLength":160},{"type":"null"}]},"preparedTransaction":{"anyOf":[{"type":"string","maxLength":4194304},{"type":"null"}]},"preparedTransactionHash":{"anyOf":[{"type":"string","maxLength":512},{"type":"null"}]}},"required":["kind","commandId","actAs","synchronizerId","hashingSchemeVersion","signatureFormat","signingAlgorithmSpec","signedBy","preparedTransaction","preparedTransactionHash"],"additionalProperties":false},{"type":"null"}]},"standard":{"type":"string","const":"CIP-0103"}},"required":["expiresAt","intent","kind","method","networkId","operationId","readiness","request","standard"],"additionalProperties":false}},"required":["execution","operation","previewTerms","walletAction"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The request is malformed or failed validation. Codes: `VALIDATION_FAILED`, `IDEMPOTENCY_KEY_REQUIRED`, `AMBIGUOUS_CREDENTIALS`, `SERVICE_ACT_AS_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `AUTHENTICATION_REQUIRED`, `INVALID_AUTHORIZATION_HEADER`, `INVALID_ACCESS_TOKEN`, `SESSION_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Codes: `ACCOUNT_RESTRICTED`, `ANONYMOUS_ACCOUNT_NOT_ALLOWED`, `API_KEY_ROUTE_NOT_ALLOWED`, `SERVICE_PARTY_NOT_ALLOWED`, `SERVICE_PRINCIPAL_NOT_ALLOWED`, `SIGNUP_NOT_INVITED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"No resource the caller may see matches the path.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The request conflicts with current state, or the Idempotency-Key was reused with a different request (`IDEMPOTENCY_KEY_CONFLICT`; the former `IDEMPOTENCY_CONFLICT` is a deprecated alias, no longer returned, that clients handle the same way for one release). Codes: `IDEMPOTENCY_KEY_CONFLICT`, `IDEMPOTENCY_CONFLICT`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"413":{"description":"The request body exceeds the size limit.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"428":{"description":"The signed-in account must accept the current product terms first. Codes: `PRODUCT_LEGAL_ACCEPTANCE_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"A dependency is unavailable or the feature is not enabled on this deployment. Codes: `AUTHENTICATION_UNAVAILABLE`, `AUTHORIZATION_UNAVAILABLE`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{"bearer":[]}],"summary":"Create an idempotent wallet-authorized launch contribution intent.","tags":["launch participation"]}},"/api/v1/launch-media/uploads":{"post":{"operationId":"LaunchMediaController_reserve_v1","parameters":[{"$ref":"#/components/parameters/ServiceActAs"},{"$ref":"#/components/parameters/RequestId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"contentType":{"type":"string","enum":["image/gif","image/jpeg","image/png","image/webp","video/mp4"]},"height":{"type":"integer","exclusiveMinimum":0,"maximum":16384},"originalFilename":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[A-Za-z0-9][A-Za-z0-9._ -]{0,127}$"},"role":{"type":"string","enum":["token_banner","token_icon"]},"sha256":{"type":"string","pattern":"^[0-9a-f]{64}$"},"sizeBytes":{"type":"integer","exclusiveMinimum":0,"maximum":30000000},"width":{"type":"integer","exclusiveMinimum":0,"maximum":16384}},"required":["contentType","originalFilename","role","sha256","sizeBytes"],"additionalProperties":false}}}},"responses":{"201":{"description":"A one-use upload reservation.","content":{"application/json":{"schema":{"type":"object","properties":{"dataMode":{"type":"string","enum":["durable","simulated"]},"expiresAt":{"type":"string"},"upload":{"type":"object","properties":{"fieldName":{"type":"string","const":"file"},"maxBytes":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"method":{"type":"string","const":"POST"},"path":{"type":"string"},"transport":{"type":"string","const":"multipart/form-data"}},"required":["fieldName","maxBytes","method","path","transport"],"additionalProperties":false},"uploadId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["dataMode","expiresAt","upload","uploadId"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The request is malformed or failed validation. Codes: `VALIDATION_FAILED`, `AMBIGUOUS_CREDENTIALS`, `SERVICE_ACT_AS_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `AUTHENTICATION_REQUIRED`, `INVALID_AUTHORIZATION_HEADER`, `INVALID_ACCESS_TOKEN`, `SESSION_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Codes: `ACCOUNT_RESTRICTED`, `ANONYMOUS_ACCOUNT_NOT_ALLOWED`, `API_KEY_ROUTE_NOT_ALLOWED`, `SERVICE_PARTY_NOT_ALLOWED`, `SERVICE_PRINCIPAL_NOT_ALLOWED`, `SIGNUP_NOT_INVITED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"413":{"description":"The request body exceeds the size limit.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"428":{"description":"The signed-in account must accept the current product terms first. Codes: `PRODUCT_LEGAL_ACCEPTANCE_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"A dependency is unavailable or the feature is not enabled on this deployment. Codes: `AUTHENTICATION_UNAVAILABLE`, `AUTHORIZATION_UNAVAILABLE`, `LAUNCH_MEDIA_PIPELINE_NOT_CONFIGURED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{"bearer":[]}],"summary":"Reserve an exact launch-media upload descriptor.","tags":["launch media"]}},"/api/v1/launch-media/uploads/{uploadId}/content":{"post":{"operationId":"LaunchMediaController_complete_v1","parameters":[{"name":"uploadId","required":true,"in":"path","schema":{"format":"uuid","type":"string"}},{"$ref":"#/components/parameters/ServiceActAs"},{"$ref":"#/components/parameters/RequestId"}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary"}},"required":["file"]}}}},"responses":{"201":{"description":"Media metadata: published with a public URL, or still quarantined (no scanner configured).","content":{"application/json":{"schema":{"type":"object","properties":{"contentType":{"type":"string","enum":["image/gif","image/jpeg","image/png","image/webp","video/mp4"]},"dataMode":{"type":"string","enum":["durable","simulated"]},"height":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"mediaId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"publicUrl":{"anyOf":[{"type":"string","format":"uri"},{"type":"null"}]},"role":{"type":"string","enum":["token_banner","token_icon"]},"sha256":{"type":"string","pattern":"^[0-9a-f]{64}$"},"sizeBytes":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"status":{"type":"string","enum":["preview_accepted","published","quarantined","rejected","taken_down"]},"storage":{"type":"string","enum":["discarded-preview","removed","supabase-private","supabase-public","supabase-quarantine"]},"width":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]}},"required":["contentType","dataMode","height","mediaId","publicUrl","role","sha256","sizeBytes","status","storage","width"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The request is malformed or failed validation. Codes: `VALIDATION_FAILED`, `AMBIGUOUS_CREDENTIALS`, `SERVICE_ACT_AS_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `AUTHENTICATION_REQUIRED`, `INVALID_AUTHORIZATION_HEADER`, `INVALID_ACCESS_TOKEN`, `SESSION_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Codes: `ACCOUNT_RESTRICTED`, `ANONYMOUS_ACCOUNT_NOT_ALLOWED`, `API_KEY_ROUTE_NOT_ALLOWED`, `SERVICE_PARTY_NOT_ALLOWED`, `SERVICE_PRINCIPAL_NOT_ALLOWED`, `SIGNUP_NOT_INVITED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"No resource the caller may see matches the path.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"413":{"description":"The request body exceeds the size limit.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"428":{"description":"The signed-in account must accept the current product terms first. Codes: `PRODUCT_LEGAL_ACCEPTANCE_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"A dependency is unavailable or the feature is not enabled on this deployment. Codes: `AUTHENTICATION_UNAVAILABLE`, `AUTHORIZATION_UNAVAILABLE`, `LAUNCH_MEDIA_PIPELINE_NOT_CONFIGURED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{"bearer":[]}],"summary":"Consume a reservation with exact multipart bytes: quarantine, validate, strip metadata, scan, publish.","tags":["launch media"]}},"/api/v1/launch-media/{mediaId}":{"get":{"operationId":"LaunchMediaController_get_v1","parameters":[{"name":"mediaId","required":true,"in":"path","schema":{"format":"uuid","type":"string"}},{"$ref":"#/components/parameters/ServiceActAs"},{"$ref":"#/components/parameters/RequestId"}],"responses":{"200":{"description":"Owned media metadata and publication status.","content":{"application/json":{"schema":{"type":"object","properties":{"contentType":{"type":"string","enum":["image/gif","image/jpeg","image/png","image/webp","video/mp4"]},"dataMode":{"type":"string","enum":["durable","simulated"]},"height":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"mediaId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"publicUrl":{"anyOf":[{"type":"string","format":"uri"},{"type":"null"}]},"role":{"type":"string","enum":["token_banner","token_icon"]},"sha256":{"type":"string","pattern":"^[0-9a-f]{64}$"},"sizeBytes":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"status":{"type":"string","enum":["preview_accepted","published","quarantined","rejected","taken_down"]},"storage":{"type":"string","enum":["discarded-preview","removed","supabase-private","supabase-public","supabase-quarantine"]},"width":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]}},"required":["contentType","dataMode","height","mediaId","publicUrl","role","sha256","sizeBytes","status","storage","width"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The request is malformed or failed validation. Codes: `VALIDATION_FAILED`, `AMBIGUOUS_CREDENTIALS`, `SERVICE_ACT_AS_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `AUTHENTICATION_REQUIRED`, `INVALID_AUTHORIZATION_HEADER`, `INVALID_ACCESS_TOKEN`, `SESSION_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Codes: `ACCOUNT_RESTRICTED`, `ANONYMOUS_ACCOUNT_NOT_ALLOWED`, `API_KEY_ROUTE_NOT_ALLOWED`, `SERVICE_PARTY_NOT_ALLOWED`, `SERVICE_PRINCIPAL_NOT_ALLOWED`, `SIGNUP_NOT_INVITED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"No resource the caller may see matches the path.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"A dependency is unavailable or the feature is not enabled on this deployment. Codes: `AUTHENTICATION_UNAVAILABLE`, `AUTHORIZATION_UNAVAILABLE`, `LAUNCH_MEDIA_PIPELINE_NOT_CONFIGURED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{"bearer":[]}],"summary":"Read owned launch-media processing status.","tags":["launch media"]}},"/api/v1/me/avatar":{"post":{"operationId":"ProfileAvatarController_upload_v1","parameters":[{"$ref":"#/components/parameters/ServiceActAs"},{"$ref":"#/components/parameters/RequestId"}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary"}},"required":["file"]}}}},"responses":{"201":{"description":"Published (or quarantined) avatar.","content":{"application/json":{"schema":{"type":"object","properties":{"avatarPath":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]},"contentType":{"type":"string","enum":["image/jpeg","image/png","image/webp"]},"height":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"mediaId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sha256":{"type":"string","pattern":"^[0-9a-f]{64}$"},"sizeBytes":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"status":{"type":"string","enum":["published","quarantined"]},"width":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"required":["avatarPath","contentType","height","mediaId","sha256","sizeBytes","status","width"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The request is malformed or failed validation. Codes: `VALIDATION_FAILED`, `AMBIGUOUS_CREDENTIALS`, `SERVICE_ACT_AS_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `AUTHENTICATION_REQUIRED`, `INVALID_AUTHORIZATION_HEADER`, `INVALID_ACCESS_TOKEN`, `SESSION_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Codes: `ACCOUNT_RESTRICTED`, `ANONYMOUS_ACCOUNT_NOT_ALLOWED`, `API_KEY_ROUTE_NOT_ALLOWED`, `SERVICE_PARTY_NOT_ALLOWED`, `SERVICE_PRINCIPAL_NOT_ALLOWED`, `SIGNUP_NOT_INVITED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"413":{"description":"The request body exceeds the size limit.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"428":{"description":"The signed-in account must accept the current product terms first. Codes: `PRODUCT_LEGAL_ACCEPTANCE_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"A dependency is unavailable or the feature is not enabled on this deployment. Codes: `AUTHENTICATION_UNAVAILABLE`, `AUTHORIZATION_UNAVAILABLE`, `CUSTOM_AVATAR_UPLOAD_NOT_CONFIGURED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{"bearer":[]}],"summary":"Upload a custom avatar (PNG, JPEG or WebP, at most 5 MiB). Returns the avatarPath to set on the profile.","tags":["identity"]},"get":{"operationId":"ProfileAvatarController_url_v1","parameters":[{"$ref":"#/components/parameters/ServiceActAs"},{"$ref":"#/components/parameters/RequestId"}],"responses":{"200":{"description":"Signed avatar URL.","content":{"application/json":{"schema":{"type":"object","properties":{"avatarPath":{"type":"string","minLength":1,"maxLength":512},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"url":{"type":"string","format":"uri"}},"required":["avatarPath","expiresAt","url"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The request is malformed or failed validation. Codes: `AMBIGUOUS_CREDENTIALS`, `SERVICE_ACT_AS_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `AUTHENTICATION_REQUIRED`, `INVALID_AUTHORIZATION_HEADER`, `INVALID_ACCESS_TOKEN`, `SESSION_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Codes: `ACCOUNT_RESTRICTED`, `ANONYMOUS_ACCOUNT_NOT_ALLOWED`, `API_KEY_ROUTE_NOT_ALLOWED`, `SERVICE_PARTY_NOT_ALLOWED`, `SERVICE_PRINCIPAL_NOT_ALLOWED`, `SIGNUP_NOT_INVITED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"No published custom avatar: `CUSTOM_AVATAR_NOT_FOUND`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"A dependency is unavailable or the feature is not enabled on this deployment. Codes: `AUTHENTICATION_UNAVAILABLE`, `AUTHORIZATION_UNAVAILABLE`, `CUSTOM_AVATAR_UPLOAD_NOT_CONFIGURED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{"bearer":[]}],"summary":"A 10-minute signed URL for the caller’s published custom avatar.","tags":["identity"]}},"/api/v1/points/program":{"get":{"operationId":"PointsController_program_v1","parameters":[{"$ref":"#/components/parameters/RequestId"}],"responses":{"200":{"description":"Versioned, off-ledger Points policy.","content":{"application/json":{"schema":{"type":"object","properties":{"meta":{"type":"object","properties":{"asOf":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"authority":{"type":"string","const":"supanova-product"},"dataMode":{"type":"string","const":"simulated"},"disclaimer":{"type":"string","minLength":1,"maxLength":1024},"ledgerEffect":{"type":"string","const":"none"},"policyVersion":{"type":"string","const":"points-preview-2026-08-07.1"}},"required":["asOf","authority","dataMode","disclaimer","ledgerEffect","policyVersion"],"additionalProperties":false},"reset":{"type":"object","properties":{"cadence":{"type":"string","const":"daily"},"nextAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"timezone":{"type":"string","const":"UTC"}},"required":["cadence","nextAt","timezone"],"additionalProperties":false},"status":{"type":"string","const":"preview"},"tasks":{"minItems":3,"maxItems":3,"type":"array","items":{"oneOf":[{"type":"object","properties":{"awardPoints":{"type":"string","const":"5"},"cadence":{"type":"string","const":"once_per_utc_day"},"description":{"type":"string","minLength":1,"maxLength":500},"eligibleActions":{"type":"array","minItems":3,"maxItems":3,"prefixItems":[{"type":"string","const":"deposit"},{"type":"string","const":"withdrawal"},{"type":"string","const":"swap"}]},"id":{"type":"string","const":"daily_transaction"},"title":{"type":"string","const":"Daily Transaction"}},"required":["awardPoints","cadence","description","eligibleActions","id","title"],"additionalProperties":false},{"type":"object","properties":{"awardPoints":{"type":"string","const":"2"},"cadence":{"type":"string","const":"once_per_utc_day"},"description":{"type":"string","minLength":1,"maxLength":500},"id":{"type":"string","const":"daily_swap"},"threshold":{"type":"object","properties":{"currency":{"type":"string","const":"USD"},"operator":{"type":"string","const":"greater_than"},"value":{"type":"string","const":"10"}},"required":["currency","operator","value"],"additionalProperties":false},"title":{"type":"string","const":"Daily Swap"}},"required":["awardPoints","cadence","description","id","threshold","title"],"additionalProperties":false},{"type":"object","properties":{"awardPoints":{"type":"string","const":"10"},"cadence":{"type":"string","const":"once_per_utc_day"},"description":{"type":"string","minLength":1,"maxLength":500},"downstreamPointsShareBps":{"type":"string","const":"1000"},"id":{"type":"string","const":"daily_referral"},"qualification":{"type":"object","properties":{"depositThreshold":{"type":"object","properties":{"currency":{"type":"string","const":"USD"},"operator":{"type":"string","const":"greater_than_or_equal"},"value":{"type":"string","const":"10"},"valuationAuthority":{"type":"string","const":"server_reference_rate_at_confirmed_finality"}},"required":["currency","operator","value","valuationAuthority"],"additionalProperties":false},"signup":{"type":"string","const":"verified_product_profile"}},"required":["depositThreshold","signup"],"additionalProperties":false},"title":{"type":"string","const":"Daily Referral"}},"required":["awardPoints","cadence","description","downstreamPointsShareBps","id","qualification","title"],"additionalProperties":false}]}},"tiers":{"minItems":5,"maxItems":5,"type":"array","items":{"type":"object","properties":{"description":{"type":"string","minLength":1,"maxLength":500},"id":{"type":"string","enum":["stargazer","pathfinder","voyager","luminary","nova_prime"]},"minimumActiveWeeks":{"type":"integer","minimum":0,"maximum":52},"minimumPoints":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})$"},"name":{"type":"string","enum":["Stargazer","Pathfinder","Voyager","Luminary","Nova Prime"]}},"required":["description","id","minimumActiveWeeks","minimumPoints","name"],"additionalProperties":false}}},"required":["meta","reset","status","tasks","tiers"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"A durable, reviewed Supanova Points policy engine is not configured.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[],"summary":"Read the public product Points preview policy and daily reset.","tags":["points"]}},"/api/v1/points/leaderboard":{"get":{"operationId":"PointsController_leaderboard_v1","parameters":[{"name":"limit","required":false,"in":"query","schema":{"default":20,"type":"integer","minimum":1,"maximum":100}},{"name":"period","required":false,"in":"query","schema":{"default":"week","type":"string","enum":["week","all"]}},{"$ref":"#/components/parameters/RequestId"}],"responses":{"200":{"description":"A privacy-safe weekly or all-time preview leaderboard.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"points":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})$"},"profile":{"type":"object","properties":{"avatarPresetId":{"anyOf":[{"type":"string","pattern":"^supanova-(?:0[1-9]|1[0-2])$"},{"type":"null"}]},"displayName":{"type":"string","minLength":2,"maxLength":32},"username":{"type":"string","minLength":3,"maxLength":24,"pattern":"^[a-z][a-z0-9_]*$"},"visibility":{"type":"string","const":"public_opt_in"}},"required":["avatarPresetId","displayName","username","visibility"],"additionalProperties":false},"rank":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"tasksCompleted":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["points","profile","rank","tasksCompleted"],"additionalProperties":false}},"meta":{"type":"object","properties":{"asOf":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"authority":{"type":"string","const":"supanova-product"},"dataMode":{"type":"string","const":"simulated"},"disclaimer":{"type":"string","minLength":1,"maxLength":1024},"ledgerEffect":{"type":"string","const":"none"},"policyVersion":{"type":"string","const":"points-preview-2026-08-07.1"}},"required":["asOf","authority","dataMode","disclaimer","ledgerEffect","policyVersion"],"additionalProperties":false},"period":{"type":"string","enum":["week","all"]},"viewer":{"type":"null"}},"required":["items","meta","period","viewer"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The leaderboard query is invalid. Also: `VALIDATION_FAILED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"A durable, reviewed Supanova Points policy engine is not configured.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[],"summary":"Read a bounded Points leaderboard containing opted-in public profiles only.","tags":["points"]}},"/api/v1/me/points":{"get":{"operationId":"MyPointsController_summary_v1","parameters":[{"$ref":"#/components/parameters/ServiceActAs"},{"$ref":"#/components/parameters/RequestId"}],"responses":{"200":{"description":"Account-owned Points preview summary.","content":{"application/json":{"schema":{"type":"object","properties":{"balance":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})$"},"daily":{"type":"object","properties":{"availablePoints":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})$"},"completedTaskCount":{"type":"integer","minimum":0,"maximum":3},"date":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"resetAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"taskCount":{"type":"number","const":3},"tasks":{"minItems":3,"maxItems":3,"type":"array","items":{"type":"object","properties":{"awardPoints":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})$"},"awardedPoints":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})$"},"id":{"type":"string","enum":["daily_transaction","daily_swap","daily_referral"]},"status":{"type":"string","enum":["available","completed"]}},"required":["awardPoints","awardedPoints","id","status"],"additionalProperties":false}}},"required":["availablePoints","completedTaskCount","date","resetAt","taskCount","tasks"],"additionalProperties":false},"leaderboardRanks":{"type":"object","properties":{"all":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"week":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["all","week"],"additionalProperties":false},"meta":{"type":"object","properties":{"asOf":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"authority":{"type":"string","const":"supanova-product"},"dataMode":{"type":"string","const":"simulated"},"disclaimer":{"type":"string","minLength":1,"maxLength":1024},"ledgerEffect":{"type":"string","const":"none"},"policyVersion":{"type":"string","const":"points-preview-2026-08-07.1"}},"required":["asOf","authority","dataMode","disclaimer","ledgerEffect","policyVersion"],"additionalProperties":false},"progress":{"type":"object","properties":{"activeWeeks":{"type":"integer","minimum":0,"maximum":9007199254740991},"currentTier":{"type":"object","properties":{"description":{"type":"string","minLength":1,"maxLength":500},"id":{"type":"string","enum":["stargazer","pathfinder","voyager","luminary","nova_prime"]},"minimumActiveWeeks":{"type":"integer","minimum":0,"maximum":52},"minimumPoints":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})$"},"name":{"type":"string","enum":["Stargazer","Pathfinder","Voyager","Luminary","Nova Prime"]}},"required":["description","id","minimumActiveWeeks","minimumPoints","name"],"additionalProperties":false},"highestTierQualificationMet":{"type":"boolean"},"nextTier":{"anyOf":[{"type":"object","properties":{"description":{"type":"string","minLength":1,"maxLength":500},"id":{"type":"string","enum":["stargazer","pathfinder","voyager","luminary","nova_prime"]},"minimumActiveWeeks":{"type":"integer","minimum":0,"maximum":52},"minimumPoints":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})$"},"name":{"type":"string","enum":["Stargazer","Pathfinder","Voyager","Luminary","Nova Prime"]}},"required":["description","id","minimumActiveWeeks","minimumPoints","name"],"additionalProperties":false},{"type":"null"}]},"pointsToNextTier":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})$"}},"required":["activeWeeks","currentTier","highestTierQualificationMet","nextTier","pointsToNextTier"],"additionalProperties":false},"streak":{"type":"object","properties":{"bestDays":{"type":"integer","minimum":0,"maximum":9007199254740991},"completionRatePercent":{"type":"integer","minimum":0,"maximum":100},"currentDays":{"type":"integer","minimum":0,"maximum":9007199254740991},"recentDays":{"maxItems":31,"type":"array","items":{"type":"object","properties":{"completedTaskCount":{"type":"integer","minimum":0,"maximum":3},"date":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"status":{"type":"string","enum":["complete","partial","empty"]}},"required":["completedTaskCount","date","status"],"additionalProperties":false}}},"required":["bestDays","completionRatePercent","currentDays","recentDays"],"additionalProperties":false},"totals":{"type":"object","properties":{"qualifiedReferrals":{"type":"integer","minimum":0,"maximum":9007199254740991},"referralPoints":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})$"},"tasksCompleted":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["qualifiedReferrals","referralPoints","tasksCompleted"],"additionalProperties":false}},"required":["balance","daily","leaderboardRanks","meta","progress","streak","totals"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The request is malformed or failed validation. Codes: `AMBIGUOUS_CREDENTIALS`, `SERVICE_ACT_AS_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `AUTHENTICATION_REQUIRED`, `INVALID_AUTHORIZATION_HEADER`, `INVALID_ACCESS_TOKEN`, `SESSION_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Codes: `ACCOUNT_RESTRICTED`, `ANONYMOUS_ACCOUNT_NOT_ALLOWED`, `API_KEY_ROUTE_NOT_ALLOWED`, `SERVICE_PARTY_NOT_ALLOWED`, `SERVICE_PRINCIPAL_NOT_ALLOWED`, `SIGNUP_NOT_INVITED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"A durable, reviewed Supanova Points policy engine is not configured. Also: `AUTHENTICATION_UNAVAILABLE`, `AUTHORIZATION_UNAVAILABLE`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{"bearer":[]}],"summary":"Read the authenticated account Points summary and streak.","tags":["points"]}},"/api/v1/me/points/activity":{"get":{"operationId":"MyPointsController_activity_v1","parameters":[{"name":"cursor","required":false,"in":"query","schema":{"type":"string","minLength":1,"maxLength":512}},{"name":"kind","required":false,"in":"query","schema":{"type":"string","enum":["daily","swap","referral"]}},{"name":"limit","required":false,"in":"query","schema":{"default":20,"type":"integer","minimum":1,"maximum":50}},{"name":"status","required":false,"in":"query","schema":{"type":"string","enum":["credited","invited","accepted","reversed","corrected"]}},{"$ref":"#/components/parameters/ServiceActAs"},{"$ref":"#/components/parameters/RequestId"}],"responses":{"200":{"description":"Account-owned, filtered Points activity.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"detail":{"anyOf":[{"type":"string","minLength":1,"maxLength":500},{"type":"null"}]},"entryType":{"anyOf":[{"type":"string","enum":["earn","revoke","correction"]},{"type":"null"}]},"id":{"type":"string","minLength":1,"maxLength":128},"kind":{"type":"string","enum":["daily","swap","referral"]},"label":{"type":"string","minLength":1,"maxLength":200},"occurredAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"pointsDelta":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27}|-[1-9]\\d{0,27})$"},"status":{"type":"string","enum":["credited","invited","accepted","reversed","corrected"]}},"required":["detail","entryType","id","kind","label","occurredAt","pointsDelta","status"],"additionalProperties":false}},"meta":{"type":"object","properties":{"asOf":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"authority":{"type":"string","const":"supanova-product"},"dataMode":{"type":"string","const":"simulated"},"disclaimer":{"type":"string","minLength":1,"maxLength":1024},"ledgerEffect":{"type":"string","const":"none"},"policyVersion":{"type":"string","const":"points-preview-2026-08-07.1"}},"required":["asOf","authority","dataMode","disclaimer","ledgerEffect","policyVersion"],"additionalProperties":false},"nextCursor":{"type":["string","null"]}},"required":["items","meta","nextCursor"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The filters or pagination cursor are invalid. Also: `VALIDATION_FAILED`, `AMBIGUOUS_CREDENTIALS`, `SERVICE_ACT_AS_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `AUTHENTICATION_REQUIRED`, `INVALID_AUTHORIZATION_HEADER`, `INVALID_ACCESS_TOKEN`, `SESSION_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Codes: `ACCOUNT_RESTRICTED`, `ANONYMOUS_ACCOUNT_NOT_ALLOWED`, `API_KEY_ROUTE_NOT_ALLOWED`, `SERVICE_PARTY_NOT_ALLOWED`, `SERVICE_PRINCIPAL_NOT_ALLOWED`, `SIGNUP_NOT_INVITED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"A durable, reviewed Supanova Points policy engine is not configured. Also: `AUTHENTICATION_UNAVAILABLE`, `AUTHORIZATION_UNAVAILABLE`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{"bearer":[]}],"summary":"Read bounded, cursor-paginated account Points activity.","tags":["points"]}},"/api/v1/me/referral":{"get":{"operationId":"MyPointsController_referral_v1","parameters":[{"$ref":"#/components/parameters/ServiceActAs"},{"$ref":"#/components/parameters/RequestId"}],"responses":{"200":{"description":"Account-owned referral preview state.","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","pattern":"^NOVA-[A-Z0-9-]{3,32}$"},"daily":{"type":"object","properties":{"awardPoints":{"type":"string","const":"10"},"resetAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"status":{"type":"string","enum":["available","completed"]}},"required":["awardPoints","resetAt","status"],"additionalProperties":false},"meta":{"type":"object","properties":{"asOf":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"authority":{"type":"string","const":"supanova-product"},"dataMode":{"type":"string","const":"simulated"},"disclaimer":{"type":"string","minLength":1,"maxLength":1024},"ledgerEffect":{"type":"string","const":"none"},"policyVersion":{"type":"string","const":"points-preview-2026-08-07.1"}},"required":["asOf","authority","dataMode","disclaimer","ledgerEffect","policyVersion"],"additionalProperties":false},"qualifiedReferrals":{"type":"integer","minimum":0,"maximum":9007199254740991},"referralPoints":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})$"},"rules":{"type":"object","properties":{"downstreamPointsShareBps":{"type":"string","const":"1000"},"qualification":{"type":"object","properties":{"depositThreshold":{"type":"object","properties":{"currency":{"type":"string","const":"USD"},"operator":{"type":"string","const":"greater_than_or_equal"},"value":{"type":"string","const":"10"},"valuationAuthority":{"type":"string","const":"server_reference_rate_at_confirmed_finality"}},"required":["currency","operator","value","valuationAuthority"],"additionalProperties":false},"signup":{"type":"string","const":"verified_product_profile"}},"required":["depositThreshold","signup"],"additionalProperties":false}},"required":["downstreamPointsShareBps","qualification"],"additionalProperties":false},"sharing":{"type":"object","properties":{"path":{"type":"null"},"reasonCode":{"type":"string","const":"REFERRAL_CAPTURE_NOT_CONFIGURED"},"status":{"type":"string","const":"disabled"}},"required":["path","reasonCode","status"],"additionalProperties":false}},"required":["code","daily","meta","qualifiedReferrals","referralPoints","rules","sharing"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The request is malformed or failed validation. Codes: `AMBIGUOUS_CREDENTIALS`, `SERVICE_ACT_AS_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `AUTHENTICATION_REQUIRED`, `INVALID_AUTHORIZATION_HEADER`, `INVALID_ACCESS_TOKEN`, `SESSION_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Codes: `ACCOUNT_RESTRICTED`, `ANONYMOUS_ACCOUNT_NOT_ALLOWED`, `API_KEY_ROUTE_NOT_ALLOWED`, `SERVICE_PARTY_NOT_ALLOWED`, `SERVICE_PRINCIPAL_NOT_ALLOWED`, `SIGNUP_NOT_INVITED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"A durable, reviewed Supanova Points policy engine is not configured. Also: `AUTHENTICATION_UNAVAILABLE`, `AUTHORIZATION_UNAVAILABLE`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{"bearer":[]}],"summary":"Read the authenticated account referral preview state.","tags":["points"]}},"/api/v1/token-launches/policy":{"get":{"operationId":"TokenLaunchController_policy_v1","parameters":[{"$ref":"#/components/parameters/RequestId"}],"responses":{"200":{"description":"liveTerms carries the Registrar terms new launches use. economics and milestones are the legacy fixed 1e9-supply preview; the reward-routing and creator-revenue policies are current.","content":{"application/json":{"schema":{"type":"object","properties":{"creatorRevenuePolicy":{"type":"object","properties":{"attribution":{"type":"object","properties":{"featuredApp":{"type":"string","const":"authoritative-cc-event-uniquely-correlated-to-one-accepted-launch-instrument-only"},"reversal":{"type":"string","const":"append-only-exact-opposite-once-and-only-before-any-distribution-allocation"},"routedTokenToToken":{"type":"string","const":"one-source-event-per-supaswap-leg-attributed-to-that-leg-token-launch"},"unattributedActivity":{"type":"string","const":"reject-never-api-prorate"}},"required":["featuredApp","reversal","routedTokenToToken","unattributedActivity"],"additionalProperties":false},"eligibility":{"type":"object","properties":{"activation":{"type":"string","const":"exact-policy-accepted-launches-only-no-retroactive-attribution"},"beneficiary":{"type":"string","const":"immutable-token-launch-reward-route-party"},"rewardDestination":{"type":"string","const":"creator"},"traderCashback":{"type":"string","const":"ineligible-pending-explicit-product-decision"}},"required":["activation","beneficiary","rewardDestination","traderCashback"],"additionalProperties":false},"formulaId":{"type":"string","const":"supanova-creator-revenue-v1"},"hash":{"type":"string","const":"sha256:a926e0a380b3938648b5fa9898136638e1276128947cf94033e760f87a27e8b2"},"id":{"type":"string","const":"supanova-creator-revenue-policy"},"immutable":{"type":"boolean","const":true},"numericScale":{"type":"number","const":10},"numericDomain":{"type":"object","properties":{"dust":{"type":"string","const":"reject-if-gross-or-creator-rounds-to-zero"},"maximumBasisAmountCc":{"type":"string","const":"999999999999999999999999.9999999999"}},"required":["dust","maximumBasisAmountCc"],"additionalProperties":false},"rounding":{"type":"object","properties":{"grossRevenue":{"type":"string","const":"round10-half-even(source-basis-cc*source-rate)"},"split":{"type":"string","const":"creator=round10-half-even(gross-revenue-cc*creator-share-rate);protocol=gross-revenue-cc-creator-revenue-cc"}},"required":["grossRevenue","split"],"additionalProperties":false},"settlement":{"type":"object","properties":{"execution":{"type":"string","const":"not-enabled"},"featuredAppExternalPartyRequirement":{"type":"string","const":"beneficiary-mint-delegation-or-manual-mint-each-round-required"},"legalApproval":{"type":"string","const":"required-before-live"},"readiness":{"type":"string","const":"canton-attribution-and-distribution-writers-not-configured"}},"required":["execution","featuredAppExternalPartyRequirement","legalApproval","readiness"],"additionalProperties":false},"sources":{"type":"array","minItems":3,"maxItems":3,"prefixItems":[{"type":"object","properties":{"basis":{"type":"string","const":"gross-curve-trade-notional-cc"},"creatorShareRate":{"type":"string","const":"0.80"},"id":{"type":"string","const":"virtual-curve-trading-fee"},"protocolShareRate":{"type":"string","const":"0.20"},"revenueRate":{"type":"string","const":"0.01"},"settlementStrategy":{"type":"string","const":"accounted-then-ledger-distribution"}},"required":["basis","creatorShareRate","id","protocolShareRate","revenueRate","settlementStrategy"],"additionalProperties":false},{"type":"object","properties":{"basis":{"type":"string","const":"gross-supaswap-trade-notional-cc"},"creatorShareRate":{"type":"string","const":"0.80"},"id":{"type":"string","const":"supaswap-amm-trading-fee"},"protocolShareRate":{"type":"string","const":"0.20"},"revenueRate":{"type":"string","const":"0.01"},"settlementStrategy":{"type":"string","const":"accounted-then-ledger-distribution"}},"required":["basis","creatorShareRate","id","protocolShareRate","revenueRate","settlementStrategy"],"additionalProperties":false},{"type":"object","properties":{"basis":{"type":"string","const":"coin-attributable-featured-app-reward-cc"},"creatorShareRate":{"type":"string","const":"0.50"},"id":{"type":"string","const":"featured-app-cc-reward"},"protocolShareRate":{"type":"string","const":"0.50"},"revenueRate":{"type":"string","const":"1.00"},"settlementStrategy":{"type":"string","const":"weighted-featured-app-marker-direct"}},"required":["basis","creatorShareRate","id","protocolShareRate","revenueRate","settlementStrategy"],"additionalProperties":false}]},"version":{"type":"string","const":"1"}},"required":["attribution","eligibility","formulaId","hash","id","immutable","numericScale","numericDomain","rounding","settlement","sources","version"],"additionalProperties":false},"economics":{"type":"object","properties":{"creationFeeCc":{"type":"string","const":"25"},"curveAllocation":{"type":"string","const":"800000000"},"curve":{"type":"object","properties":{"finalFillPolicy":{"type":"string","const":"reject-overfill-and-unexecutable-remainder"},"formulaId":{"type":"string","const":"supanova-virtual-cpmm-v1"},"initialVirtualCcReserve":{"type":"string","const":"83333.3333333333"},"initialVirtualTokenReserve":{"type":"string","const":"1066666666.6666666667"},"minimumGrossBuyCc":{"type":"string","const":"0.01"},"minimumGrossSellCc":{"type":"string","const":"0.0099"},"minimumNetBuyCc":{"type":"string","const":"0.0099"},"nonTerminalMaxGraduationPercent":{"type":"string","const":"99.9999999999"},"numericScale":{"type":"number","const":10},"openingMarginalPriceCcPerToken":{"type":"string","const":"0.000078125"},"roundingPolicy":{"type":"string","const":"ledger-decimal10-half-even-each-operation"},"sellResidualPolicy":{"type":"string","const":"reject-nonzero-reserve-below-minimum-gross-sell"},"terminalMarginalPriceCcPerToken":{"type":"string","const":"0.00125"}},"required":["finalFillPolicy","formulaId","initialVirtualCcReserve","initialVirtualTokenReserve","minimumGrossBuyCc","minimumGrossSellCc","minimumNetBuyCc","nonTerminalMaxGraduationPercent","numericScale","openingMarginalPriceCcPerToken","roundingPolicy","sellResidualPolicy","terminalMarginalPriceCcPerToken"],"additionalProperties":false},"dexReserve":{"type":"string","const":"200000000"},"fixedSupply":{"type":"boolean","const":true},"graduation":{"type":"object","properties":{"acceptedReserveDepthDropBps":{"type":"string","const":"2500"},"feeTreatment":{"type":"string","const":"outside-active-reserve"},"firstOrderPriceImpactMultiplier":{"type":"string","const":"1.3333333333"},"initialDexCcReserve":{"type":"string","const":"250000"},"initialDexTokenReserve":{"type":"string","const":"200000000"},"postGraduationReserveScale":{"type":"string","const":"0.75"},"priceContinuity":{"type":"string","const":"ratio-matched"},"reserveDepthContinuity":{"type":"boolean","const":false},"terminalVirtualCcReserve":{"type":"string","const":"333333.3333333333"},"terminalVirtualTokenReserve":{"type":"string","const":"266666666.6666666667"},"trigger":{"type":"string","const":"curve-inventory-exhausted-and-net-cc-reserve-reached"},"virtualReservesMigrated":{"type":"boolean","const":false}},"required":["acceptedReserveDepthDropBps","feeTreatment","firstOrderPriceImpactMultiplier","initialDexCcReserve","initialDexTokenReserve","postGraduationReserveScale","priceContinuity","reserveDepthContinuity","terminalVirtualCcReserve","terminalVirtualTokenReserve","trigger","virtualReservesMigrated"],"additionalProperties":false},"graduationThresholdCc":{"type":"string","const":"250000"},"openingPriceCcPerToken":{"type":"string","const":"0.000078125"},"postGraduationAmm":{"type":"object","properties":{"authorizationMaxTtlSeconds":{"type":"number","const":900},"fee":{"type":"object","properties":{"asset":{"type":"string","const":"cc"},"buySide":{"type":"string","const":"deduct-from-gross-before-cc-enters-pool"},"policy":{"type":"string","const":"outside-active-reserves"},"rate":{"type":"string","const":"0.01"},"routing":{"type":"string","const":"creator-revenue-policy-outside-pool"},"sellSide":{"type":"string","const":"deduct-from-gross-cc-after-cc-leaves-pool"}},"required":["asset","buySide","policy","rate","routing","sellSide"],"additionalProperties":false},"formulaId":{"type":"string","const":"supanova-real-cpmm-v1"},"goldenManifestDigest":{"type":"string","const":"sha256:7fc5b0d592eaf85cb083775101efe73a099b404e6334cd85ac1683ac753626d0"},"initialRealCcReserve":{"type":"string","const":"250000"},"initialRealTokenReserve":{"type":"string","const":"200000000"},"invariant":{"type":"object","properties":{"anchor":{"type":"string","const":"50000000000000"},"anchorRelation":{"type":"string","const":"initial=exact-seed;buy=tokenReserve==round10(k/ccReserve);sell=ccReserve==round10(k/tokenReserve)"},"driftPolicy":{"type":"string","const":"reject-any-noncanonical-anchor-relation"},"transition":{"type":"string","const":"oppositeReserve=round10(k/nextInputReserve)"}},"required":["anchor","anchorRelation","driftPolicy","transition"],"additionalProperties":false},"lifecycle":{"type":"string","const":"atomic-graduation-seed-then-revisioned-real-reserve"},"minimumGrossBuyCc":{"type":"string","const":"0.01"},"minimumGrossSellCc":{"type":"string","const":"0.0099"},"minimumGrossSellDerivation":{"type":"string","const":"gross-cc-from-reserve-before-fee"},"numericScale":{"type":"number","const":10},"rounding":{"type":"object","properties":{"buyGrouping":{"type":"string","const":"fee=round10(gross*rate);net=round10(gross-fee);x1=round10(x+net);y1=round10(k/x1);out=round10(y-y1)"},"mode":{"type":"string","const":"ledger-decimal10-half-even-per-operation"},"sellGrouping":{"type":"string","const":"y1=round10(y+tokenIn);x1=round10(k/y1);gross=round10(x-x1);fee=round10(gross*rate);net=round10(gross-fee)"}},"required":["buyGrouping","mode","sellGrouping"],"additionalProperties":false},"rootUniquenessAssumption":{"type":"string","const":"participant-inventory-and-submission-policy-required"},"settlementReadiness":{"type":"string","const":"external-settlement-adapter-unproven"}},"required":["authorizationMaxTtlSeconds","fee","formulaId","goldenManifestDigest","initialRealCcReserve","initialRealTokenReserve","invariant","lifecycle","minimumGrossBuyCc","minimumGrossSellCc","minimumGrossSellDerivation","numericScale","rounding","rootUniquenessAssumption","settlementReadiness"],"additionalProperties":false},"totalSupply":{"type":"string","const":"1000000000"},"tradingFeeRate":{"type":"string","const":"0.01"}},"required":["creationFeeCc","curveAllocation","curve","dexReserve","fixedSupply","graduation","graduationThresholdCc","openingPriceCcPerToken","postGraduationAmm","totalSupply","tradingFeeRate"],"additionalProperties":false,"description":"LEGACY: the fixed 1,000,000,000-supply preview of the first launch policy. Live launches choose their supply and take the Registrar economics; read liveTerms."},"execution":{"type":"string","const":"not-enabled"},"liveExecution":{"type":"boolean","const":false},"milestones":{"description":"LEGACY: the fixed 1,000,000,000-supply preview of the first launch policy. Live launches choose their supply and take the Registrar economics; read liveTerms. The curve formula is the same at any supply; milestones for another supply scale with it.","type":"array","minItems":5,"maxItems":5,"prefixItems":[{"type":"object","properties":{"formulaId":{"type":"string","const":"supanova-virtual-cpmm-v1"},"graduated":{"type":"boolean","const":false},"graduationPercent":{"type":"string","const":"0"},"marginalPriceCcPerToken":{"type":"string","const":"0.000078125"},"netCcReserve":{"type":"string","const":"0"},"tokensRemaining":{"type":"string","const":"800000000"},"tokensSold":{"type":"string","const":"0"}},"required":["formulaId","graduated","graduationPercent","marginalPriceCcPerToken","netCcReserve","tokensRemaining","tokensSold"],"additionalProperties":false},{"type":"object","properties":{"formulaId":{"type":"string","const":"supanova-virtual-cpmm-v1"},"graduated":{"type":"boolean","const":false},"graduationPercent":{"type":"string","const":"25"},"marginalPriceCcPerToken":{"type":"string","const":"0.0002392578"},"netCcReserve":{"type":"string","const":"62500"},"tokensRemaining":{"type":"string","const":"342857142.8571428571"},"tokensSold":{"type":"string","const":"457142857.1428571429"}},"required":["formulaId","graduated","graduationPercent","marginalPriceCcPerToken","netCcReserve","tokensRemaining","tokensSold"],"additionalProperties":false},{"type":"object","properties":{"formulaId":{"type":"string","const":"supanova-virtual-cpmm-v1"},"graduated":{"type":"boolean","const":false},"graduationPercent":{"type":"string","const":"50"},"marginalPriceCcPerToken":{"type":"string","const":"0.0004882812"},"netCcReserve":{"type":"string","const":"125000"},"tokensRemaining":{"type":"string","const":"160000000"},"tokensSold":{"type":"string","const":"640000000"}},"required":["formulaId","graduated","graduationPercent","marginalPriceCcPerToken","netCcReserve","tokensRemaining","tokensSold"],"additionalProperties":false},{"type":"object","properties":{"formulaId":{"type":"string","const":"supanova-virtual-cpmm-v1"},"graduated":{"type":"boolean","const":false},"graduationPercent":{"type":"string","const":"75"},"marginalPriceCcPerToken":{"type":"string","const":"0.0008251953"},"netCcReserve":{"type":"string","const":"187500"},"tokensRemaining":{"type":"string","const":"61538461.5384615385"},"tokensSold":{"type":"string","const":"738461538.4615384615"}},"required":["formulaId","graduated","graduationPercent","marginalPriceCcPerToken","netCcReserve","tokensRemaining","tokensSold"],"additionalProperties":false},{"type":"object","properties":{"formulaId":{"type":"string","const":"supanova-virtual-cpmm-v1"},"graduated":{"type":"boolean","const":true},"graduationPercent":{"type":"string","const":"100"},"marginalPriceCcPerToken":{"type":"string","const":"0.00125"},"netCcReserve":{"type":"string","const":"250000"},"tokensRemaining":{"type":"string","const":"0"},"tokensSold":{"type":"string","const":"800000000"}},"required":["formulaId","graduated","graduationPercent","marginalPriceCcPerToken","netCcReserve","tokensRemaining","tokensSold"],"additionalProperties":false}]},"policy":{"type":"object","properties":{"document":{"type":"object","properties":{"documentSetDigest":{"type":"string","const":"sha256:334747f374e7ba4ae02b71918bd94f5d4400b19b20997244ccdf7550719296ff"},"documents":{"type":"array","minItems":3,"maxItems":3,"prefixItems":[{"type":"object","properties":{"digest":{"type":"string","const":"sha256:ae3001c9110291ba6d97fe27343218a23ec93427ac7f7654e45e77b3fe08523d"},"slug":{"type":"string","const":"terms"}},"required":["digest","slug"],"additionalProperties":false},{"type":"object","properties":{"digest":{"type":"string","const":"sha256:44b4ddbc306824bc9c44f1f2c57892169b3fa737df453897c66f36c8127123f5"},"slug":{"type":"string","const":"launch-terms"}},"required":["digest","slug"],"additionalProperties":false},{"type":"object","properties":{"digest":{"type":"string","const":"sha256:3d54b4c54d38211c9cb5b5789e97607bd7c49157f7cff5928d2e348c66d04c84"},"slug":{"type":"string","const":"risk"}},"required":["digest","slug"],"additionalProperties":false}]},"effectiveAt":{"type":"string","const":"2026-08-04T00:00:00.000Z"},"updatedAt":{"type":"string","const":"2026-08-12T00:00:00.000Z"},"version":{"type":"string","const":"1.2"}},"required":["documentSetDigest","documents","effectiveAt","updatedAt","version"],"additionalProperties":false},"hash":{"type":"string","const":"sha256:c843cc6204a25e687e40fff5f8033416031fb28d191f40b00e530855d70dd0ce"},"id":{"type":"string","const":"supanova-permissionless-curve-launch"},"immutable":{"type":"boolean","const":true},"version":{"type":"string","const":"3"}},"required":["document","hash","id","immutable","version"],"additionalProperties":false},"readiness":{"type":"string","const":"preview-math-only"},"rewardRoutingPolicy":{"type":"object","properties":{"authority":{"type":"object","properties":{"prepareRevalidation":{"type":"string","const":"exact-active-verified-wallet-context"},"quoteBinding":{"type":"string","const":"verified-wallet-connection-party-and-network"},"quoteReuse":{"type":"string","const":"single-operation-idempotency-key"}},"required":["prepareRevalidation","quoteBinding","quoteReuse"],"additionalProperties":false},"beneficiary":{"type":"object","properties":{"identity":{"type":"string","const":"opaque-case-sensitive-canton-party-id"},"routes":{"type":"object","properties":{"creator":{"type":"object","properties":{"external":{"type":"string","const":"must-differ-from-launcher-party"},"launcher":{"type":"string","const":"must-equal-launcher-party"},"partyId":{"type":"string","const":"required"}},"required":["external","launcher","partyId"],"additionalProperties":false},"trader_cashback":{"type":"object","properties":{"partyId":{"type":"string","const":"forbidden"},"partySource":{"type":"string","const":"forbidden"}},"required":["partyId","partySource"],"additionalProperties":false}},"required":["creator","trader_cashback"],"additionalProperties":false}},"required":["identity","routes"],"additionalProperties":false},"hash":{"type":"string","const":"sha256:fe83c99bff082060a46d8a30ea9de61fc1f165ccd2c28c595b85f393accd86dd"},"id":{"type":"string","const":"supanova-token-launch-reward-routing"},"immutable":{"type":"boolean","const":true},"privacy":{"type":"object","properties":{"partyIdentifiers":{"type":"string","const":"backend-and-entitled-ledger-projection-only"}},"required":["partyIdentifiers"],"additionalProperties":false},"settlement":{"type":"object","properties":{"execution":{"type":"string","const":"not-enabled"},"readiness":{"type":"string","const":"daml-command-builder-not-configured"}},"required":["execution","readiness"],"additionalProperties":false},"version":{"type":"string","const":"1"}},"required":["authority","beneficiary","hash","id","immutable","privacy","settlement","version"],"additionalProperties":false},"liveTerms":{"anyOf":[{"type":"object","properties":{"allowedSupplies":{"maxItems":64,"type":"array","items":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"description":"Total supplies a launch may choose (those that fit the economics), ascending."},"asOf":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"creationFeeCc":{"anyOf":[{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},{"type":"null"}],"description":"The CC fee the Registrar charges per launch; null when it charges none."},"economics":{"type":"object","properties":{"curveAllocationBps":{"type":"integer","minimum":5001,"maximum":9999},"graduationNetCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"maxFeeBps":{"type":"integer","minimum":0,"maximum":5000},"minFeeClaimCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["curveAllocationBps","graduationNetCc","maxFeeBps","minFeeClaimCc"],"additionalProperties":false,"description":"Registrar economics: graduationNetCc is the graduation threshold of every new pool."},"feeConfig":{"type":"object","properties":{"feeBps":{"type":"integer","minimum":0,"maximum":5000},"platformShareBps":{"type":"integer","minimum":0,"maximum":10000},"referralShareBps":{"type":"integer","minimum":0,"maximum":10000,"description":"The referrer's share of the fee, carved out of the platform share; 0 when off."}},"required":["feeBps","platformShareBps","referralShareBps"],"additionalProperties":false},"source":{"type":"string","const":"registrar"},"supplyOptionsPath":{"type":"string","const":"/api/v1/token-launches/supply-options","description":"Per-supply opening and terminal display prices for each allowed supply."}},"required":["allowedSupplies","asOf","creationFeeCc","economics","feeConfig","source","supplyOptionsPath"],"additionalProperties":false},{"type":"null"}],"description":"The live launch terms read from the curve Registrar on the ledger. Null off the curve ledger model or while the Registrar cannot be read."}},"required":["creatorRevenuePolicy","economics","execution","liveExecution","milestones","policy","readiness","rewardRoutingPolicy","liveTerms"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/ApiError"}},"security":[],"summary":"Read the launch policy: the live Registrar terms (supplies, economics, fees, referral share) and the legacy fixed-supply preview.","tags":["token-launches"]}},"/api/v1/token-launches/quote":{"post":{"operationId":"TokenLaunchController_quote_v1","parameters":[{"$ref":"#/components/parameters/ServiceActAs"},{"$ref":"#/components/parameters/RequestId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"creatorRevenuePolicyAcceptance":{"type":"object","properties":{"accepted":{"type":"boolean","const":true},"policyHash":{"type":"string","const":"sha256:a926e0a380b3938648b5fa9898136638e1276128947cf94033e760f87a27e8b2"},"policyId":{"type":"string","const":"supanova-creator-revenue-policy"},"policyVersion":{"type":"string","const":"1"}},"required":["accepted","policyHash","policyId","policyVersion"],"additionalProperties":false},"legalAcceptance":{"type":"object","properties":{"accepted":{"type":"boolean","const":true},"documents":{"type":"array","minItems":3,"maxItems":3,"prefixItems":[{"type":"string","const":"terms"},{"type":"string","const":"launch-terms"},{"type":"string","const":"risk"}]},"documentSetDigest":{"type":"string","const":"sha256:334747f374e7ba4ae02b71918bd94f5d4400b19b20997244ccdf7550719296ff"},"documentVersion":{"type":"string","const":"1.2"},"effectiveAt":{"type":"string","const":"2026-08-04T00:00:00.000Z"},"policyId":{"type":"string","const":"supanova-permissionless-curve-launch"},"policyVersion":{"type":"string","const":"3"},"updatedAt":{"type":"string","const":"2026-08-12T00:00:00.000Z"}},"required":["accepted","documents","documentSetDigest","documentVersion","effectiveAt","policyId","policyVersion","updatedAt"],"additionalProperties":false},"metadata":{"type":"object","properties":{"bannerMediaId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"category":{"type":"string","enum":["defi","payments","infrastructure","real_world_assets","capital_markets","stablecoins","identity_compliance","data_oracles","consumer","culture","other"]},"description":{"type":"string","minLength":30,"maxLength":1200},"docs":{"type":"string","maxLength":2048,"format":"uri","description":"Public navigation-only HTTPS URL with a DNS hostname; credentials, IP literals, localhost and private/local DNS suffixes are forbidden. This is not permission for server-side fetching.","pattern":"^https://"},"iconMediaId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string","minLength":2,"maxLength":32},"socialReferences":{"type":"object","properties":{"discord":{"type":"string","maxLength":2048,"format":"uri","description":"Non-root HTTPS discord profile/channel URL. Approved hosts: discord.gg, discord.com, discordapp.com.","pattern":"^https://"},"instagram":{"type":"string","maxLength":2048,"format":"uri","description":"Non-root HTTPS instagram profile/channel URL. Approved hosts: instagram.com.","pattern":"^https://"},"telegram":{"type":"string","maxLength":2048,"format":"uri","description":"Non-root HTTPS telegram profile/channel URL. Approved hosts: t.me, telegram.me.","pattern":"^https://"},"tiktok":{"type":"string","maxLength":2048,"format":"uri","description":"Non-root HTTPS tiktok profile/channel URL. Approved hosts: tiktok.com.","pattern":"^https://"},"x":{"type":"string","maxLength":2048,"format":"uri","description":"Non-root HTTPS x profile/channel URL. Approved hosts: x.com, twitter.com.","pattern":"^https://"},"youtube":{"type":"string","maxLength":2048,"format":"uri","description":"Non-root HTTPS youtube profile/channel URL. Approved hosts: youtube.com, youtu.be.","pattern":"^https://"}},"additionalProperties":false},"summary":{"type":"string","minLength":10,"maxLength":120},"ticker":{"type":"string","minLength":2,"maxLength":15,"pattern":"^[A-Z0-9]{2,15}$"},"website":{"type":"string","maxLength":2048,"format":"uri","description":"Public navigation-only HTTPS URL with a DNS hostname; credentials, IP literals, localhost and private/local DNS suffixes are forbidden. This is not permission for server-side fetching.","pattern":"^https://"}},"required":["category","description","iconMediaId","name","summary","ticker"],"additionalProperties":false},"openingBuy":{"type":"object","properties":{"amount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"unit":{"type":"string","enum":["cc","token"]}},"required":["amount","unit"],"additionalProperties":false},"rewardConfiguration":{"oneOf":[{"type":"object","properties":{"creatorRewardPartyId":{"type":"string","description":"Exact opaque, case-sensitive Canton Party ID. It is preserved byte-for-byte: launcher source must equal the verified launcher Party; external source must differ.","minLength":3,"maxLength":512},"creatorRewardPartySource":{"type":"string","enum":["launcher","external"],"description":"Authority rule for creatorRewardPartyId: launcher requires exact equality with the verified launch wallet Party; external requires exact inequality."},"rewardDestination":{"type":"string","const":"creator"}},"required":["creatorRewardPartyId","creatorRewardPartySource","rewardDestination"],"additionalProperties":false,"description":"Creator rewards route only to the exact immutable Party named by this branch."},{"type":"object","properties":{"rewardDestination":{"type":"string","const":"trader_cashback"}},"required":["rewardDestination"],"additionalProperties":false,"description":"Trader cashback forbids creator Party source and Party ID fields."}],"description":"Strict reward-routing authority union. Party IDs are opaque and case-sensitive; no trimming, casing, aliasing, or normalization is allowed."},"walletConnectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"totalSupply":{"description":"Required on the curve ledger model, where it is one of GET /api/v1/token-launches/supply-options; rejected on the registry model.","type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["creatorRevenuePolicyAcceptance","legalAcceptance","metadata","rewardConfiguration","walletConnectionId"],"additionalProperties":false}}}},"responses":{"201":{"description":"A short-lived simulated launch quote: the 0.2.0 quote on the registry model, the version 2 quote on the curve model.","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"creatorRevenuePolicy":{"type":"object","properties":{"attribution":{"type":"object","properties":{"featuredApp":{"type":"string","const":"authoritative-cc-event-uniquely-correlated-to-one-accepted-launch-instrument-only"},"reversal":{"type":"string","const":"append-only-exact-opposite-once-and-only-before-any-distribution-allocation"},"routedTokenToToken":{"type":"string","const":"one-source-event-per-supaswap-leg-attributed-to-that-leg-token-launch"},"unattributedActivity":{"type":"string","const":"reject-never-api-prorate"}},"required":["featuredApp","reversal","routedTokenToToken","unattributedActivity"],"additionalProperties":false},"eligibility":{"type":"object","properties":{"activation":{"type":"string","const":"exact-policy-accepted-launches-only-no-retroactive-attribution"},"beneficiary":{"type":"string","const":"immutable-token-launch-reward-route-party"},"rewardDestination":{"type":"string","const":"creator"},"traderCashback":{"type":"string","const":"ineligible-pending-explicit-product-decision"}},"required":["activation","beneficiary","rewardDestination","traderCashback"],"additionalProperties":false},"formulaId":{"type":"string","const":"supanova-creator-revenue-v1"},"hash":{"type":"string","const":"sha256:a926e0a380b3938648b5fa9898136638e1276128947cf94033e760f87a27e8b2"},"id":{"type":"string","const":"supanova-creator-revenue-policy"},"immutable":{"type":"boolean","const":true},"numericScale":{"type":"number","const":10},"numericDomain":{"type":"object","properties":{"dust":{"type":"string","const":"reject-if-gross-or-creator-rounds-to-zero"},"maximumBasisAmountCc":{"type":"string","const":"999999999999999999999999.9999999999"}},"required":["dust","maximumBasisAmountCc"],"additionalProperties":false},"rounding":{"type":"object","properties":{"grossRevenue":{"type":"string","const":"round10-half-even(source-basis-cc*source-rate)"},"split":{"type":"string","const":"creator=round10-half-even(gross-revenue-cc*creator-share-rate);protocol=gross-revenue-cc-creator-revenue-cc"}},"required":["grossRevenue","split"],"additionalProperties":false},"settlement":{"type":"object","properties":{"execution":{"type":"string","const":"not-enabled"},"featuredAppExternalPartyRequirement":{"type":"string","const":"beneficiary-mint-delegation-or-manual-mint-each-round-required"},"legalApproval":{"type":"string","const":"required-before-live"},"readiness":{"type":"string","const":"canton-attribution-and-distribution-writers-not-configured"}},"required":["execution","featuredAppExternalPartyRequirement","legalApproval","readiness"],"additionalProperties":false},"sources":{"type":"array","minItems":3,"maxItems":3,"prefixItems":[{"type":"object","properties":{"basis":{"type":"string","const":"gross-curve-trade-notional-cc"},"creatorShareRate":{"type":"string","const":"0.80"},"id":{"type":"string","const":"virtual-curve-trading-fee"},"protocolShareRate":{"type":"string","const":"0.20"},"revenueRate":{"type":"string","const":"0.01"},"settlementStrategy":{"type":"string","const":"accounted-then-ledger-distribution"}},"required":["basis","creatorShareRate","id","protocolShareRate","revenueRate","settlementStrategy"],"additionalProperties":false},{"type":"object","properties":{"basis":{"type":"string","const":"gross-supaswap-trade-notional-cc"},"creatorShareRate":{"type":"string","const":"0.80"},"id":{"type":"string","const":"supaswap-amm-trading-fee"},"protocolShareRate":{"type":"string","const":"0.20"},"revenueRate":{"type":"string","const":"0.01"},"settlementStrategy":{"type":"string","const":"accounted-then-ledger-distribution"}},"required":["basis","creatorShareRate","id","protocolShareRate","revenueRate","settlementStrategy"],"additionalProperties":false},{"type":"object","properties":{"basis":{"type":"string","const":"coin-attributable-featured-app-reward-cc"},"creatorShareRate":{"type":"string","const":"0.50"},"id":{"type":"string","const":"featured-app-cc-reward"},"protocolShareRate":{"type":"string","const":"0.50"},"revenueRate":{"type":"string","const":"1.00"},"settlementStrategy":{"type":"string","const":"weighted-featured-app-marker-direct"}},"required":["basis","creatorShareRate","id","protocolShareRate","revenueRate","settlementStrategy"],"additionalProperties":false}]},"version":{"type":"string","const":"1"}},"required":["attribution","eligibility","formulaId","hash","id","immutable","numericScale","numericDomain","rounding","settlement","sources","version"],"additionalProperties":false},"creatorRevenuePolicyAcceptance":{"type":"object","properties":{"accepted":{"type":"boolean","const":true},"policyHash":{"type":"string","const":"sha256:a926e0a380b3938648b5fa9898136638e1276128947cf94033e760f87a27e8b2"},"policyId":{"type":"string","const":"supanova-creator-revenue-policy"},"policyVersion":{"type":"string","const":"1"}},"required":["accepted","policyHash","policyId","policyVersion"],"additionalProperties":false},"damlRewardRouting":{"type":"object","properties":{"creatorRewardBeneficiary":{"anyOf":[{"type":"string","description":"Opaque, case-sensitive Canton Party ID containing 3-512 Unicode scalar values with no normalization, edge whitespace, or C0/C1 control characters.","minLength":3,"maxLength":512},{"type":"null"}]},"rewardDestination":{"type":"string","enum":["CreatorRewardDestination","TraderCashbackDestination"]},"rewardRoutingPolicyDigest":{"type":"string","const":"sha256:fe83c99bff082060a46d8a30ea9de61fc1f165ccd2c28c595b85f393accd86dd"},"rewardRoutingPolicyVersion":{"type":"string","const":"1"}},"required":["creatorRewardBeneficiary","rewardDestination","rewardRoutingPolicyDigest","rewardRoutingPolicyVersion"],"additionalProperties":false},"economics":{"type":"object","properties":{"creationFeeCc":{"type":"string","const":"25"},"curveAllocation":{"type":"string","const":"800000000"},"curve":{"type":"object","properties":{"finalFillPolicy":{"type":"string","const":"reject-overfill-and-unexecutable-remainder"},"formulaId":{"type":"string","const":"supanova-virtual-cpmm-v1"},"initialVirtualCcReserve":{"type":"string","const":"83333.3333333333"},"initialVirtualTokenReserve":{"type":"string","const":"1066666666.6666666667"},"minimumGrossBuyCc":{"type":"string","const":"0.01"},"minimumGrossSellCc":{"type":"string","const":"0.0099"},"minimumNetBuyCc":{"type":"string","const":"0.0099"},"nonTerminalMaxGraduationPercent":{"type":"string","const":"99.9999999999"},"numericScale":{"type":"number","const":10},"openingMarginalPriceCcPerToken":{"type":"string","const":"0.000078125"},"roundingPolicy":{"type":"string","const":"ledger-decimal10-half-even-each-operation"},"sellResidualPolicy":{"type":"string","const":"reject-nonzero-reserve-below-minimum-gross-sell"},"terminalMarginalPriceCcPerToken":{"type":"string","const":"0.00125"}},"required":["finalFillPolicy","formulaId","initialVirtualCcReserve","initialVirtualTokenReserve","minimumGrossBuyCc","minimumGrossSellCc","minimumNetBuyCc","nonTerminalMaxGraduationPercent","numericScale","openingMarginalPriceCcPerToken","roundingPolicy","sellResidualPolicy","terminalMarginalPriceCcPerToken"],"additionalProperties":false},"dexReserve":{"type":"string","const":"200000000"},"fixedSupply":{"type":"boolean","const":true},"graduation":{"type":"object","properties":{"acceptedReserveDepthDropBps":{"type":"string","const":"2500"},"feeTreatment":{"type":"string","const":"outside-active-reserve"},"firstOrderPriceImpactMultiplier":{"type":"string","const":"1.3333333333"},"initialDexCcReserve":{"type":"string","const":"250000"},"initialDexTokenReserve":{"type":"string","const":"200000000"},"postGraduationReserveScale":{"type":"string","const":"0.75"},"priceContinuity":{"type":"string","const":"ratio-matched"},"reserveDepthContinuity":{"type":"boolean","const":false},"terminalVirtualCcReserve":{"type":"string","const":"333333.3333333333"},"terminalVirtualTokenReserve":{"type":"string","const":"266666666.6666666667"},"trigger":{"type":"string","const":"curve-inventory-exhausted-and-net-cc-reserve-reached"},"virtualReservesMigrated":{"type":"boolean","const":false}},"required":["acceptedReserveDepthDropBps","feeTreatment","firstOrderPriceImpactMultiplier","initialDexCcReserve","initialDexTokenReserve","postGraduationReserveScale","priceContinuity","reserveDepthContinuity","terminalVirtualCcReserve","terminalVirtualTokenReserve","trigger","virtualReservesMigrated"],"additionalProperties":false},"graduationThresholdCc":{"type":"string","const":"250000"},"openingPriceCcPerToken":{"type":"string","const":"0.000078125"},"postGraduationAmm":{"type":"object","properties":{"authorizationMaxTtlSeconds":{"type":"number","const":900},"fee":{"type":"object","properties":{"asset":{"type":"string","const":"cc"},"buySide":{"type":"string","const":"deduct-from-gross-before-cc-enters-pool"},"policy":{"type":"string","const":"outside-active-reserves"},"rate":{"type":"string","const":"0.01"},"routing":{"type":"string","const":"creator-revenue-policy-outside-pool"},"sellSide":{"type":"string","const":"deduct-from-gross-cc-after-cc-leaves-pool"}},"required":["asset","buySide","policy","rate","routing","sellSide"],"additionalProperties":false},"formulaId":{"type":"string","const":"supanova-real-cpmm-v1"},"goldenManifestDigest":{"type":"string","const":"sha256:7fc5b0d592eaf85cb083775101efe73a099b404e6334cd85ac1683ac753626d0"},"initialRealCcReserve":{"type":"string","const":"250000"},"initialRealTokenReserve":{"type":"string","const":"200000000"},"invariant":{"type":"object","properties":{"anchor":{"type":"string","const":"50000000000000"},"anchorRelation":{"type":"string","const":"initial=exact-seed;buy=tokenReserve==round10(k/ccReserve);sell=ccReserve==round10(k/tokenReserve)"},"driftPolicy":{"type":"string","const":"reject-any-noncanonical-anchor-relation"},"transition":{"type":"string","const":"oppositeReserve=round10(k/nextInputReserve)"}},"required":["anchor","anchorRelation","driftPolicy","transition"],"additionalProperties":false},"lifecycle":{"type":"string","const":"atomic-graduation-seed-then-revisioned-real-reserve"},"minimumGrossBuyCc":{"type":"string","const":"0.01"},"minimumGrossSellCc":{"type":"string","const":"0.0099"},"minimumGrossSellDerivation":{"type":"string","const":"gross-cc-from-reserve-before-fee"},"numericScale":{"type":"number","const":10},"rounding":{"type":"object","properties":{"buyGrouping":{"type":"string","const":"fee=round10(gross*rate);net=round10(gross-fee);x1=round10(x+net);y1=round10(k/x1);out=round10(y-y1)"},"mode":{"type":"string","const":"ledger-decimal10-half-even-per-operation"},"sellGrouping":{"type":"string","const":"y1=round10(y+tokenIn);x1=round10(k/y1);gross=round10(x-x1);fee=round10(gross*rate);net=round10(gross-fee)"}},"required":["buyGrouping","mode","sellGrouping"],"additionalProperties":false},"rootUniquenessAssumption":{"type":"string","const":"participant-inventory-and-submission-policy-required"},"settlementReadiness":{"type":"string","const":"external-settlement-adapter-unproven"}},"required":["authorizationMaxTtlSeconds","fee","formulaId","goldenManifestDigest","initialRealCcReserve","initialRealTokenReserve","invariant","lifecycle","minimumGrossBuyCc","minimumGrossSellCc","minimumGrossSellDerivation","numericScale","rounding","rootUniquenessAssumption","settlementReadiness"],"additionalProperties":false},"totalSupply":{"type":"string","const":"1000000000"},"tradingFeeRate":{"type":"string","const":"0.01"}},"required":["creationFeeCc","curveAllocation","curve","dexReserve","fixedSupply","graduation","graduationThresholdCc","openingPriceCcPerToken","postGraduationAmm","totalSupply","tradingFeeRate"],"additionalProperties":false},"execution":{"type":"string","const":"simulated"},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"fees":{"type":"object","properties":{"creationFeeCc":{"type":"string","const":"25"},"openingTradingFeeCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"totalDebitCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"tradingFeeRate":{"type":"string","const":"0.01"}},"required":["creationFeeCc","openingTradingFeeCc","totalDebitCc","tradingFeeRate"],"additionalProperties":false},"issuedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"legalAcceptance":{"type":"object","properties":{"accepted":{"type":"boolean","const":true},"acceptedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"documentSetDigest":{"type":"string","const":"sha256:334747f374e7ba4ae02b71918bd94f5d4400b19b20997244ccdf7550719296ff"},"documents":{"type":"array","minItems":3,"maxItems":3,"prefixItems":[{"type":"string","const":"terms"},{"type":"string","const":"launch-terms"},{"type":"string","const":"risk"}]},"effectiveAt":{"type":"string","const":"2026-08-04T00:00:00.000Z"},"documentVersion":{"type":"string","const":"1.2"},"policyId":{"type":"string","const":"supanova-permissionless-curve-launch"},"policyVersion":{"type":"string","const":"3"},"updatedAt":{"type":"string","const":"2026-08-12T00:00:00.000Z"}},"required":["accepted","acceptedAt","documentSetDigest","documents","effectiveAt","documentVersion","policyId","policyVersion","updatedAt"],"additionalProperties":false},"media":{"type":"object","properties":{"banner":{"anyOf":[{"type":"object","properties":{"contentType":{"type":"string","enum":["image/gif","image/jpeg","image/png","image/webp","video/mp4"]},"dataMode":{"type":"string","enum":["durable","simulated"]},"height":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"mediaId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"publicUrl":{"anyOf":[{"type":"string","format":"uri"},{"type":"null"}]},"role":{"type":"string","enum":["token_banner","token_icon"]},"sha256":{"type":"string","pattern":"^[0-9a-f]{64}$"},"sizeBytes":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"status":{"type":"string","enum":["preview_accepted","published","quarantined","rejected","taken_down"]},"storage":{"type":"string","enum":["discarded-preview","removed","supabase-private","supabase-public","supabase-quarantine"]},"width":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]}},"required":["contentType","dataMode","height","mediaId","publicUrl","role","sha256","sizeBytes","status","storage","width"],"additionalProperties":false},{"type":"null"}]},"icon":{"type":"object","properties":{"contentType":{"type":"string","enum":["image/gif","image/jpeg","image/png","image/webp","video/mp4"]},"dataMode":{"type":"string","enum":["durable","simulated"]},"height":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"mediaId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"publicUrl":{"anyOf":[{"type":"string","format":"uri"},{"type":"null"}]},"role":{"type":"string","enum":["token_banner","token_icon"]},"sha256":{"type":"string","pattern":"^[0-9a-f]{64}$"},"sizeBytes":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"status":{"type":"string","enum":["preview_accepted","published","quarantined","rejected","taken_down"]},"storage":{"type":"string","enum":["discarded-preview","removed","supabase-private","supabase-public","supabase-quarantine"]},"width":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]}},"required":["contentType","dataMode","height","mediaId","publicUrl","role","sha256","sizeBytes","status","storage","width"],"additionalProperties":false}},"required":["banner","icon"],"additionalProperties":false},"metadata":{"type":"object","properties":{"bannerMediaId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"category":{"type":"string","enum":["defi","payments","infrastructure","real_world_assets","capital_markets","stablecoins","identity_compliance","data_oracles","consumer","culture","other"]},"description":{"type":"string","minLength":30,"maxLength":1200},"docs":{"type":"string","maxLength":2048,"format":"uri","description":"Public navigation-only HTTPS URL with a DNS hostname; credentials, IP literals, localhost and private/local DNS suffixes are forbidden. This is not permission for server-side fetching.","pattern":"^https://"},"iconMediaId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string","minLength":2,"maxLength":32},"socialReferences":{"type":"object","properties":{"discord":{"type":"string","maxLength":2048,"format":"uri","description":"Non-root HTTPS discord profile/channel URL. Approved hosts: discord.gg, discord.com, discordapp.com.","pattern":"^https://"},"instagram":{"type":"string","maxLength":2048,"format":"uri","description":"Non-root HTTPS instagram profile/channel URL. Approved hosts: instagram.com.","pattern":"^https://"},"telegram":{"type":"string","maxLength":2048,"format":"uri","description":"Non-root HTTPS telegram profile/channel URL. Approved hosts: t.me, telegram.me.","pattern":"^https://"},"tiktok":{"type":"string","maxLength":2048,"format":"uri","description":"Non-root HTTPS tiktok profile/channel URL. Approved hosts: tiktok.com.","pattern":"^https://"},"x":{"type":"string","maxLength":2048,"format":"uri","description":"Non-root HTTPS x profile/channel URL. Approved hosts: x.com, twitter.com.","pattern":"^https://"},"youtube":{"type":"string","maxLength":2048,"format":"uri","description":"Non-root HTTPS youtube profile/channel URL. Approved hosts: youtube.com, youtu.be.","pattern":"^https://"}},"additionalProperties":false},"summary":{"type":"string","minLength":10,"maxLength":120},"ticker":{"type":"string","pattern":"^[A-Z0-9]{1,16}$"},"website":{"type":"string","maxLength":2048,"format":"uri","description":"Public navigation-only HTTPS URL with a DNS hostname; credentials, IP literals, localhost and private/local DNS suffixes are forbidden. This is not permission for server-side fetching.","pattern":"^https://"}},"required":["category","description","iconMediaId","name","summary","ticker"],"additionalProperties":false},"networkId":{"type":"string","pattern":"^canton:[-_a-zA-Z0-9]{1,32}$"},"openingBuy":{"anyOf":[{"type":"object","properties":{"averagePriceCcPerToken":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"creatorRevenueAllocation":{"oneOf":[{"type":"object","properties":{"basisAmountCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"creatorRevenueCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"eligibility":{"type":"string","const":"eligible"},"grossRevenueCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"lineage":{"type":"string","const":"bind-on-confirmed-launch-route"},"policy":{"type":"object","properties":{"hash":{"type":"string","const":"sha256:a926e0a380b3938648b5fa9898136638e1276128947cf94033e760f87a27e8b2"},"id":{"type":"string","const":"supanova-creator-revenue-policy"},"version":{"type":"string","const":"1"}},"required":["hash","id","version"],"additionalProperties":false},"protocolRevenueCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"source":{"type":"string","const":"virtual-curve-trading-fee"}},"required":["basisAmountCc","creatorRevenueCc","eligibility","grossRevenueCc","lineage","policy","protocolRevenueCc","source"],"additionalProperties":false},{"type":"object","properties":{"eligibility":{"type":"string","const":"ineligible"},"reason":{"type":"string","const":"trader-cashback"}},"required":["eligibility","reason"],"additionalProperties":false}]},"grossCcAmount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"inputAmount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"inputUnit":{"type":"string","enum":["cc","token"]},"netCcToCurve":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"priceImpactBps":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"stateAfter":{"type":"object","properties":{"formulaId":{"type":"string","const":"supanova-virtual-cpmm-v1"},"graduated":{"type":"boolean"},"graduationPercent":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"marginalPriceCcPerToken":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"netCcReserve":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"tokensRemaining":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"tokensSold":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["formulaId","graduated","graduationPercent","marginalPriceCcPerToken","netCcReserve","tokensRemaining","tokensSold"],"additionalProperties":false},"tokenAmount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"tradingFeeCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["averagePriceCcPerToken","creatorRevenueAllocation","grossCcAmount","inputAmount","inputUnit","netCcToCurve","priceImpactBps","stateAfter","tokenAmount","tradingFeeCc"],"additionalProperties":false},{"type":"null"}]},"policy":{"type":"object","properties":{"document":{"type":"object","properties":{"documentSetDigest":{"type":"string","const":"sha256:334747f374e7ba4ae02b71918bd94f5d4400b19b20997244ccdf7550719296ff"},"documents":{"type":"array","minItems":3,"maxItems":3,"prefixItems":[{"type":"object","properties":{"digest":{"type":"string","const":"sha256:ae3001c9110291ba6d97fe27343218a23ec93427ac7f7654e45e77b3fe08523d"},"slug":{"type":"string","const":"terms"}},"required":["digest","slug"],"additionalProperties":false},{"type":"object","properties":{"digest":{"type":"string","const":"sha256:44b4ddbc306824bc9c44f1f2c57892169b3fa737df453897c66f36c8127123f5"},"slug":{"type":"string","const":"launch-terms"}},"required":["digest","slug"],"additionalProperties":false},{"type":"object","properties":{"digest":{"type":"string","const":"sha256:3d54b4c54d38211c9cb5b5789e97607bd7c49157f7cff5928d2e348c66d04c84"},"slug":{"type":"string","const":"risk"}},"required":["digest","slug"],"additionalProperties":false}]},"effectiveAt":{"type":"string","const":"2026-08-04T00:00:00.000Z"},"updatedAt":{"type":"string","const":"2026-08-12T00:00:00.000Z"},"version":{"type":"string","const":"1.2"}},"required":["documentSetDigest","documents","effectiveAt","updatedAt","version"],"additionalProperties":false},"hash":{"type":"string","const":"sha256:c843cc6204a25e687e40fff5f8033416031fb28d191f40b00e530855d70dd0ce"},"id":{"type":"string","const":"supanova-permissionless-curve-launch"},"immutable":{"type":"boolean","const":true},"version":{"type":"string","const":"3"}},"required":["document","hash","id","immutable","version"],"additionalProperties":false},"proposedInstrument":{"type":"object","properties":{"instrumentId":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":512},"id":{"type":"string","minLength":1,"maxLength":512}},"required":["admin","id"],"additionalProperties":false},"standard":{"type":"string","const":"CIP-0056"},"status":{"type":"string","const":"proposed"}},"required":["instrumentId","standard","status"],"additionalProperties":false},"proposedSlug":{"type":"string","pattern":"^[a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?$"},"quoteHash":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"},"quoteId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"requestHash":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"},"rewardConfiguration":{"oneOf":[{"type":"object","properties":{"creatorRewardPartyId":{"type":"string","description":"Exact opaque, case-sensitive Canton Party ID. It is preserved byte-for-byte: launcher source must equal the verified launcher Party; external source must differ.","minLength":3,"maxLength":512},"creatorRewardPartySource":{"type":"string","enum":["launcher","external"],"description":"Authority rule for creatorRewardPartyId: launcher requires exact equality with the verified launch wallet Party; external requires exact inequality."},"rewardDestination":{"type":"string","const":"creator"}},"required":["creatorRewardPartyId","creatorRewardPartySource","rewardDestination"],"additionalProperties":false,"description":"Creator rewards route only to the exact immutable Party named by this branch."},{"type":"object","properties":{"rewardDestination":{"type":"string","const":"trader_cashback"}},"required":["rewardDestination"],"additionalProperties":false,"description":"Trader cashback forbids creator Party source and Party ID fields."}],"description":"Strict reward-routing authority union. Party IDs are opaque and case-sensitive; no trimming, casing, aliasing, or normalization is allowed."},"rewardRoutingPolicy":{"type":"object","properties":{"authority":{"type":"object","properties":{"prepareRevalidation":{"type":"string","const":"exact-active-verified-wallet-context"},"quoteBinding":{"type":"string","const":"verified-wallet-connection-party-and-network"},"quoteReuse":{"type":"string","const":"single-operation-idempotency-key"}},"required":["prepareRevalidation","quoteBinding","quoteReuse"],"additionalProperties":false},"beneficiary":{"type":"object","properties":{"identity":{"type":"string","const":"opaque-case-sensitive-canton-party-id"},"routes":{"type":"object","properties":{"creator":{"type":"object","properties":{"external":{"type":"string","const":"must-differ-from-launcher-party"},"launcher":{"type":"string","const":"must-equal-launcher-party"},"partyId":{"type":"string","const":"required"}},"required":["external","launcher","partyId"],"additionalProperties":false},"trader_cashback":{"type":"object","properties":{"partyId":{"type":"string","const":"forbidden"},"partySource":{"type":"string","const":"forbidden"}},"required":["partyId","partySource"],"additionalProperties":false}},"required":["creator","trader_cashback"],"additionalProperties":false}},"required":["identity","routes"],"additionalProperties":false},"hash":{"type":"string","const":"sha256:fe83c99bff082060a46d8a30ea9de61fc1f165ccd2c28c595b85f393accd86dd"},"id":{"type":"string","const":"supanova-token-launch-reward-routing"},"immutable":{"type":"boolean","const":true},"privacy":{"type":"object","properties":{"partyIdentifiers":{"type":"string","const":"backend-and-entitled-ledger-projection-only"}},"required":["partyIdentifiers"],"additionalProperties":false},"settlement":{"type":"object","properties":{"execution":{"type":"string","const":"not-enabled"},"readiness":{"type":"string","const":"daml-command-builder-not-configured"}},"required":["execution","readiness"],"additionalProperties":false},"version":{"type":"string","const":"1"}},"required":["authority","beneficiary","hash","id","immutable","privacy","settlement","version"],"additionalProperties":false},"walletContext":{"type":"object","properties":{"creatorPartyId":{"type":"string","description":"Opaque, case-sensitive Canton Party ID containing 3-512 Unicode scalar values with no normalization, edge whitespace, or C0/C1 control characters.","minLength":3,"maxLength":512},"networkId":{"type":"string","pattern":"^canton:[-_a-zA-Z0-9]{1,32}$"},"walletConnectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["creatorPartyId","networkId","walletConnectionId"],"additionalProperties":false}},"required":["creatorRevenuePolicy","creatorRevenuePolicyAcceptance","damlRewardRouting","economics","execution","expiresAt","fees","issuedAt","legalAcceptance","media","metadata","networkId","openingBuy","policy","proposedInstrument","proposedSlug","quoteHash","quoteId","requestHash","rewardConfiguration","rewardRoutingPolicy","walletContext"],"additionalProperties":false},{"type":"object","properties":{"allocation":{"type":"object","properties":{"curveAllocation":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"dexAllocation":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["curveAllocation","dexAllocation"],"additionalProperties":false},"creatorRevenuePolicy":{"type":"object","properties":{"attribution":{"type":"object","properties":{"featuredApp":{"type":"string","const":"authoritative-cc-event-uniquely-correlated-to-one-accepted-launch-instrument-only"},"reversal":{"type":"string","const":"append-only-exact-opposite-once-and-only-before-any-distribution-allocation"},"routedTokenToToken":{"type":"string","const":"one-source-event-per-supaswap-leg-attributed-to-that-leg-token-launch"},"unattributedActivity":{"type":"string","const":"reject-never-api-prorate"}},"required":["featuredApp","reversal","routedTokenToToken","unattributedActivity"],"additionalProperties":false},"eligibility":{"type":"object","properties":{"activation":{"type":"string","const":"exact-policy-accepted-launches-only-no-retroactive-attribution"},"beneficiary":{"type":"string","const":"immutable-token-launch-reward-route-party"},"rewardDestination":{"type":"string","const":"creator"},"traderCashback":{"type":"string","const":"ineligible-pending-explicit-product-decision"}},"required":["activation","beneficiary","rewardDestination","traderCashback"],"additionalProperties":false},"formulaId":{"type":"string","const":"supanova-creator-revenue-v1"},"hash":{"type":"string","const":"sha256:a926e0a380b3938648b5fa9898136638e1276128947cf94033e760f87a27e8b2"},"id":{"type":"string","const":"supanova-creator-revenue-policy"},"immutable":{"type":"boolean","const":true},"numericScale":{"type":"number","const":10},"numericDomain":{"type":"object","properties":{"dust":{"type":"string","const":"reject-if-gross-or-creator-rounds-to-zero"},"maximumBasisAmountCc":{"type":"string","const":"999999999999999999999999.9999999999"}},"required":["dust","maximumBasisAmountCc"],"additionalProperties":false},"rounding":{"type":"object","properties":{"grossRevenue":{"type":"string","const":"round10-half-even(source-basis-cc*source-rate)"},"split":{"type":"string","const":"creator=round10-half-even(gross-revenue-cc*creator-share-rate);protocol=gross-revenue-cc-creator-revenue-cc"}},"required":["grossRevenue","split"],"additionalProperties":false},"settlement":{"type":"object","properties":{"execution":{"type":"string","const":"not-enabled"},"featuredAppExternalPartyRequirement":{"type":"string","const":"beneficiary-mint-delegation-or-manual-mint-each-round-required"},"legalApproval":{"type":"string","const":"required-before-live"},"readiness":{"type":"string","const":"canton-attribution-and-distribution-writers-not-configured"}},"required":["execution","featuredAppExternalPartyRequirement","legalApproval","readiness"],"additionalProperties":false},"sources":{"type":"array","minItems":3,"maxItems":3,"prefixItems":[{"type":"object","properties":{"basis":{"type":"string","const":"gross-curve-trade-notional-cc"},"creatorShareRate":{"type":"string","const":"0.80"},"id":{"type":"string","const":"virtual-curve-trading-fee"},"protocolShareRate":{"type":"string","const":"0.20"},"revenueRate":{"type":"string","const":"0.01"},"settlementStrategy":{"type":"string","const":"accounted-then-ledger-distribution"}},"required":["basis","creatorShareRate","id","protocolShareRate","revenueRate","settlementStrategy"],"additionalProperties":false},{"type":"object","properties":{"basis":{"type":"string","const":"gross-supaswap-trade-notional-cc"},"creatorShareRate":{"type":"string","const":"0.80"},"id":{"type":"string","const":"supaswap-amm-trading-fee"},"protocolShareRate":{"type":"string","const":"0.20"},"revenueRate":{"type":"string","const":"0.01"},"settlementStrategy":{"type":"string","const":"accounted-then-ledger-distribution"}},"required":["basis","creatorShareRate","id","protocolShareRate","revenueRate","settlementStrategy"],"additionalProperties":false},{"type":"object","properties":{"basis":{"type":"string","const":"coin-attributable-featured-app-reward-cc"},"creatorShareRate":{"type":"string","const":"0.50"},"id":{"type":"string","const":"featured-app-cc-reward"},"protocolShareRate":{"type":"string","const":"0.50"},"revenueRate":{"type":"string","const":"1.00"},"settlementStrategy":{"type":"string","const":"weighted-featured-app-marker-direct"}},"required":["basis","creatorShareRate","id","protocolShareRate","revenueRate","settlementStrategy"],"additionalProperties":false}]},"version":{"type":"string","const":"1"}},"required":["attribution","eligibility","formulaId","hash","id","immutable","numericScale","numericDomain","rounding","settlement","sources","version"],"additionalProperties":false},"creatorRevenuePolicyAcceptance":{"type":"object","properties":{"accepted":{"type":"boolean","const":true},"policyHash":{"type":"string","const":"sha256:a926e0a380b3938648b5fa9898136638e1276128947cf94033e760f87a27e8b2"},"policyId":{"type":"string","const":"supanova-creator-revenue-policy"},"policyVersion":{"type":"string","const":"1"}},"required":["accepted","policyHash","policyId","policyVersion"],"additionalProperties":false},"curvePolicy":{"type":"object","properties":{"hash":{"type":"string","const":"sha256:f0cf06fab397cb2593557dcc8d90701becc653607388286ddbe51a91be73144c"},"id":{"type":"string","const":"supanova-curve-launch-policy"},"version":{"type":"string","const":"1"}},"required":["hash","id","version"],"additionalProperties":false},"damlRewardRouting":{"type":"object","properties":{"creatorRewardBeneficiary":{"anyOf":[{"type":"string","description":"Opaque, case-sensitive Canton Party ID containing 3-512 Unicode scalar values with no normalization, edge whitespace, or C0/C1 control characters.","minLength":3,"maxLength":512},{"type":"null"}]},"rewardDestination":{"type":"string","enum":["CreatorRewardDestination","TraderCashbackDestination"]},"rewardRoutingPolicyDigest":{"type":"string","const":"sha256:fe83c99bff082060a46d8a30ea9de61fc1f165ccd2c28c595b85f393accd86dd"},"rewardRoutingPolicyVersion":{"type":"string","const":"1"}},"required":["creatorRewardBeneficiary","rewardDestination","rewardRoutingPolicyDigest","rewardRoutingPolicyVersion"],"additionalProperties":false},"display":{"type":"object","properties":{"openingPriceCcPerToken":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,40})?$"},"openingPricePerMillionTokensCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,40})?$"},"smallestSellableLotTokens":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,40})?$"},"terminalPriceCcPerToken":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,40})?$"},"terminalPricePerMillionTokensCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,40})?$"}},"required":["openingPriceCcPerToken","openingPricePerMillionTokensCc","smallestSellableLotTokens","terminalPriceCcPerToken","terminalPricePerMillionTokensCc"],"additionalProperties":false},"economics":{"type":"object","properties":{"curveAllocationBps":{"type":"integer","minimum":5001,"maximum":9999},"graduationNetCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"maxFeeBps":{"type":"integer","minimum":0,"maximum":5000},"minFeeClaimCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["curveAllocationBps","graduationNetCc","maxFeeBps","minFeeClaimCc"],"additionalProperties":false},"execution":{"type":"string","const":"simulated"},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"feeConfig":{"type":"object","properties":{"feeBps":{"type":"integer","minimum":0,"maximum":5000},"platformShareBps":{"type":"integer","minimum":0,"maximum":10000}},"required":["feeBps","platformShareBps"],"additionalProperties":false},"fees":{"type":"object","properties":{"creationFeeCc":{"type":"string","const":"25"},"openingTradingFeeCc":{"type":"string","const":"0"},"totalDebitCc":{"type":"string","const":"25"}},"required":["creationFeeCc","openingTradingFeeCc","totalDebitCc"],"additionalProperties":false},"issuedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"ledgerCreationFeeCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"legalAcceptance":{"type":"object","properties":{"accepted":{"type":"boolean","const":true},"acceptedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"documentSetDigest":{"type":"string","const":"sha256:334747f374e7ba4ae02b71918bd94f5d4400b19b20997244ccdf7550719296ff"},"documents":{"type":"array","minItems":3,"maxItems":3,"prefixItems":[{"type":"string","const":"terms"},{"type":"string","const":"launch-terms"},{"type":"string","const":"risk"}]},"effectiveAt":{"type":"string","const":"2026-08-04T00:00:00.000Z"},"documentVersion":{"type":"string","const":"1.2"},"policyId":{"type":"string","const":"supanova-permissionless-curve-launch"},"policyVersion":{"type":"string","const":"3"},"updatedAt":{"type":"string","const":"2026-08-12T00:00:00.000Z"}},"required":["accepted","acceptedAt","documentSetDigest","documents","effectiveAt","documentVersion","policyId","policyVersion","updatedAt"],"additionalProperties":false},"media":{"type":"object","properties":{"banner":{"anyOf":[{"type":"object","properties":{"contentType":{"type":"string","enum":["image/gif","image/jpeg","image/png","image/webp","video/mp4"]},"dataMode":{"type":"string","enum":["durable","simulated"]},"height":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"mediaId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"publicUrl":{"anyOf":[{"type":"string","format":"uri"},{"type":"null"}]},"role":{"type":"string","enum":["token_banner","token_icon"]},"sha256":{"type":"string","pattern":"^[0-9a-f]{64}$"},"sizeBytes":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"status":{"type":"string","enum":["preview_accepted","published","quarantined","rejected","taken_down"]},"storage":{"type":"string","enum":["discarded-preview","removed","supabase-private","supabase-public","supabase-quarantine"]},"width":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]}},"required":["contentType","dataMode","height","mediaId","publicUrl","role","sha256","sizeBytes","status","storage","width"],"additionalProperties":false},{"type":"null"}]},"icon":{"type":"object","properties":{"contentType":{"type":"string","enum":["image/gif","image/jpeg","image/png","image/webp","video/mp4"]},"dataMode":{"type":"string","enum":["durable","simulated"]},"height":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"mediaId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"publicUrl":{"anyOf":[{"type":"string","format":"uri"},{"type":"null"}]},"role":{"type":"string","enum":["token_banner","token_icon"]},"sha256":{"type":"string","pattern":"^[0-9a-f]{64}$"},"sizeBytes":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"status":{"type":"string","enum":["preview_accepted","published","quarantined","rejected","taken_down"]},"storage":{"type":"string","enum":["discarded-preview","removed","supabase-private","supabase-public","supabase-quarantine"]},"width":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]}},"required":["contentType","dataMode","height","mediaId","publicUrl","role","sha256","sizeBytes","status","storage","width"],"additionalProperties":false}},"required":["banner","icon"],"additionalProperties":false},"metadata":{"type":"object","properties":{"bannerMediaId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"category":{"type":"string","enum":["defi","payments","infrastructure","real_world_assets","capital_markets","stablecoins","identity_compliance","data_oracles","consumer","culture","other"]},"description":{"type":"string","minLength":30,"maxLength":1200},"docs":{"type":"string","maxLength":2048,"format":"uri","description":"Public navigation-only HTTPS URL with a DNS hostname; credentials, IP literals, localhost and private/local DNS suffixes are forbidden. This is not permission for server-side fetching.","pattern":"^https://"},"iconMediaId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string","minLength":2,"maxLength":32},"socialReferences":{"type":"object","properties":{"discord":{"type":"string","maxLength":2048,"format":"uri","description":"Non-root HTTPS discord profile/channel URL. Approved hosts: discord.gg, discord.com, discordapp.com.","pattern":"^https://"},"instagram":{"type":"string","maxLength":2048,"format":"uri","description":"Non-root HTTPS instagram profile/channel URL. Approved hosts: instagram.com.","pattern":"^https://"},"telegram":{"type":"string","maxLength":2048,"format":"uri","description":"Non-root HTTPS telegram profile/channel URL. Approved hosts: t.me, telegram.me.","pattern":"^https://"},"tiktok":{"type":"string","maxLength":2048,"format":"uri","description":"Non-root HTTPS tiktok profile/channel URL. Approved hosts: tiktok.com.","pattern":"^https://"},"x":{"type":"string","maxLength":2048,"format":"uri","description":"Non-root HTTPS x profile/channel URL. Approved hosts: x.com, twitter.com.","pattern":"^https://"},"youtube":{"type":"string","maxLength":2048,"format":"uri","description":"Non-root HTTPS youtube profile/channel URL. Approved hosts: youtube.com, youtu.be.","pattern":"^https://"}},"additionalProperties":false},"summary":{"type":"string","minLength":10,"maxLength":120},"ticker":{"type":"string","pattern":"^[A-Z0-9]{1,16}$"},"website":{"type":"string","maxLength":2048,"format":"uri","description":"Public navigation-only HTTPS URL with a DNS hostname; credentials, IP literals, localhost and private/local DNS suffixes are forbidden. This is not permission for server-side fetching.","pattern":"^https://"}},"required":["category","description","iconMediaId","name","summary","ticker"],"additionalProperties":false},"networkId":{"type":"string","pattern":"^canton:[-_a-zA-Z0-9]{1,32}$"},"openingBuy":{"type":"null"},"policy":{"type":"object","properties":{"document":{"type":"object","properties":{"documentSetDigest":{"type":"string","const":"sha256:334747f374e7ba4ae02b71918bd94f5d4400b19b20997244ccdf7550719296ff"},"documents":{"type":"array","minItems":3,"maxItems":3,"prefixItems":[{"type":"object","properties":{"digest":{"type":"string","const":"sha256:ae3001c9110291ba6d97fe27343218a23ec93427ac7f7654e45e77b3fe08523d"},"slug":{"type":"string","const":"terms"}},"required":["digest","slug"],"additionalProperties":false},{"type":"object","properties":{"digest":{"type":"string","const":"sha256:44b4ddbc306824bc9c44f1f2c57892169b3fa737df453897c66f36c8127123f5"},"slug":{"type":"string","const":"launch-terms"}},"required":["digest","slug"],"additionalProperties":false},{"type":"object","properties":{"digest":{"type":"string","const":"sha256:3d54b4c54d38211c9cb5b5789e97607bd7c49157f7cff5928d2e348c66d04c84"},"slug":{"type":"string","const":"risk"}},"required":["digest","slug"],"additionalProperties":false}]},"effectiveAt":{"type":"string","const":"2026-08-04T00:00:00.000Z"},"updatedAt":{"type":"string","const":"2026-08-12T00:00:00.000Z"},"version":{"type":"string","const":"1.2"}},"required":["documentSetDigest","documents","effectiveAt","updatedAt","version"],"additionalProperties":false},"hash":{"type":"string","const":"sha256:c843cc6204a25e687e40fff5f8033416031fb28d191f40b00e530855d70dd0ce"},"id":{"type":"string","const":"supanova-permissionless-curve-launch"},"immutable":{"type":"boolean","const":true},"version":{"type":"string","const":"3"}},"required":["document","hash","id","immutable","version"],"additionalProperties":false},"proposedInstrument":{"type":"object","properties":{"instrumentId":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":512},"id":{"type":"string","minLength":1,"maxLength":512}},"required":["admin","id"],"additionalProperties":false},"standard":{"type":"string","const":"CIP-0056"},"status":{"type":"string","const":"proposed"}},"required":["instrumentId","standard","status"],"additionalProperties":false},"proposedSlug":{"type":"string","pattern":"^[a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?$"},"quoteHash":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"},"quoteId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"requestHash":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"},"rewardConfiguration":{"oneOf":[{"type":"object","properties":{"creatorRewardPartyId":{"type":"string","description":"Exact opaque, case-sensitive Canton Party ID. It is preserved byte-for-byte: launcher source must equal the verified launcher Party; external source must differ.","minLength":3,"maxLength":512},"creatorRewardPartySource":{"type":"string","enum":["launcher","external"],"description":"Authority rule for creatorRewardPartyId: launcher requires exact equality with the verified launch wallet Party; external requires exact inequality."},"rewardDestination":{"type":"string","const":"creator"}},"required":["creatorRewardPartyId","creatorRewardPartySource","rewardDestination"],"additionalProperties":false,"description":"Creator rewards route only to the exact immutable Party named by this branch."},{"type":"object","properties":{"rewardDestination":{"type":"string","const":"trader_cashback"}},"required":["rewardDestination"],"additionalProperties":false,"description":"Trader cashback forbids creator Party source and Party ID fields."}],"description":"Strict reward-routing authority union. Party IDs are opaque and case-sensitive; no trimming, casing, aliasing, or normalization is allowed."},"rewardRoutingPolicy":{"type":"object","properties":{"authority":{"type":"object","properties":{"prepareRevalidation":{"type":"string","const":"exact-active-verified-wallet-context"},"quoteBinding":{"type":"string","const":"verified-wallet-connection-party-and-network"},"quoteReuse":{"type":"string","const":"single-operation-idempotency-key"}},"required":["prepareRevalidation","quoteBinding","quoteReuse"],"additionalProperties":false},"beneficiary":{"type":"object","properties":{"identity":{"type":"string","const":"opaque-case-sensitive-canton-party-id"},"routes":{"type":"object","properties":{"creator":{"type":"object","properties":{"external":{"type":"string","const":"must-differ-from-launcher-party"},"launcher":{"type":"string","const":"must-equal-launcher-party"},"partyId":{"type":"string","const":"required"}},"required":["external","launcher","partyId"],"additionalProperties":false},"trader_cashback":{"type":"object","properties":{"partyId":{"type":"string","const":"forbidden"},"partySource":{"type":"string","const":"forbidden"}},"required":["partyId","partySource"],"additionalProperties":false}},"required":["creator","trader_cashback"],"additionalProperties":false}},"required":["identity","routes"],"additionalProperties":false},"hash":{"type":"string","const":"sha256:fe83c99bff082060a46d8a30ea9de61fc1f165ccd2c28c595b85f393accd86dd"},"id":{"type":"string","const":"supanova-token-launch-reward-routing"},"immutable":{"type":"boolean","const":true},"privacy":{"type":"object","properties":{"partyIdentifiers":{"type":"string","const":"backend-and-entitled-ledger-projection-only"}},"required":["partyIdentifiers"],"additionalProperties":false},"settlement":{"type":"object","properties":{"execution":{"type":"string","const":"not-enabled"},"readiness":{"type":"string","const":"daml-command-builder-not-configured"}},"required":["execution","readiness"],"additionalProperties":false},"version":{"type":"string","const":"1"}},"required":["authority","beneficiary","hash","id","immutable","privacy","settlement","version"],"additionalProperties":false},"totalSupply":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"walletContext":{"type":"object","properties":{"creatorPartyId":{"type":"string","description":"Opaque, case-sensitive Canton Party ID containing 3-512 Unicode scalar values with no normalization, edge whitespace, or C0/C1 control characters.","minLength":3,"maxLength":512},"networkId":{"type":"string","pattern":"^canton:[-_a-zA-Z0-9]{1,32}$"},"walletConnectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["creatorPartyId","networkId","walletConnectionId"],"additionalProperties":false}},"required":["allocation","creatorRevenuePolicy","creatorRevenuePolicyAcceptance","curvePolicy","damlRewardRouting","display","economics","execution","expiresAt","feeConfig","fees","issuedAt","legalAcceptance","media","metadata","networkId","openingBuy","policy","proposedInstrument","proposedSlug","quoteHash","quoteId","requestHash","rewardConfiguration","rewardRoutingPolicy","totalSupply","walletContext"],"additionalProperties":false}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The request is malformed or failed validation. Codes: `VALIDATION_FAILED`, `AMBIGUOUS_CREDENTIALS`, `SERVICE_ACT_AS_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `AUTHENTICATION_REQUIRED`, `INVALID_AUTHORIZATION_HEADER`, `INVALID_ACCESS_TOKEN`, `SESSION_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Codes: `ACCOUNT_RESTRICTED`, `ANONYMOUS_ACCOUNT_NOT_ALLOWED`, `API_KEY_ROUTE_NOT_ALLOWED`, `SERVICE_PARTY_NOT_ALLOWED`, `SERVICE_PRINCIPAL_NOT_ALLOWED`, `SIGNUP_NOT_INVITED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"A referenced quote or media item does not exist.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"413":{"description":"The request body exceeds the size limit.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The launch cannot be quoted as requested: `LAUNCH_MEDIA_NOT_PUBLISHED`, `LAUNCH_MEDIA_ROLE_MISMATCH`, `CREATOR_REWARD_PARTY_SOURCE_MISMATCH`, `TOKEN_LAUNCH_OPENING_BUY_NOT_SUPPORTED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"428":{"description":"The signed-in account must accept the current product terms first. Codes: `PRODUCT_LEGAL_ACCEPTANCE_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"A dependency is unavailable or the feature is not enabled on this deployment. Codes: `AUTHENTICATION_UNAVAILABLE`, `AUTHORIZATION_UNAVAILABLE`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{"bearer":[]}],"summary":"Quote the immutable permissionless curve-launch policy. On the curve ledger model the request carries the chosen totalSupply and the quote carries the Registrar economics and fee configuration.","tags":["token-launches"]}},"/api/v1/token-launches/prepare":{"post":{"operationId":"TokenLaunchController_prepare_v1","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":256,"pattern":"^[A-Za-z0-9._:-]+$"}},{"$ref":"#/components/parameters/ServiceActAs"},{"$ref":"#/components/parameters/RequestId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"quoteId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"walletConnectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["quoteId","walletConnectionId"],"additionalProperties":false}}}},"responses":{"201":{"description":"A simulated CIP-0103 wallet review and operation record: the 0.2.0 shape on the registry model, the version 2 quote and intent on the curve model.","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"execution":{"type":"string","enum":["ledger","simulated"]},"operation":{"type":"object","properties":{"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"status":{"type":"string"}},"required":["expiresAt","id","status"],"additionalProperties":false},"quote":{"type":"object","properties":{"creatorRevenuePolicy":{"type":"object","properties":{"attribution":{"type":"object","properties":{"featuredApp":{"type":"string","const":"authoritative-cc-event-uniquely-correlated-to-one-accepted-launch-instrument-only"},"reversal":{"type":"string","const":"append-only-exact-opposite-once-and-only-before-any-distribution-allocation"},"routedTokenToToken":{"type":"string","const":"one-source-event-per-supaswap-leg-attributed-to-that-leg-token-launch"},"unattributedActivity":{"type":"string","const":"reject-never-api-prorate"}},"required":["featuredApp","reversal","routedTokenToToken","unattributedActivity"],"additionalProperties":false},"eligibility":{"type":"object","properties":{"activation":{"type":"string","const":"exact-policy-accepted-launches-only-no-retroactive-attribution"},"beneficiary":{"type":"string","const":"immutable-token-launch-reward-route-party"},"rewardDestination":{"type":"string","const":"creator"},"traderCashback":{"type":"string","const":"ineligible-pending-explicit-product-decision"}},"required":["activation","beneficiary","rewardDestination","traderCashback"],"additionalProperties":false},"formulaId":{"type":"string","const":"supanova-creator-revenue-v1"},"hash":{"type":"string","const":"sha256:a926e0a380b3938648b5fa9898136638e1276128947cf94033e760f87a27e8b2"},"id":{"type":"string","const":"supanova-creator-revenue-policy"},"immutable":{"type":"boolean","const":true},"numericScale":{"type":"number","const":10},"numericDomain":{"type":"object","properties":{"dust":{"type":"string","const":"reject-if-gross-or-creator-rounds-to-zero"},"maximumBasisAmountCc":{"type":"string","const":"999999999999999999999999.9999999999"}},"required":["dust","maximumBasisAmountCc"],"additionalProperties":false},"rounding":{"type":"object","properties":{"grossRevenue":{"type":"string","const":"round10-half-even(source-basis-cc*source-rate)"},"split":{"type":"string","const":"creator=round10-half-even(gross-revenue-cc*creator-share-rate);protocol=gross-revenue-cc-creator-revenue-cc"}},"required":["grossRevenue","split"],"additionalProperties":false},"settlement":{"type":"object","properties":{"execution":{"type":"string","const":"not-enabled"},"featuredAppExternalPartyRequirement":{"type":"string","const":"beneficiary-mint-delegation-or-manual-mint-each-round-required"},"legalApproval":{"type":"string","const":"required-before-live"},"readiness":{"type":"string","const":"canton-attribution-and-distribution-writers-not-configured"}},"required":["execution","featuredAppExternalPartyRequirement","legalApproval","readiness"],"additionalProperties":false},"sources":{"type":"array","minItems":3,"maxItems":3,"prefixItems":[{"type":"object","properties":{"basis":{"type":"string","const":"gross-curve-trade-notional-cc"},"creatorShareRate":{"type":"string","const":"0.80"},"id":{"type":"string","const":"virtual-curve-trading-fee"},"protocolShareRate":{"type":"string","const":"0.20"},"revenueRate":{"type":"string","const":"0.01"},"settlementStrategy":{"type":"string","const":"accounted-then-ledger-distribution"}},"required":["basis","creatorShareRate","id","protocolShareRate","revenueRate","settlementStrategy"],"additionalProperties":false},{"type":"object","properties":{"basis":{"type":"string","const":"gross-supaswap-trade-notional-cc"},"creatorShareRate":{"type":"string","const":"0.80"},"id":{"type":"string","const":"supaswap-amm-trading-fee"},"protocolShareRate":{"type":"string","const":"0.20"},"revenueRate":{"type":"string","const":"0.01"},"settlementStrategy":{"type":"string","const":"accounted-then-ledger-distribution"}},"required":["basis","creatorShareRate","id","protocolShareRate","revenueRate","settlementStrategy"],"additionalProperties":false},{"type":"object","properties":{"basis":{"type":"string","const":"coin-attributable-featured-app-reward-cc"},"creatorShareRate":{"type":"string","const":"0.50"},"id":{"type":"string","const":"featured-app-cc-reward"},"protocolShareRate":{"type":"string","const":"0.50"},"revenueRate":{"type":"string","const":"1.00"},"settlementStrategy":{"type":"string","const":"weighted-featured-app-marker-direct"}},"required":["basis","creatorShareRate","id","protocolShareRate","revenueRate","settlementStrategy"],"additionalProperties":false}]},"version":{"type":"string","const":"1"}},"required":["attribution","eligibility","formulaId","hash","id","immutable","numericScale","numericDomain","rounding","settlement","sources","version"],"additionalProperties":false},"creatorRevenuePolicyAcceptance":{"type":"object","properties":{"accepted":{"type":"boolean","const":true},"policyHash":{"type":"string","const":"sha256:a926e0a380b3938648b5fa9898136638e1276128947cf94033e760f87a27e8b2"},"policyId":{"type":"string","const":"supanova-creator-revenue-policy"},"policyVersion":{"type":"string","const":"1"}},"required":["accepted","policyHash","policyId","policyVersion"],"additionalProperties":false},"damlRewardRouting":{"type":"object","properties":{"creatorRewardBeneficiary":{"anyOf":[{"type":"string","description":"Opaque, case-sensitive Canton Party ID containing 3-512 Unicode scalar values with no normalization, edge whitespace, or C0/C1 control characters.","minLength":3,"maxLength":512},{"type":"null"}]},"rewardDestination":{"type":"string","enum":["CreatorRewardDestination","TraderCashbackDestination"]},"rewardRoutingPolicyDigest":{"type":"string","const":"sha256:fe83c99bff082060a46d8a30ea9de61fc1f165ccd2c28c595b85f393accd86dd"},"rewardRoutingPolicyVersion":{"type":"string","const":"1"}},"required":["creatorRewardBeneficiary","rewardDestination","rewardRoutingPolicyDigest","rewardRoutingPolicyVersion"],"additionalProperties":false},"economics":{"type":"object","properties":{"creationFeeCc":{"type":"string","const":"25"},"curveAllocation":{"type":"string","const":"800000000"},"curve":{"type":"object","properties":{"finalFillPolicy":{"type":"string","const":"reject-overfill-and-unexecutable-remainder"},"formulaId":{"type":"string","const":"supanova-virtual-cpmm-v1"},"initialVirtualCcReserve":{"type":"string","const":"83333.3333333333"},"initialVirtualTokenReserve":{"type":"string","const":"1066666666.6666666667"},"minimumGrossBuyCc":{"type":"string","const":"0.01"},"minimumGrossSellCc":{"type":"string","const":"0.0099"},"minimumNetBuyCc":{"type":"string","const":"0.0099"},"nonTerminalMaxGraduationPercent":{"type":"string","const":"99.9999999999"},"numericScale":{"type":"number","const":10},"openingMarginalPriceCcPerToken":{"type":"string","const":"0.000078125"},"roundingPolicy":{"type":"string","const":"ledger-decimal10-half-even-each-operation"},"sellResidualPolicy":{"type":"string","const":"reject-nonzero-reserve-below-minimum-gross-sell"},"terminalMarginalPriceCcPerToken":{"type":"string","const":"0.00125"}},"required":["finalFillPolicy","formulaId","initialVirtualCcReserve","initialVirtualTokenReserve","minimumGrossBuyCc","minimumGrossSellCc","minimumNetBuyCc","nonTerminalMaxGraduationPercent","numericScale","openingMarginalPriceCcPerToken","roundingPolicy","sellResidualPolicy","terminalMarginalPriceCcPerToken"],"additionalProperties":false},"dexReserve":{"type":"string","const":"200000000"},"fixedSupply":{"type":"boolean","const":true},"graduation":{"type":"object","properties":{"acceptedReserveDepthDropBps":{"type":"string","const":"2500"},"feeTreatment":{"type":"string","const":"outside-active-reserve"},"firstOrderPriceImpactMultiplier":{"type":"string","const":"1.3333333333"},"initialDexCcReserve":{"type":"string","const":"250000"},"initialDexTokenReserve":{"type":"string","const":"200000000"},"postGraduationReserveScale":{"type":"string","const":"0.75"},"priceContinuity":{"type":"string","const":"ratio-matched"},"reserveDepthContinuity":{"type":"boolean","const":false},"terminalVirtualCcReserve":{"type":"string","const":"333333.3333333333"},"terminalVirtualTokenReserve":{"type":"string","const":"266666666.6666666667"},"trigger":{"type":"string","const":"curve-inventory-exhausted-and-net-cc-reserve-reached"},"virtualReservesMigrated":{"type":"boolean","const":false}},"required":["acceptedReserveDepthDropBps","feeTreatment","firstOrderPriceImpactMultiplier","initialDexCcReserve","initialDexTokenReserve","postGraduationReserveScale","priceContinuity","reserveDepthContinuity","terminalVirtualCcReserve","terminalVirtualTokenReserve","trigger","virtualReservesMigrated"],"additionalProperties":false},"graduationThresholdCc":{"type":"string","const":"250000"},"openingPriceCcPerToken":{"type":"string","const":"0.000078125"},"postGraduationAmm":{"type":"object","properties":{"authorizationMaxTtlSeconds":{"type":"number","const":900},"fee":{"type":"object","properties":{"asset":{"type":"string","const":"cc"},"buySide":{"type":"string","const":"deduct-from-gross-before-cc-enters-pool"},"policy":{"type":"string","const":"outside-active-reserves"},"rate":{"type":"string","const":"0.01"},"routing":{"type":"string","const":"creator-revenue-policy-outside-pool"},"sellSide":{"type":"string","const":"deduct-from-gross-cc-after-cc-leaves-pool"}},"required":["asset","buySide","policy","rate","routing","sellSide"],"additionalProperties":false},"formulaId":{"type":"string","const":"supanova-real-cpmm-v1"},"goldenManifestDigest":{"type":"string","const":"sha256:7fc5b0d592eaf85cb083775101efe73a099b404e6334cd85ac1683ac753626d0"},"initialRealCcReserve":{"type":"string","const":"250000"},"initialRealTokenReserve":{"type":"string","const":"200000000"},"invariant":{"type":"object","properties":{"anchor":{"type":"string","const":"50000000000000"},"anchorRelation":{"type":"string","const":"initial=exact-seed;buy=tokenReserve==round10(k/ccReserve);sell=ccReserve==round10(k/tokenReserve)"},"driftPolicy":{"type":"string","const":"reject-any-noncanonical-anchor-relation"},"transition":{"type":"string","const":"oppositeReserve=round10(k/nextInputReserve)"}},"required":["anchor","anchorRelation","driftPolicy","transition"],"additionalProperties":false},"lifecycle":{"type":"string","const":"atomic-graduation-seed-then-revisioned-real-reserve"},"minimumGrossBuyCc":{"type":"string","const":"0.01"},"minimumGrossSellCc":{"type":"string","const":"0.0099"},"minimumGrossSellDerivation":{"type":"string","const":"gross-cc-from-reserve-before-fee"},"numericScale":{"type":"number","const":10},"rounding":{"type":"object","properties":{"buyGrouping":{"type":"string","const":"fee=round10(gross*rate);net=round10(gross-fee);x1=round10(x+net);y1=round10(k/x1);out=round10(y-y1)"},"mode":{"type":"string","const":"ledger-decimal10-half-even-per-operation"},"sellGrouping":{"type":"string","const":"y1=round10(y+tokenIn);x1=round10(k/y1);gross=round10(x-x1);fee=round10(gross*rate);net=round10(gross-fee)"}},"required":["buyGrouping","mode","sellGrouping"],"additionalProperties":false},"rootUniquenessAssumption":{"type":"string","const":"participant-inventory-and-submission-policy-required"},"settlementReadiness":{"type":"string","const":"external-settlement-adapter-unproven"}},"required":["authorizationMaxTtlSeconds","fee","formulaId","goldenManifestDigest","initialRealCcReserve","initialRealTokenReserve","invariant","lifecycle","minimumGrossBuyCc","minimumGrossSellCc","minimumGrossSellDerivation","numericScale","rounding","rootUniquenessAssumption","settlementReadiness"],"additionalProperties":false},"totalSupply":{"type":"string","const":"1000000000"},"tradingFeeRate":{"type":"string","const":"0.01"}},"required":["creationFeeCc","curveAllocation","curve","dexReserve","fixedSupply","graduation","graduationThresholdCc","openingPriceCcPerToken","postGraduationAmm","totalSupply","tradingFeeRate"],"additionalProperties":false},"execution":{"type":"string","const":"simulated"},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"fees":{"type":"object","properties":{"creationFeeCc":{"type":"string","const":"25"},"openingTradingFeeCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"totalDebitCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"tradingFeeRate":{"type":"string","const":"0.01"}},"required":["creationFeeCc","openingTradingFeeCc","totalDebitCc","tradingFeeRate"],"additionalProperties":false},"issuedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"legalAcceptance":{"type":"object","properties":{"accepted":{"type":"boolean","const":true},"acceptedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"documentSetDigest":{"type":"string","const":"sha256:334747f374e7ba4ae02b71918bd94f5d4400b19b20997244ccdf7550719296ff"},"documents":{"type":"array","minItems":3,"maxItems":3,"prefixItems":[{"type":"string","const":"terms"},{"type":"string","const":"launch-terms"},{"type":"string","const":"risk"}]},"effectiveAt":{"type":"string","const":"2026-08-04T00:00:00.000Z"},"documentVersion":{"type":"string","const":"1.2"},"policyId":{"type":"string","const":"supanova-permissionless-curve-launch"},"policyVersion":{"type":"string","const":"3"},"updatedAt":{"type":"string","const":"2026-08-12T00:00:00.000Z"}},"required":["accepted","acceptedAt","documentSetDigest","documents","effectiveAt","documentVersion","policyId","policyVersion","updatedAt"],"additionalProperties":false},"media":{"type":"object","properties":{"banner":{"anyOf":[{"type":"object","properties":{"contentType":{"type":"string","enum":["image/gif","image/jpeg","image/png","image/webp","video/mp4"]},"dataMode":{"type":"string","enum":["durable","simulated"]},"height":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"mediaId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"publicUrl":{"anyOf":[{"type":"string","format":"uri"},{"type":"null"}]},"role":{"type":"string","enum":["token_banner","token_icon"]},"sha256":{"type":"string","pattern":"^[0-9a-f]{64}$"},"sizeBytes":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"status":{"type":"string","enum":["preview_accepted","published","quarantined","rejected","taken_down"]},"storage":{"type":"string","enum":["discarded-preview","removed","supabase-private","supabase-public","supabase-quarantine"]},"width":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]}},"required":["contentType","dataMode","height","mediaId","publicUrl","role","sha256","sizeBytes","status","storage","width"],"additionalProperties":false},{"type":"null"}]},"icon":{"type":"object","properties":{"contentType":{"type":"string","enum":["image/gif","image/jpeg","image/png","image/webp","video/mp4"]},"dataMode":{"type":"string","enum":["durable","simulated"]},"height":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"mediaId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"publicUrl":{"anyOf":[{"type":"string","format":"uri"},{"type":"null"}]},"role":{"type":"string","enum":["token_banner","token_icon"]},"sha256":{"type":"string","pattern":"^[0-9a-f]{64}$"},"sizeBytes":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"status":{"type":"string","enum":["preview_accepted","published","quarantined","rejected","taken_down"]},"storage":{"type":"string","enum":["discarded-preview","removed","supabase-private","supabase-public","supabase-quarantine"]},"width":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]}},"required":["contentType","dataMode","height","mediaId","publicUrl","role","sha256","sizeBytes","status","storage","width"],"additionalProperties":false}},"required":["banner","icon"],"additionalProperties":false},"metadata":{"type":"object","properties":{"bannerMediaId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"category":{"type":"string","enum":["defi","payments","infrastructure","real_world_assets","capital_markets","stablecoins","identity_compliance","data_oracles","consumer","culture","other"]},"description":{"type":"string","minLength":30,"maxLength":1200},"docs":{"type":"string","maxLength":2048,"format":"uri","description":"Public navigation-only HTTPS URL with a DNS hostname; credentials, IP literals, localhost and private/local DNS suffixes are forbidden. This is not permission for server-side fetching.","pattern":"^https://"},"iconMediaId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string","minLength":2,"maxLength":32},"socialReferences":{"type":"object","properties":{"discord":{"type":"string","maxLength":2048,"format":"uri","description":"Non-root HTTPS discord profile/channel URL. Approved hosts: discord.gg, discord.com, discordapp.com.","pattern":"^https://"},"instagram":{"type":"string","maxLength":2048,"format":"uri","description":"Non-root HTTPS instagram profile/channel URL. Approved hosts: instagram.com.","pattern":"^https://"},"telegram":{"type":"string","maxLength":2048,"format":"uri","description":"Non-root HTTPS telegram profile/channel URL. Approved hosts: t.me, telegram.me.","pattern":"^https://"},"tiktok":{"type":"string","maxLength":2048,"format":"uri","description":"Non-root HTTPS tiktok profile/channel URL. Approved hosts: tiktok.com.","pattern":"^https://"},"x":{"type":"string","maxLength":2048,"format":"uri","description":"Non-root HTTPS x profile/channel URL. Approved hosts: x.com, twitter.com.","pattern":"^https://"},"youtube":{"type":"string","maxLength":2048,"format":"uri","description":"Non-root HTTPS youtube profile/channel URL. Approved hosts: youtube.com, youtu.be.","pattern":"^https://"}},"additionalProperties":false},"summary":{"type":"string","minLength":10,"maxLength":120},"ticker":{"type":"string","pattern":"^[A-Z0-9]{1,16}$"},"website":{"type":"string","maxLength":2048,"format":"uri","description":"Public navigation-only HTTPS URL with a DNS hostname; credentials, IP literals, localhost and private/local DNS suffixes are forbidden. This is not permission for server-side fetching.","pattern":"^https://"}},"required":["category","description","iconMediaId","name","summary","ticker"],"additionalProperties":false},"networkId":{"type":"string","pattern":"^canton:[-_a-zA-Z0-9]{1,32}$"},"openingBuy":{"anyOf":[{"type":"object","properties":{"averagePriceCcPerToken":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"creatorRevenueAllocation":{"oneOf":[{"type":"object","properties":{"basisAmountCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"creatorRevenueCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"eligibility":{"type":"string","const":"eligible"},"grossRevenueCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"lineage":{"type":"string","const":"bind-on-confirmed-launch-route"},"policy":{"type":"object","properties":{"hash":{"type":"string","const":"sha256:a926e0a380b3938648b5fa9898136638e1276128947cf94033e760f87a27e8b2"},"id":{"type":"string","const":"supanova-creator-revenue-policy"},"version":{"type":"string","const":"1"}},"required":["hash","id","version"],"additionalProperties":false},"protocolRevenueCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"source":{"type":"string","const":"virtual-curve-trading-fee"}},"required":["basisAmountCc","creatorRevenueCc","eligibility","grossRevenueCc","lineage","policy","protocolRevenueCc","source"],"additionalProperties":false},{"type":"object","properties":{"eligibility":{"type":"string","const":"ineligible"},"reason":{"type":"string","const":"trader-cashback"}},"required":["eligibility","reason"],"additionalProperties":false}]},"grossCcAmount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"inputAmount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"inputUnit":{"type":"string","enum":["cc","token"]},"netCcToCurve":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"priceImpactBps":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"stateAfter":{"type":"object","properties":{"formulaId":{"type":"string","const":"supanova-virtual-cpmm-v1"},"graduated":{"type":"boolean"},"graduationPercent":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"marginalPriceCcPerToken":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"netCcReserve":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"tokensRemaining":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"tokensSold":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["formulaId","graduated","graduationPercent","marginalPriceCcPerToken","netCcReserve","tokensRemaining","tokensSold"],"additionalProperties":false},"tokenAmount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"tradingFeeCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["averagePriceCcPerToken","creatorRevenueAllocation","grossCcAmount","inputAmount","inputUnit","netCcToCurve","priceImpactBps","stateAfter","tokenAmount","tradingFeeCc"],"additionalProperties":false},{"type":"null"}]},"policy":{"type":"object","properties":{"document":{"type":"object","properties":{"documentSetDigest":{"type":"string","const":"sha256:334747f374e7ba4ae02b71918bd94f5d4400b19b20997244ccdf7550719296ff"},"documents":{"type":"array","minItems":3,"maxItems":3,"prefixItems":[{"type":"object","properties":{"digest":{"type":"string","const":"sha256:ae3001c9110291ba6d97fe27343218a23ec93427ac7f7654e45e77b3fe08523d"},"slug":{"type":"string","const":"terms"}},"required":["digest","slug"],"additionalProperties":false},{"type":"object","properties":{"digest":{"type":"string","const":"sha256:44b4ddbc306824bc9c44f1f2c57892169b3fa737df453897c66f36c8127123f5"},"slug":{"type":"string","const":"launch-terms"}},"required":["digest","slug"],"additionalProperties":false},{"type":"object","properties":{"digest":{"type":"string","const":"sha256:3d54b4c54d38211c9cb5b5789e97607bd7c49157f7cff5928d2e348c66d04c84"},"slug":{"type":"string","const":"risk"}},"required":["digest","slug"],"additionalProperties":false}]},"effectiveAt":{"type":"string","const":"2026-08-04T00:00:00.000Z"},"updatedAt":{"type":"string","const":"2026-08-12T00:00:00.000Z"},"version":{"type":"string","const":"1.2"}},"required":["documentSetDigest","documents","effectiveAt","updatedAt","version"],"additionalProperties":false},"hash":{"type":"string","const":"sha256:c843cc6204a25e687e40fff5f8033416031fb28d191f40b00e530855d70dd0ce"},"id":{"type":"string","const":"supanova-permissionless-curve-launch"},"immutable":{"type":"boolean","const":true},"version":{"type":"string","const":"3"}},"required":["document","hash","id","immutable","version"],"additionalProperties":false},"proposedInstrument":{"type":"object","properties":{"instrumentId":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":512},"id":{"type":"string","minLength":1,"maxLength":512}},"required":["admin","id"],"additionalProperties":false},"standard":{"type":"string","const":"CIP-0056"},"status":{"type":"string","const":"proposed"}},"required":["instrumentId","standard","status"],"additionalProperties":false},"proposedSlug":{"type":"string","pattern":"^[a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?$"},"quoteHash":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"},"quoteId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"requestHash":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"},"rewardConfiguration":{"oneOf":[{"type":"object","properties":{"creatorRewardPartyId":{"type":"string","description":"Exact opaque, case-sensitive Canton Party ID. It is preserved byte-for-byte: launcher source must equal the verified launcher Party; external source must differ.","minLength":3,"maxLength":512},"creatorRewardPartySource":{"type":"string","enum":["launcher","external"],"description":"Authority rule for creatorRewardPartyId: launcher requires exact equality with the verified launch wallet Party; external requires exact inequality."},"rewardDestination":{"type":"string","const":"creator"}},"required":["creatorRewardPartyId","creatorRewardPartySource","rewardDestination"],"additionalProperties":false,"description":"Creator rewards route only to the exact immutable Party named by this branch."},{"type":"object","properties":{"rewardDestination":{"type":"string","const":"trader_cashback"}},"required":["rewardDestination"],"additionalProperties":false,"description":"Trader cashback forbids creator Party source and Party ID fields."}],"description":"Strict reward-routing authority union. Party IDs are opaque and case-sensitive; no trimming, casing, aliasing, or normalization is allowed."},"rewardRoutingPolicy":{"type":"object","properties":{"authority":{"type":"object","properties":{"prepareRevalidation":{"type":"string","const":"exact-active-verified-wallet-context"},"quoteBinding":{"type":"string","const":"verified-wallet-connection-party-and-network"},"quoteReuse":{"type":"string","const":"single-operation-idempotency-key"}},"required":["prepareRevalidation","quoteBinding","quoteReuse"],"additionalProperties":false},"beneficiary":{"type":"object","properties":{"identity":{"type":"string","const":"opaque-case-sensitive-canton-party-id"},"routes":{"type":"object","properties":{"creator":{"type":"object","properties":{"external":{"type":"string","const":"must-differ-from-launcher-party"},"launcher":{"type":"string","const":"must-equal-launcher-party"},"partyId":{"type":"string","const":"required"}},"required":["external","launcher","partyId"],"additionalProperties":false},"trader_cashback":{"type":"object","properties":{"partyId":{"type":"string","const":"forbidden"},"partySource":{"type":"string","const":"forbidden"}},"required":["partyId","partySource"],"additionalProperties":false}},"required":["creator","trader_cashback"],"additionalProperties":false}},"required":["identity","routes"],"additionalProperties":false},"hash":{"type":"string","const":"sha256:fe83c99bff082060a46d8a30ea9de61fc1f165ccd2c28c595b85f393accd86dd"},"id":{"type":"string","const":"supanova-token-launch-reward-routing"},"immutable":{"type":"boolean","const":true},"privacy":{"type":"object","properties":{"partyIdentifiers":{"type":"string","const":"backend-and-entitled-ledger-projection-only"}},"required":["partyIdentifiers"],"additionalProperties":false},"settlement":{"type":"object","properties":{"execution":{"type":"string","const":"not-enabled"},"readiness":{"type":"string","const":"daml-command-builder-not-configured"}},"required":["execution","readiness"],"additionalProperties":false},"version":{"type":"string","const":"1"}},"required":["authority","beneficiary","hash","id","immutable","privacy","settlement","version"],"additionalProperties":false},"walletContext":{"type":"object","properties":{"creatorPartyId":{"type":"string","description":"Opaque, case-sensitive Canton Party ID containing 3-512 Unicode scalar values with no normalization, edge whitespace, or C0/C1 control characters.","minLength":3,"maxLength":512},"networkId":{"type":"string","pattern":"^canton:[-_a-zA-Z0-9]{1,32}$"},"walletConnectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["creatorPartyId","networkId","walletConnectionId"],"additionalProperties":false}},"required":["creatorRevenuePolicy","creatorRevenuePolicyAcceptance","damlRewardRouting","economics","execution","expiresAt","fees","issuedAt","legalAcceptance","media","metadata","networkId","openingBuy","policy","proposedInstrument","proposedSlug","quoteHash","quoteId","requestHash","rewardConfiguration","rewardRoutingPolicy","walletContext"],"additionalProperties":false},"walletAction":{"type":"object","properties":{"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"intent":{"type":"object","properties":{"creatorRevenuePolicy":{"type":"object","properties":{"attribution":{"type":"object","properties":{"featuredApp":{"type":"string","const":"authoritative-cc-event-uniquely-correlated-to-one-accepted-launch-instrument-only"},"reversal":{"type":"string","const":"append-only-exact-opposite-once-and-only-before-any-distribution-allocation"},"routedTokenToToken":{"type":"string","const":"one-source-event-per-supaswap-leg-attributed-to-that-leg-token-launch"},"unattributedActivity":{"type":"string","const":"reject-never-api-prorate"}},"required":["featuredApp","reversal","routedTokenToToken","unattributedActivity"],"additionalProperties":false},"eligibility":{"type":"object","properties":{"activation":{"type":"string","const":"exact-policy-accepted-launches-only-no-retroactive-attribution"},"beneficiary":{"type":"string","const":"immutable-token-launch-reward-route-party"},"rewardDestination":{"type":"string","const":"creator"},"traderCashback":{"type":"string","const":"ineligible-pending-explicit-product-decision"}},"required":["activation","beneficiary","rewardDestination","traderCashback"],"additionalProperties":false},"formulaId":{"type":"string","const":"supanova-creator-revenue-v1"},"hash":{"type":"string","const":"sha256:a926e0a380b3938648b5fa9898136638e1276128947cf94033e760f87a27e8b2"},"id":{"type":"string","const":"supanova-creator-revenue-policy"},"immutable":{"type":"boolean","const":true},"numericScale":{"type":"number","const":10},"numericDomain":{"type":"object","properties":{"dust":{"type":"string","const":"reject-if-gross-or-creator-rounds-to-zero"},"maximumBasisAmountCc":{"type":"string","const":"999999999999999999999999.9999999999"}},"required":["dust","maximumBasisAmountCc"],"additionalProperties":false},"rounding":{"type":"object","properties":{"grossRevenue":{"type":"string","const":"round10-half-even(source-basis-cc*source-rate)"},"split":{"type":"string","const":"creator=round10-half-even(gross-revenue-cc*creator-share-rate);protocol=gross-revenue-cc-creator-revenue-cc"}},"required":["grossRevenue","split"],"additionalProperties":false},"settlement":{"type":"object","properties":{"execution":{"type":"string","const":"not-enabled"},"featuredAppExternalPartyRequirement":{"type":"string","const":"beneficiary-mint-delegation-or-manual-mint-each-round-required"},"legalApproval":{"type":"string","const":"required-before-live"},"readiness":{"type":"string","const":"canton-attribution-and-distribution-writers-not-configured"}},"required":["execution","featuredAppExternalPartyRequirement","legalApproval","readiness"],"additionalProperties":false},"sources":{"type":"array","minItems":3,"maxItems":3,"prefixItems":[{"type":"object","properties":{"basis":{"type":"string","const":"gross-curve-trade-notional-cc"},"creatorShareRate":{"type":"string","const":"0.80"},"id":{"type":"string","const":"virtual-curve-trading-fee"},"protocolShareRate":{"type":"string","const":"0.20"},"revenueRate":{"type":"string","const":"0.01"},"settlementStrategy":{"type":"string","const":"accounted-then-ledger-distribution"}},"required":["basis","creatorShareRate","id","protocolShareRate","revenueRate","settlementStrategy"],"additionalProperties":false},{"type":"object","properties":{"basis":{"type":"string","const":"gross-supaswap-trade-notional-cc"},"creatorShareRate":{"type":"string","const":"0.80"},"id":{"type":"string","const":"supaswap-amm-trading-fee"},"protocolShareRate":{"type":"string","const":"0.20"},"revenueRate":{"type":"string","const":"0.01"},"settlementStrategy":{"type":"string","const":"accounted-then-ledger-distribution"}},"required":["basis","creatorShareRate","id","protocolShareRate","revenueRate","settlementStrategy"],"additionalProperties":false},{"type":"object","properties":{"basis":{"type":"string","const":"coin-attributable-featured-app-reward-cc"},"creatorShareRate":{"type":"string","const":"0.50"},"id":{"type":"string","const":"featured-app-cc-reward"},"protocolShareRate":{"type":"string","const":"0.50"},"revenueRate":{"type":"string","const":"1.00"},"settlementStrategy":{"type":"string","const":"weighted-featured-app-marker-direct"}},"required":["basis","creatorShareRate","id","protocolShareRate","revenueRate","settlementStrategy"],"additionalProperties":false}]},"version":{"type":"string","const":"1"}},"required":["attribution","eligibility","formulaId","hash","id","immutable","numericScale","numericDomain","rounding","settlement","sources","version"],"additionalProperties":false},"creatorRevenuePolicyAcceptance":{"type":"object","properties":{"accepted":{"type":"boolean","const":true},"policyHash":{"type":"string","const":"sha256:a926e0a380b3938648b5fa9898136638e1276128947cf94033e760f87a27e8b2"},"policyId":{"type":"string","const":"supanova-creator-revenue-policy"},"policyVersion":{"type":"string","const":"1"}},"required":["accepted","policyHash","policyId","policyVersion"],"additionalProperties":false},"damlRewardRouting":{"type":"object","properties":{"creatorRewardBeneficiary":{"anyOf":[{"type":"string","description":"Opaque, case-sensitive Canton Party ID containing 3-512 Unicode scalar values with no normalization, edge whitespace, or C0/C1 control characters.","minLength":3,"maxLength":512},{"type":"null"}]},"rewardDestination":{"type":"string","enum":["CreatorRewardDestination","TraderCashbackDestination"]},"rewardRoutingPolicyDigest":{"type":"string","const":"sha256:fe83c99bff082060a46d8a30ea9de61fc1f165ccd2c28c595b85f393accd86dd"},"rewardRoutingPolicyVersion":{"type":"string","const":"1"}},"required":["creatorRewardBeneficiary","rewardDestination","rewardRoutingPolicyDigest","rewardRoutingPolicyVersion"],"additionalProperties":false},"economics":{"type":"object","properties":{"creationFeeCc":{"type":"string","const":"25"},"curveAllocation":{"type":"string","const":"800000000"},"curve":{"type":"object","properties":{"finalFillPolicy":{"type":"string","const":"reject-overfill-and-unexecutable-remainder"},"formulaId":{"type":"string","const":"supanova-virtual-cpmm-v1"},"initialVirtualCcReserve":{"type":"string","const":"83333.3333333333"},"initialVirtualTokenReserve":{"type":"string","const":"1066666666.6666666667"},"minimumGrossBuyCc":{"type":"string","const":"0.01"},"minimumGrossSellCc":{"type":"string","const":"0.0099"},"minimumNetBuyCc":{"type":"string","const":"0.0099"},"nonTerminalMaxGraduationPercent":{"type":"string","const":"99.9999999999"},"numericScale":{"type":"number","const":10},"openingMarginalPriceCcPerToken":{"type":"string","const":"0.000078125"},"roundingPolicy":{"type":"string","const":"ledger-decimal10-half-even-each-operation"},"sellResidualPolicy":{"type":"string","const":"reject-nonzero-reserve-below-minimum-gross-sell"},"terminalMarginalPriceCcPerToken":{"type":"string","const":"0.00125"}},"required":["finalFillPolicy","formulaId","initialVirtualCcReserve","initialVirtualTokenReserve","minimumGrossBuyCc","minimumGrossSellCc","minimumNetBuyCc","nonTerminalMaxGraduationPercent","numericScale","openingMarginalPriceCcPerToken","roundingPolicy","sellResidualPolicy","terminalMarginalPriceCcPerToken"],"additionalProperties":false},"dexReserve":{"type":"string","const":"200000000"},"fixedSupply":{"type":"boolean","const":true},"graduation":{"type":"object","properties":{"acceptedReserveDepthDropBps":{"type":"string","const":"2500"},"feeTreatment":{"type":"string","const":"outside-active-reserve"},"firstOrderPriceImpactMultiplier":{"type":"string","const":"1.3333333333"},"initialDexCcReserve":{"type":"string","const":"250000"},"initialDexTokenReserve":{"type":"string","const":"200000000"},"postGraduationReserveScale":{"type":"string","const":"0.75"},"priceContinuity":{"type":"string","const":"ratio-matched"},"reserveDepthContinuity":{"type":"boolean","const":false},"terminalVirtualCcReserve":{"type":"string","const":"333333.3333333333"},"terminalVirtualTokenReserve":{"type":"string","const":"266666666.6666666667"},"trigger":{"type":"string","const":"curve-inventory-exhausted-and-net-cc-reserve-reached"},"virtualReservesMigrated":{"type":"boolean","const":false}},"required":["acceptedReserveDepthDropBps","feeTreatment","firstOrderPriceImpactMultiplier","initialDexCcReserve","initialDexTokenReserve","postGraduationReserveScale","priceContinuity","reserveDepthContinuity","terminalVirtualCcReserve","terminalVirtualTokenReserve","trigger","virtualReservesMigrated"],"additionalProperties":false},"graduationThresholdCc":{"type":"string","const":"250000"},"openingPriceCcPerToken":{"type":"string","const":"0.000078125"},"postGraduationAmm":{"type":"object","properties":{"authorizationMaxTtlSeconds":{"type":"number","const":900},"fee":{"type":"object","properties":{"asset":{"type":"string","const":"cc"},"buySide":{"type":"string","const":"deduct-from-gross-before-cc-enters-pool"},"policy":{"type":"string","const":"outside-active-reserves"},"rate":{"type":"string","const":"0.01"},"routing":{"type":"string","const":"creator-revenue-policy-outside-pool"},"sellSide":{"type":"string","const":"deduct-from-gross-cc-after-cc-leaves-pool"}},"required":["asset","buySide","policy","rate","routing","sellSide"],"additionalProperties":false},"formulaId":{"type":"string","const":"supanova-real-cpmm-v1"},"goldenManifestDigest":{"type":"string","const":"sha256:7fc5b0d592eaf85cb083775101efe73a099b404e6334cd85ac1683ac753626d0"},"initialRealCcReserve":{"type":"string","const":"250000"},"initialRealTokenReserve":{"type":"string","const":"200000000"},"invariant":{"type":"object","properties":{"anchor":{"type":"string","const":"50000000000000"},"anchorRelation":{"type":"string","const":"initial=exact-seed;buy=tokenReserve==round10(k/ccReserve);sell=ccReserve==round10(k/tokenReserve)"},"driftPolicy":{"type":"string","const":"reject-any-noncanonical-anchor-relation"},"transition":{"type":"string","const":"oppositeReserve=round10(k/nextInputReserve)"}},"required":["anchor","anchorRelation","driftPolicy","transition"],"additionalProperties":false},"lifecycle":{"type":"string","const":"atomic-graduation-seed-then-revisioned-real-reserve"},"minimumGrossBuyCc":{"type":"string","const":"0.01"},"minimumGrossSellCc":{"type":"string","const":"0.0099"},"minimumGrossSellDerivation":{"type":"string","const":"gross-cc-from-reserve-before-fee"},"numericScale":{"type":"number","const":10},"rounding":{"type":"object","properties":{"buyGrouping":{"type":"string","const":"fee=round10(gross*rate);net=round10(gross-fee);x1=round10(x+net);y1=round10(k/x1);out=round10(y-y1)"},"mode":{"type":"string","const":"ledger-decimal10-half-even-per-operation"},"sellGrouping":{"type":"string","const":"y1=round10(y+tokenIn);x1=round10(k/y1);gross=round10(x-x1);fee=round10(gross*rate);net=round10(gross-fee)"}},"required":["buyGrouping","mode","sellGrouping"],"additionalProperties":false},"rootUniquenessAssumption":{"type":"string","const":"participant-inventory-and-submission-policy-required"},"settlementReadiness":{"type":"string","const":"external-settlement-adapter-unproven"}},"required":["authorizationMaxTtlSeconds","fee","formulaId","goldenManifestDigest","initialRealCcReserve","initialRealTokenReserve","invariant","lifecycle","minimumGrossBuyCc","minimumGrossSellCc","minimumGrossSellDerivation","numericScale","rounding","rootUniquenessAssumption","settlementReadiness"],"additionalProperties":false},"totalSupply":{"type":"string","const":"1000000000"},"tradingFeeRate":{"type":"string","const":"0.01"}},"required":["creationFeeCc","curveAllocation","curve","dexReserve","fixedSupply","graduation","graduationThresholdCc","openingPriceCcPerToken","postGraduationAmm","totalSupply","tradingFeeRate"],"additionalProperties":false},"fees":{"type":"object","properties":{"creationFeeCc":{"type":"string","const":"25"},"openingTradingFeeCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"totalDebitCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"tradingFeeRate":{"type":"string","const":"0.01"}},"required":["creationFeeCc","openingTradingFeeCc","totalDebitCc","tradingFeeRate"],"additionalProperties":false},"legalAcceptance":{"type":"object","properties":{"accepted":{"type":"boolean","const":true},"acceptedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"documentSetDigest":{"type":"string","const":"sha256:334747f374e7ba4ae02b71918bd94f5d4400b19b20997244ccdf7550719296ff"},"documents":{"type":"array","minItems":3,"maxItems":3,"prefixItems":[{"type":"string","const":"terms"},{"type":"string","const":"launch-terms"},{"type":"string","const":"risk"}]},"effectiveAt":{"type":"string","const":"2026-08-04T00:00:00.000Z"},"documentVersion":{"type":"string","const":"1.2"},"policyId":{"type":"string","const":"supanova-permissionless-curve-launch"},"policyVersion":{"type":"string","const":"3"},"updatedAt":{"type":"string","const":"2026-08-12T00:00:00.000Z"}},"required":["accepted","acceptedAt","documentSetDigest","documents","effectiveAt","documentVersion","policyId","policyVersion","updatedAt"],"additionalProperties":false},"media":{"type":"object","properties":{"banner":{"anyOf":[{"type":"object","properties":{"contentType":{"type":"string","enum":["image/gif","image/jpeg","image/png","image/webp","video/mp4"]},"dataMode":{"type":"string","enum":["durable","simulated"]},"height":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"mediaId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"publicUrl":{"anyOf":[{"type":"string","format":"uri"},{"type":"null"}]},"role":{"type":"string","enum":["token_banner","token_icon"]},"sha256":{"type":"string","pattern":"^[0-9a-f]{64}$"},"sizeBytes":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"status":{"type":"string","enum":["preview_accepted","published","quarantined","rejected","taken_down"]},"storage":{"type":"string","enum":["discarded-preview","removed","supabase-private","supabase-public","supabase-quarantine"]},"width":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]}},"required":["contentType","dataMode","height","mediaId","publicUrl","role","sha256","sizeBytes","status","storage","width"],"additionalProperties":false},{"type":"null"}]},"icon":{"type":"object","properties":{"contentType":{"type":"string","enum":["image/gif","image/jpeg","image/png","image/webp","video/mp4"]},"dataMode":{"type":"string","enum":["durable","simulated"]},"height":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"mediaId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"publicUrl":{"anyOf":[{"type":"string","format":"uri"},{"type":"null"}]},"role":{"type":"string","enum":["token_banner","token_icon"]},"sha256":{"type":"string","pattern":"^[0-9a-f]{64}$"},"sizeBytes":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"status":{"type":"string","enum":["preview_accepted","published","quarantined","rejected","taken_down"]},"storage":{"type":"string","enum":["discarded-preview","removed","supabase-private","supabase-public","supabase-quarantine"]},"width":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]}},"required":["contentType","dataMode","height","mediaId","publicUrl","role","sha256","sizeBytes","status","storage","width"],"additionalProperties":false}},"required":["banner","icon"],"additionalProperties":false},"metadata":{"type":"object","properties":{"bannerMediaId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"category":{"type":"string","enum":["defi","payments","infrastructure","real_world_assets","capital_markets","stablecoins","identity_compliance","data_oracles","consumer","culture","other"]},"description":{"type":"string","minLength":30,"maxLength":1200},"docs":{"type":"string","maxLength":2048,"format":"uri","description":"Public navigation-only HTTPS URL with a DNS hostname; credentials, IP literals, localhost and private/local DNS suffixes are forbidden. This is not permission for server-side fetching.","pattern":"^https://"},"iconMediaId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string","minLength":2,"maxLength":32},"socialReferences":{"type":"object","properties":{"discord":{"type":"string","maxLength":2048,"format":"uri","description":"Non-root HTTPS discord profile/channel URL. Approved hosts: discord.gg, discord.com, discordapp.com.","pattern":"^https://"},"instagram":{"type":"string","maxLength":2048,"format":"uri","description":"Non-root HTTPS instagram profile/channel URL. Approved hosts: instagram.com.","pattern":"^https://"},"telegram":{"type":"string","maxLength":2048,"format":"uri","description":"Non-root HTTPS telegram profile/channel URL. Approved hosts: t.me, telegram.me.","pattern":"^https://"},"tiktok":{"type":"string","maxLength":2048,"format":"uri","description":"Non-root HTTPS tiktok profile/channel URL. Approved hosts: tiktok.com.","pattern":"^https://"},"x":{"type":"string","maxLength":2048,"format":"uri","description":"Non-root HTTPS x profile/channel URL. Approved hosts: x.com, twitter.com.","pattern":"^https://"},"youtube":{"type":"string","maxLength":2048,"format":"uri","description":"Non-root HTTPS youtube profile/channel URL. Approved hosts: youtube.com, youtu.be.","pattern":"^https://"}},"additionalProperties":false},"summary":{"type":"string","minLength":10,"maxLength":120},"ticker":{"type":"string","pattern":"^[A-Z0-9]{1,16}$"},"website":{"type":"string","maxLength":2048,"format":"uri","description":"Public navigation-only HTTPS URL with a DNS hostname; credentials, IP literals, localhost and private/local DNS suffixes are forbidden. This is not permission for server-side fetching.","pattern":"^https://"}},"required":["category","description","iconMediaId","name","summary","ticker"],"additionalProperties":false},"openingBuy":{"anyOf":[{"type":"object","properties":{"averagePriceCcPerToken":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"creatorRevenueAllocation":{"oneOf":[{"type":"object","properties":{"basisAmountCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"creatorRevenueCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"eligibility":{"type":"string","const":"eligible"},"grossRevenueCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"lineage":{"type":"string","const":"bind-on-confirmed-launch-route"},"policy":{"type":"object","properties":{"hash":{"type":"string","const":"sha256:a926e0a380b3938648b5fa9898136638e1276128947cf94033e760f87a27e8b2"},"id":{"type":"string","const":"supanova-creator-revenue-policy"},"version":{"type":"string","const":"1"}},"required":["hash","id","version"],"additionalProperties":false},"protocolRevenueCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"source":{"type":"string","const":"virtual-curve-trading-fee"}},"required":["basisAmountCc","creatorRevenueCc","eligibility","grossRevenueCc","lineage","policy","protocolRevenueCc","source"],"additionalProperties":false},{"type":"object","properties":{"eligibility":{"type":"string","const":"ineligible"},"reason":{"type":"string","const":"trader-cashback"}},"required":["eligibility","reason"],"additionalProperties":false}]},"grossCcAmount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"inputAmount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"inputUnit":{"type":"string","enum":["cc","token"]},"netCcToCurve":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"priceImpactBps":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"stateAfter":{"type":"object","properties":{"formulaId":{"type":"string","const":"supanova-virtual-cpmm-v1"},"graduated":{"type":"boolean"},"graduationPercent":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"marginalPriceCcPerToken":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"netCcReserve":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"tokensRemaining":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"tokensSold":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["formulaId","graduated","graduationPercent","marginalPriceCcPerToken","netCcReserve","tokensRemaining","tokensSold"],"additionalProperties":false},"tokenAmount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"tradingFeeCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["averagePriceCcPerToken","creatorRevenueAllocation","grossCcAmount","inputAmount","inputUnit","netCcToCurve","priceImpactBps","stateAfter","tokenAmount","tradingFeeCc"],"additionalProperties":false},{"type":"null"}]},"policy":{"type":"object","properties":{"document":{"type":"object","properties":{"documentSetDigest":{"type":"string","const":"sha256:334747f374e7ba4ae02b71918bd94f5d4400b19b20997244ccdf7550719296ff"},"documents":{"type":"array","minItems":3,"maxItems":3,"prefixItems":[{"type":"object","properties":{"digest":{"type":"string","const":"sha256:ae3001c9110291ba6d97fe27343218a23ec93427ac7f7654e45e77b3fe08523d"},"slug":{"type":"string","const":"terms"}},"required":["digest","slug"],"additionalProperties":false},{"type":"object","properties":{"digest":{"type":"string","const":"sha256:44b4ddbc306824bc9c44f1f2c57892169b3fa737df453897c66f36c8127123f5"},"slug":{"type":"string","const":"launch-terms"}},"required":["digest","slug"],"additionalProperties":false},{"type":"object","properties":{"digest":{"type":"string","const":"sha256:3d54b4c54d38211c9cb5b5789e97607bd7c49157f7cff5928d2e348c66d04c84"},"slug":{"type":"string","const":"risk"}},"required":["digest","slug"],"additionalProperties":false}]},"effectiveAt":{"type":"string","const":"2026-08-04T00:00:00.000Z"},"updatedAt":{"type":"string","const":"2026-08-12T00:00:00.000Z"},"version":{"type":"string","const":"1.2"}},"required":["documentSetDigest","documents","effectiveAt","updatedAt","version"],"additionalProperties":false},"hash":{"type":"string","const":"sha256:c843cc6204a25e687e40fff5f8033416031fb28d191f40b00e530855d70dd0ce"},"id":{"type":"string","const":"supanova-permissionless-curve-launch"},"immutable":{"type":"boolean","const":true},"version":{"type":"string","const":"3"}},"required":["document","hash","id","immutable","version"],"additionalProperties":false},"proposedInstrument":{"type":"object","properties":{"instrumentId":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":512},"id":{"type":"string","minLength":1,"maxLength":512}},"required":["admin","id"],"additionalProperties":false},"standard":{"type":"string","const":"CIP-0056"},"status":{"type":"string","const":"proposed"}},"required":["instrumentId","standard","status"],"additionalProperties":false},"proposedSlug":{"type":"string","pattern":"^[a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?$"},"quoteHash":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"},"quoteId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"requestHash":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"},"rewardConfiguration":{"oneOf":[{"type":"object","properties":{"creatorRewardPartyId":{"type":"string","description":"Exact opaque, case-sensitive Canton Party ID. It is preserved byte-for-byte: launcher source must equal the verified launcher Party; external source must differ.","minLength":3,"maxLength":512},"creatorRewardPartySource":{"type":"string","enum":["launcher","external"],"description":"Authority rule for creatorRewardPartyId: launcher requires exact equality with the verified launch wallet Party; external requires exact inequality."},"rewardDestination":{"type":"string","const":"creator"}},"required":["creatorRewardPartyId","creatorRewardPartySource","rewardDestination"],"additionalProperties":false,"description":"Creator rewards route only to the exact immutable Party named by this branch."},{"type":"object","properties":{"rewardDestination":{"type":"string","const":"trader_cashback"}},"required":["rewardDestination"],"additionalProperties":false,"description":"Trader cashback forbids creator Party source and Party ID fields."}],"description":"Strict reward-routing authority union. Party IDs are opaque and case-sensitive; no trimming, casing, aliasing, or normalization is allowed."},"rewardRoutingPolicy":{"type":"object","properties":{"authority":{"type":"object","properties":{"prepareRevalidation":{"type":"string","const":"exact-active-verified-wallet-context"},"quoteBinding":{"type":"string","const":"verified-wallet-connection-party-and-network"},"quoteReuse":{"type":"string","const":"single-operation-idempotency-key"}},"required":["prepareRevalidation","quoteBinding","quoteReuse"],"additionalProperties":false},"beneficiary":{"type":"object","properties":{"identity":{"type":"string","const":"opaque-case-sensitive-canton-party-id"},"routes":{"type":"object","properties":{"creator":{"type":"object","properties":{"external":{"type":"string","const":"must-differ-from-launcher-party"},"launcher":{"type":"string","const":"must-equal-launcher-party"},"partyId":{"type":"string","const":"required"}},"required":["external","launcher","partyId"],"additionalProperties":false},"trader_cashback":{"type":"object","properties":{"partyId":{"type":"string","const":"forbidden"},"partySource":{"type":"string","const":"forbidden"}},"required":["partyId","partySource"],"additionalProperties":false}},"required":["creator","trader_cashback"],"additionalProperties":false}},"required":["identity","routes"],"additionalProperties":false},"hash":{"type":"string","const":"sha256:fe83c99bff082060a46d8a30ea9de61fc1f165ccd2c28c595b85f393accd86dd"},"id":{"type":"string","const":"supanova-token-launch-reward-routing"},"immutable":{"type":"boolean","const":true},"privacy":{"type":"object","properties":{"partyIdentifiers":{"type":"string","const":"backend-and-entitled-ledger-projection-only"}},"required":["partyIdentifiers"],"additionalProperties":false},"settlement":{"type":"object","properties":{"execution":{"type":"string","const":"not-enabled"},"readiness":{"type":"string","const":"daml-command-builder-not-configured"}},"required":["execution","readiness"],"additionalProperties":false},"version":{"type":"string","const":"1"}},"required":["authority","beneficiary","hash","id","immutable","privacy","settlement","version"],"additionalProperties":false},"type":{"type":"string","const":"token-launch.create"},"walletContext":{"type":"object","properties":{"creatorPartyId":{"type":"string","description":"Opaque, case-sensitive Canton Party ID containing 3-512 Unicode scalar values with no normalization, edge whitespace, or C0/C1 control characters.","minLength":3,"maxLength":512},"networkId":{"type":"string","pattern":"^canton:[-_a-zA-Z0-9]{1,32}$"},"walletConnectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["creatorPartyId","networkId","walletConnectionId"],"additionalProperties":false}},"required":["creatorRevenuePolicy","creatorRevenuePolicyAcceptance","damlRewardRouting","economics","fees","legalAcceptance","media","metadata","openingBuy","policy","proposedInstrument","proposedSlug","quoteHash","quoteId","requestHash","rewardConfiguration","rewardRoutingPolicy","type","walletContext"],"additionalProperties":false},"kind":{"type":"string","const":"canton.prepare-execute"},"method":{"type":"string","const":"prepareExecute"},"networkId":{"type":"string","pattern":"^canton:[-_a-zA-Z0-9]{1,32}$"},"operationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"readiness":{"type":"string","enum":["daml-command-builder-not-configured","ready"]},"request":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["application-submission","interactive-submission","wallet-submission"]},"commandId":{"type":"string","minLength":1,"maxLength":255},"actAs":{"minItems":1,"maxItems":8,"type":"array","items":{"type":"string","minLength":3,"maxLength":512}},"synchronizerId":{"type":"string","minLength":1,"maxLength":512},"hashingSchemeVersion":{"type":"string","minLength":1,"maxLength":64},"signatureFormat":{"type":"string","const":"SIGNATURE_FORMAT_RAW"},"signingAlgorithmSpec":{"type":"string","const":"SIGNING_ALGORITHM_SPEC_ED25519"},"signedBy":{"anyOf":[{"type":"string","minLength":4,"maxLength":160},{"type":"null"}]},"preparedTransaction":{"anyOf":[{"type":"string","maxLength":4194304},{"type":"null"}]},"preparedTransactionHash":{"anyOf":[{"type":"string","maxLength":512},{"type":"null"}]}},"required":["kind","commandId","actAs","synchronizerId","hashingSchemeVersion","signatureFormat","signingAlgorithmSpec","signedBy","preparedTransaction","preparedTransactionHash"],"additionalProperties":false},{"type":"null"}]},"standard":{"type":"string","const":"CIP-0103"}},"required":["expiresAt","intent","kind","method","networkId","operationId","readiness","request","standard"],"additionalProperties":false}},"required":["execution","operation","quote","walletAction"],"additionalProperties":false},{"type":"object","properties":{"execution":{"type":"string","enum":["ledger","simulated"]},"operation":{"type":"object","properties":{"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"status":{"type":"string"}},"required":["expiresAt","id","status"],"additionalProperties":false},"quote":{"type":"object","properties":{"allocation":{"type":"object","properties":{"curveAllocation":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"dexAllocation":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["curveAllocation","dexAllocation"],"additionalProperties":false},"creatorRevenuePolicy":{"type":"object","properties":{"attribution":{"type":"object","properties":{"featuredApp":{"type":"string","const":"authoritative-cc-event-uniquely-correlated-to-one-accepted-launch-instrument-only"},"reversal":{"type":"string","const":"append-only-exact-opposite-once-and-only-before-any-distribution-allocation"},"routedTokenToToken":{"type":"string","const":"one-source-event-per-supaswap-leg-attributed-to-that-leg-token-launch"},"unattributedActivity":{"type":"string","const":"reject-never-api-prorate"}},"required":["featuredApp","reversal","routedTokenToToken","unattributedActivity"],"additionalProperties":false},"eligibility":{"type":"object","properties":{"activation":{"type":"string","const":"exact-policy-accepted-launches-only-no-retroactive-attribution"},"beneficiary":{"type":"string","const":"immutable-token-launch-reward-route-party"},"rewardDestination":{"type":"string","const":"creator"},"traderCashback":{"type":"string","const":"ineligible-pending-explicit-product-decision"}},"required":["activation","beneficiary","rewardDestination","traderCashback"],"additionalProperties":false},"formulaId":{"type":"string","const":"supanova-creator-revenue-v1"},"hash":{"type":"string","const":"sha256:a926e0a380b3938648b5fa9898136638e1276128947cf94033e760f87a27e8b2"},"id":{"type":"string","const":"supanova-creator-revenue-policy"},"immutable":{"type":"boolean","const":true},"numericScale":{"type":"number","const":10},"numericDomain":{"type":"object","properties":{"dust":{"type":"string","const":"reject-if-gross-or-creator-rounds-to-zero"},"maximumBasisAmountCc":{"type":"string","const":"999999999999999999999999.9999999999"}},"required":["dust","maximumBasisAmountCc"],"additionalProperties":false},"rounding":{"type":"object","properties":{"grossRevenue":{"type":"string","const":"round10-half-even(source-basis-cc*source-rate)"},"split":{"type":"string","const":"creator=round10-half-even(gross-revenue-cc*creator-share-rate);protocol=gross-revenue-cc-creator-revenue-cc"}},"required":["grossRevenue","split"],"additionalProperties":false},"settlement":{"type":"object","properties":{"execution":{"type":"string","const":"not-enabled"},"featuredAppExternalPartyRequirement":{"type":"string","const":"beneficiary-mint-delegation-or-manual-mint-each-round-required"},"legalApproval":{"type":"string","const":"required-before-live"},"readiness":{"type":"string","const":"canton-attribution-and-distribution-writers-not-configured"}},"required":["execution","featuredAppExternalPartyRequirement","legalApproval","readiness"],"additionalProperties":false},"sources":{"type":"array","minItems":3,"maxItems":3,"prefixItems":[{"type":"object","properties":{"basis":{"type":"string","const":"gross-curve-trade-notional-cc"},"creatorShareRate":{"type":"string","const":"0.80"},"id":{"type":"string","const":"virtual-curve-trading-fee"},"protocolShareRate":{"type":"string","const":"0.20"},"revenueRate":{"type":"string","const":"0.01"},"settlementStrategy":{"type":"string","const":"accounted-then-ledger-distribution"}},"required":["basis","creatorShareRate","id","protocolShareRate","revenueRate","settlementStrategy"],"additionalProperties":false},{"type":"object","properties":{"basis":{"type":"string","const":"gross-supaswap-trade-notional-cc"},"creatorShareRate":{"type":"string","const":"0.80"},"id":{"type":"string","const":"supaswap-amm-trading-fee"},"protocolShareRate":{"type":"string","const":"0.20"},"revenueRate":{"type":"string","const":"0.01"},"settlementStrategy":{"type":"string","const":"accounted-then-ledger-distribution"}},"required":["basis","creatorShareRate","id","protocolShareRate","revenueRate","settlementStrategy"],"additionalProperties":false},{"type":"object","properties":{"basis":{"type":"string","const":"coin-attributable-featured-app-reward-cc"},"creatorShareRate":{"type":"string","const":"0.50"},"id":{"type":"string","const":"featured-app-cc-reward"},"protocolShareRate":{"type":"string","const":"0.50"},"revenueRate":{"type":"string","const":"1.00"},"settlementStrategy":{"type":"string","const":"weighted-featured-app-marker-direct"}},"required":["basis","creatorShareRate","id","protocolShareRate","revenueRate","settlementStrategy"],"additionalProperties":false}]},"version":{"type":"string","const":"1"}},"required":["attribution","eligibility","formulaId","hash","id","immutable","numericScale","numericDomain","rounding","settlement","sources","version"],"additionalProperties":false},"creatorRevenuePolicyAcceptance":{"type":"object","properties":{"accepted":{"type":"boolean","const":true},"policyHash":{"type":"string","const":"sha256:a926e0a380b3938648b5fa9898136638e1276128947cf94033e760f87a27e8b2"},"policyId":{"type":"string","const":"supanova-creator-revenue-policy"},"policyVersion":{"type":"string","const":"1"}},"required":["accepted","policyHash","policyId","policyVersion"],"additionalProperties":false},"curvePolicy":{"type":"object","properties":{"hash":{"type":"string","const":"sha256:f0cf06fab397cb2593557dcc8d90701becc653607388286ddbe51a91be73144c"},"id":{"type":"string","const":"supanova-curve-launch-policy"},"version":{"type":"string","const":"1"}},"required":["hash","id","version"],"additionalProperties":false},"damlRewardRouting":{"type":"object","properties":{"creatorRewardBeneficiary":{"anyOf":[{"type":"string","description":"Opaque, case-sensitive Canton Party ID containing 3-512 Unicode scalar values with no normalization, edge whitespace, or C0/C1 control characters.","minLength":3,"maxLength":512},{"type":"null"}]},"rewardDestination":{"type":"string","enum":["CreatorRewardDestination","TraderCashbackDestination"]},"rewardRoutingPolicyDigest":{"type":"string","const":"sha256:fe83c99bff082060a46d8a30ea9de61fc1f165ccd2c28c595b85f393accd86dd"},"rewardRoutingPolicyVersion":{"type":"string","const":"1"}},"required":["creatorRewardBeneficiary","rewardDestination","rewardRoutingPolicyDigest","rewardRoutingPolicyVersion"],"additionalProperties":false},"display":{"type":"object","properties":{"openingPriceCcPerToken":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,40})?$"},"openingPricePerMillionTokensCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,40})?$"},"smallestSellableLotTokens":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,40})?$"},"terminalPriceCcPerToken":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,40})?$"},"terminalPricePerMillionTokensCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,40})?$"}},"required":["openingPriceCcPerToken","openingPricePerMillionTokensCc","smallestSellableLotTokens","terminalPriceCcPerToken","terminalPricePerMillionTokensCc"],"additionalProperties":false},"economics":{"type":"object","properties":{"curveAllocationBps":{"type":"integer","minimum":5001,"maximum":9999},"graduationNetCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"maxFeeBps":{"type":"integer","minimum":0,"maximum":5000},"minFeeClaimCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["curveAllocationBps","graduationNetCc","maxFeeBps","minFeeClaimCc"],"additionalProperties":false},"execution":{"type":"string","const":"simulated"},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"feeConfig":{"type":"object","properties":{"feeBps":{"type":"integer","minimum":0,"maximum":5000},"platformShareBps":{"type":"integer","minimum":0,"maximum":10000}},"required":["feeBps","platformShareBps"],"additionalProperties":false},"fees":{"type":"object","properties":{"creationFeeCc":{"type":"string","const":"25"},"openingTradingFeeCc":{"type":"string","const":"0"},"totalDebitCc":{"type":"string","const":"25"}},"required":["creationFeeCc","openingTradingFeeCc","totalDebitCc"],"additionalProperties":false},"issuedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"ledgerCreationFeeCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"legalAcceptance":{"type":"object","properties":{"accepted":{"type":"boolean","const":true},"acceptedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"documentSetDigest":{"type":"string","const":"sha256:334747f374e7ba4ae02b71918bd94f5d4400b19b20997244ccdf7550719296ff"},"documents":{"type":"array","minItems":3,"maxItems":3,"prefixItems":[{"type":"string","const":"terms"},{"type":"string","const":"launch-terms"},{"type":"string","const":"risk"}]},"effectiveAt":{"type":"string","const":"2026-08-04T00:00:00.000Z"},"documentVersion":{"type":"string","const":"1.2"},"policyId":{"type":"string","const":"supanova-permissionless-curve-launch"},"policyVersion":{"type":"string","const":"3"},"updatedAt":{"type":"string","const":"2026-08-12T00:00:00.000Z"}},"required":["accepted","acceptedAt","documentSetDigest","documents","effectiveAt","documentVersion","policyId","policyVersion","updatedAt"],"additionalProperties":false},"media":{"type":"object","properties":{"banner":{"anyOf":[{"type":"object","properties":{"contentType":{"type":"string","enum":["image/gif","image/jpeg","image/png","image/webp","video/mp4"]},"dataMode":{"type":"string","enum":["durable","simulated"]},"height":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"mediaId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"publicUrl":{"anyOf":[{"type":"string","format":"uri"},{"type":"null"}]},"role":{"type":"string","enum":["token_banner","token_icon"]},"sha256":{"type":"string","pattern":"^[0-9a-f]{64}$"},"sizeBytes":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"status":{"type":"string","enum":["preview_accepted","published","quarantined","rejected","taken_down"]},"storage":{"type":"string","enum":["discarded-preview","removed","supabase-private","supabase-public","supabase-quarantine"]},"width":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]}},"required":["contentType","dataMode","height","mediaId","publicUrl","role","sha256","sizeBytes","status","storage","width"],"additionalProperties":false},{"type":"null"}]},"icon":{"type":"object","properties":{"contentType":{"type":"string","enum":["image/gif","image/jpeg","image/png","image/webp","video/mp4"]},"dataMode":{"type":"string","enum":["durable","simulated"]},"height":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"mediaId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"publicUrl":{"anyOf":[{"type":"string","format":"uri"},{"type":"null"}]},"role":{"type":"string","enum":["token_banner","token_icon"]},"sha256":{"type":"string","pattern":"^[0-9a-f]{64}$"},"sizeBytes":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"status":{"type":"string","enum":["preview_accepted","published","quarantined","rejected","taken_down"]},"storage":{"type":"string","enum":["discarded-preview","removed","supabase-private","supabase-public","supabase-quarantine"]},"width":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]}},"required":["contentType","dataMode","height","mediaId","publicUrl","role","sha256","sizeBytes","status","storage","width"],"additionalProperties":false}},"required":["banner","icon"],"additionalProperties":false},"metadata":{"type":"object","properties":{"bannerMediaId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"category":{"type":"string","enum":["defi","payments","infrastructure","real_world_assets","capital_markets","stablecoins","identity_compliance","data_oracles","consumer","culture","other"]},"description":{"type":"string","minLength":30,"maxLength":1200},"docs":{"type":"string","maxLength":2048,"format":"uri","description":"Public navigation-only HTTPS URL with a DNS hostname; credentials, IP literals, localhost and private/local DNS suffixes are forbidden. This is not permission for server-side fetching.","pattern":"^https://"},"iconMediaId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string","minLength":2,"maxLength":32},"socialReferences":{"type":"object","properties":{"discord":{"type":"string","maxLength":2048,"format":"uri","description":"Non-root HTTPS discord profile/channel URL. Approved hosts: discord.gg, discord.com, discordapp.com.","pattern":"^https://"},"instagram":{"type":"string","maxLength":2048,"format":"uri","description":"Non-root HTTPS instagram profile/channel URL. Approved hosts: instagram.com.","pattern":"^https://"},"telegram":{"type":"string","maxLength":2048,"format":"uri","description":"Non-root HTTPS telegram profile/channel URL. Approved hosts: t.me, telegram.me.","pattern":"^https://"},"tiktok":{"type":"string","maxLength":2048,"format":"uri","description":"Non-root HTTPS tiktok profile/channel URL. Approved hosts: tiktok.com.","pattern":"^https://"},"x":{"type":"string","maxLength":2048,"format":"uri","description":"Non-root HTTPS x profile/channel URL. Approved hosts: x.com, twitter.com.","pattern":"^https://"},"youtube":{"type":"string","maxLength":2048,"format":"uri","description":"Non-root HTTPS youtube profile/channel URL. Approved hosts: youtube.com, youtu.be.","pattern":"^https://"}},"additionalProperties":false},"summary":{"type":"string","minLength":10,"maxLength":120},"ticker":{"type":"string","pattern":"^[A-Z0-9]{1,16}$"},"website":{"type":"string","maxLength":2048,"format":"uri","description":"Public navigation-only HTTPS URL with a DNS hostname; credentials, IP literals, localhost and private/local DNS suffixes are forbidden. This is not permission for server-side fetching.","pattern":"^https://"}},"required":["category","description","iconMediaId","name","summary","ticker"],"additionalProperties":false},"networkId":{"type":"string","pattern":"^canton:[-_a-zA-Z0-9]{1,32}$"},"openingBuy":{"type":"null"},"policy":{"type":"object","properties":{"document":{"type":"object","properties":{"documentSetDigest":{"type":"string","const":"sha256:334747f374e7ba4ae02b71918bd94f5d4400b19b20997244ccdf7550719296ff"},"documents":{"type":"array","minItems":3,"maxItems":3,"prefixItems":[{"type":"object","properties":{"digest":{"type":"string","const":"sha256:ae3001c9110291ba6d97fe27343218a23ec93427ac7f7654e45e77b3fe08523d"},"slug":{"type":"string","const":"terms"}},"required":["digest","slug"],"additionalProperties":false},{"type":"object","properties":{"digest":{"type":"string","const":"sha256:44b4ddbc306824bc9c44f1f2c57892169b3fa737df453897c66f36c8127123f5"},"slug":{"type":"string","const":"launch-terms"}},"required":["digest","slug"],"additionalProperties":false},{"type":"object","properties":{"digest":{"type":"string","const":"sha256:3d54b4c54d38211c9cb5b5789e97607bd7c49157f7cff5928d2e348c66d04c84"},"slug":{"type":"string","const":"risk"}},"required":["digest","slug"],"additionalProperties":false}]},"effectiveAt":{"type":"string","const":"2026-08-04T00:00:00.000Z"},"updatedAt":{"type":"string","const":"2026-08-12T00:00:00.000Z"},"version":{"type":"string","const":"1.2"}},"required":["documentSetDigest","documents","effectiveAt","updatedAt","version"],"additionalProperties":false},"hash":{"type":"string","const":"sha256:c843cc6204a25e687e40fff5f8033416031fb28d191f40b00e530855d70dd0ce"},"id":{"type":"string","const":"supanova-permissionless-curve-launch"},"immutable":{"type":"boolean","const":true},"version":{"type":"string","const":"3"}},"required":["document","hash","id","immutable","version"],"additionalProperties":false},"proposedInstrument":{"type":"object","properties":{"instrumentId":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":512},"id":{"type":"string","minLength":1,"maxLength":512}},"required":["admin","id"],"additionalProperties":false},"standard":{"type":"string","const":"CIP-0056"},"status":{"type":"string","const":"proposed"}},"required":["instrumentId","standard","status"],"additionalProperties":false},"proposedSlug":{"type":"string","pattern":"^[a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?$"},"quoteHash":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"},"quoteId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"requestHash":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"},"rewardConfiguration":{"oneOf":[{"type":"object","properties":{"creatorRewardPartyId":{"type":"string","description":"Exact opaque, case-sensitive Canton Party ID. It is preserved byte-for-byte: launcher source must equal the verified launcher Party; external source must differ.","minLength":3,"maxLength":512},"creatorRewardPartySource":{"type":"string","enum":["launcher","external"],"description":"Authority rule for creatorRewardPartyId: launcher requires exact equality with the verified launch wallet Party; external requires exact inequality."},"rewardDestination":{"type":"string","const":"creator"}},"required":["creatorRewardPartyId","creatorRewardPartySource","rewardDestination"],"additionalProperties":false,"description":"Creator rewards route only to the exact immutable Party named by this branch."},{"type":"object","properties":{"rewardDestination":{"type":"string","const":"trader_cashback"}},"required":["rewardDestination"],"additionalProperties":false,"description":"Trader cashback forbids creator Party source and Party ID fields."}],"description":"Strict reward-routing authority union. Party IDs are opaque and case-sensitive; no trimming, casing, aliasing, or normalization is allowed."},"rewardRoutingPolicy":{"type":"object","properties":{"authority":{"type":"object","properties":{"prepareRevalidation":{"type":"string","const":"exact-active-verified-wallet-context"},"quoteBinding":{"type":"string","const":"verified-wallet-connection-party-and-network"},"quoteReuse":{"type":"string","const":"single-operation-idempotency-key"}},"required":["prepareRevalidation","quoteBinding","quoteReuse"],"additionalProperties":false},"beneficiary":{"type":"object","properties":{"identity":{"type":"string","const":"opaque-case-sensitive-canton-party-id"},"routes":{"type":"object","properties":{"creator":{"type":"object","properties":{"external":{"type":"string","const":"must-differ-from-launcher-party"},"launcher":{"type":"string","const":"must-equal-launcher-party"},"partyId":{"type":"string","const":"required"}},"required":["external","launcher","partyId"],"additionalProperties":false},"trader_cashback":{"type":"object","properties":{"partyId":{"type":"string","const":"forbidden"},"partySource":{"type":"string","const":"forbidden"}},"required":["partyId","partySource"],"additionalProperties":false}},"required":["creator","trader_cashback"],"additionalProperties":false}},"required":["identity","routes"],"additionalProperties":false},"hash":{"type":"string","const":"sha256:fe83c99bff082060a46d8a30ea9de61fc1f165ccd2c28c595b85f393accd86dd"},"id":{"type":"string","const":"supanova-token-launch-reward-routing"},"immutable":{"type":"boolean","const":true},"privacy":{"type":"object","properties":{"partyIdentifiers":{"type":"string","const":"backend-and-entitled-ledger-projection-only"}},"required":["partyIdentifiers"],"additionalProperties":false},"settlement":{"type":"object","properties":{"execution":{"type":"string","const":"not-enabled"},"readiness":{"type":"string","const":"daml-command-builder-not-configured"}},"required":["execution","readiness"],"additionalProperties":false},"version":{"type":"string","const":"1"}},"required":["authority","beneficiary","hash","id","immutable","privacy","settlement","version"],"additionalProperties":false},"totalSupply":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"walletContext":{"type":"object","properties":{"creatorPartyId":{"type":"string","description":"Opaque, case-sensitive Canton Party ID containing 3-512 Unicode scalar values with no normalization, edge whitespace, or C0/C1 control characters.","minLength":3,"maxLength":512},"networkId":{"type":"string","pattern":"^canton:[-_a-zA-Z0-9]{1,32}$"},"walletConnectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["creatorPartyId","networkId","walletConnectionId"],"additionalProperties":false}},"required":["allocation","creatorRevenuePolicy","creatorRevenuePolicyAcceptance","curvePolicy","damlRewardRouting","display","economics","execution","expiresAt","feeConfig","fees","issuedAt","legalAcceptance","media","metadata","networkId","openingBuy","policy","proposedInstrument","proposedSlug","quoteHash","quoteId","requestHash","rewardConfiguration","rewardRoutingPolicy","totalSupply","walletContext"],"additionalProperties":false},"walletAction":{"type":"object","properties":{"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"intent":{"type":"object","properties":{"creatorRevenuePolicy":{"type":"object","properties":{"attribution":{"type":"object","properties":{"featuredApp":{"type":"string","const":"authoritative-cc-event-uniquely-correlated-to-one-accepted-launch-instrument-only"},"reversal":{"type":"string","const":"append-only-exact-opposite-once-and-only-before-any-distribution-allocation"},"routedTokenToToken":{"type":"string","const":"one-source-event-per-supaswap-leg-attributed-to-that-leg-token-launch"},"unattributedActivity":{"type":"string","const":"reject-never-api-prorate"}},"required":["featuredApp","reversal","routedTokenToToken","unattributedActivity"],"additionalProperties":false},"eligibility":{"type":"object","properties":{"activation":{"type":"string","const":"exact-policy-accepted-launches-only-no-retroactive-attribution"},"beneficiary":{"type":"string","const":"immutable-token-launch-reward-route-party"},"rewardDestination":{"type":"string","const":"creator"},"traderCashback":{"type":"string","const":"ineligible-pending-explicit-product-decision"}},"required":["activation","beneficiary","rewardDestination","traderCashback"],"additionalProperties":false},"formulaId":{"type":"string","const":"supanova-creator-revenue-v1"},"hash":{"type":"string","const":"sha256:a926e0a380b3938648b5fa9898136638e1276128947cf94033e760f87a27e8b2"},"id":{"type":"string","const":"supanova-creator-revenue-policy"},"immutable":{"type":"boolean","const":true},"numericScale":{"type":"number","const":10},"numericDomain":{"type":"object","properties":{"dust":{"type":"string","const":"reject-if-gross-or-creator-rounds-to-zero"},"maximumBasisAmountCc":{"type":"string","const":"999999999999999999999999.9999999999"}},"required":["dust","maximumBasisAmountCc"],"additionalProperties":false},"rounding":{"type":"object","properties":{"grossRevenue":{"type":"string","const":"round10-half-even(source-basis-cc*source-rate)"},"split":{"type":"string","const":"creator=round10-half-even(gross-revenue-cc*creator-share-rate);protocol=gross-revenue-cc-creator-revenue-cc"}},"required":["grossRevenue","split"],"additionalProperties":false},"settlement":{"type":"object","properties":{"execution":{"type":"string","const":"not-enabled"},"featuredAppExternalPartyRequirement":{"type":"string","const":"beneficiary-mint-delegation-or-manual-mint-each-round-required"},"legalApproval":{"type":"string","const":"required-before-live"},"readiness":{"type":"string","const":"canton-attribution-and-distribution-writers-not-configured"}},"required":["execution","featuredAppExternalPartyRequirement","legalApproval","readiness"],"additionalProperties":false},"sources":{"type":"array","minItems":3,"maxItems":3,"prefixItems":[{"type":"object","properties":{"basis":{"type":"string","const":"gross-curve-trade-notional-cc"},"creatorShareRate":{"type":"string","const":"0.80"},"id":{"type":"string","const":"virtual-curve-trading-fee"},"protocolShareRate":{"type":"string","const":"0.20"},"revenueRate":{"type":"string","const":"0.01"},"settlementStrategy":{"type":"string","const":"accounted-then-ledger-distribution"}},"required":["basis","creatorShareRate","id","protocolShareRate","revenueRate","settlementStrategy"],"additionalProperties":false},{"type":"object","properties":{"basis":{"type":"string","const":"gross-supaswap-trade-notional-cc"},"creatorShareRate":{"type":"string","const":"0.80"},"id":{"type":"string","const":"supaswap-amm-trading-fee"},"protocolShareRate":{"type":"string","const":"0.20"},"revenueRate":{"type":"string","const":"0.01"},"settlementStrategy":{"type":"string","const":"accounted-then-ledger-distribution"}},"required":["basis","creatorShareRate","id","protocolShareRate","revenueRate","settlementStrategy"],"additionalProperties":false},{"type":"object","properties":{"basis":{"type":"string","const":"coin-attributable-featured-app-reward-cc"},"creatorShareRate":{"type":"string","const":"0.50"},"id":{"type":"string","const":"featured-app-cc-reward"},"protocolShareRate":{"type":"string","const":"0.50"},"revenueRate":{"type":"string","const":"1.00"},"settlementStrategy":{"type":"string","const":"weighted-featured-app-marker-direct"}},"required":["basis","creatorShareRate","id","protocolShareRate","revenueRate","settlementStrategy"],"additionalProperties":false}]},"version":{"type":"string","const":"1"}},"required":["attribution","eligibility","formulaId","hash","id","immutable","numericScale","numericDomain","rounding","settlement","sources","version"],"additionalProperties":false},"creatorRevenuePolicyAcceptance":{"type":"object","properties":{"accepted":{"type":"boolean","const":true},"policyHash":{"type":"string","const":"sha256:a926e0a380b3938648b5fa9898136638e1276128947cf94033e760f87a27e8b2"},"policyId":{"type":"string","const":"supanova-creator-revenue-policy"},"policyVersion":{"type":"string","const":"1"}},"required":["accepted","policyHash","policyId","policyVersion"],"additionalProperties":false},"damlRewardRouting":{"type":"object","properties":{"creatorRewardBeneficiary":{"anyOf":[{"type":"string","description":"Opaque, case-sensitive Canton Party ID containing 3-512 Unicode scalar values with no normalization, edge whitespace, or C0/C1 control characters.","minLength":3,"maxLength":512},{"type":"null"}]},"rewardDestination":{"type":"string","enum":["CreatorRewardDestination","TraderCashbackDestination"]},"rewardRoutingPolicyDigest":{"type":"string","const":"sha256:fe83c99bff082060a46d8a30ea9de61fc1f165ccd2c28c595b85f393accd86dd"},"rewardRoutingPolicyVersion":{"type":"string","const":"1"}},"required":["creatorRewardBeneficiary","rewardDestination","rewardRoutingPolicyDigest","rewardRoutingPolicyVersion"],"additionalProperties":false},"economics":{"type":"object","properties":{"curveAllocationBps":{"type":"integer","minimum":5001,"maximum":9999},"graduationNetCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"maxFeeBps":{"type":"integer","minimum":0,"maximum":5000},"minFeeClaimCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["curveAllocationBps","graduationNetCc","maxFeeBps","minFeeClaimCc"],"additionalProperties":false},"fees":{"type":"object","properties":{"creationFeeCc":{"type":"string","const":"25"},"openingTradingFeeCc":{"type":"string","const":"0"},"totalDebitCc":{"type":"string","const":"25"}},"required":["creationFeeCc","openingTradingFeeCc","totalDebitCc"],"additionalProperties":false},"legalAcceptance":{"type":"object","properties":{"accepted":{"type":"boolean","const":true},"acceptedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"documentSetDigest":{"type":"string","const":"sha256:334747f374e7ba4ae02b71918bd94f5d4400b19b20997244ccdf7550719296ff"},"documents":{"type":"array","minItems":3,"maxItems":3,"prefixItems":[{"type":"string","const":"terms"},{"type":"string","const":"launch-terms"},{"type":"string","const":"risk"}]},"effectiveAt":{"type":"string","const":"2026-08-04T00:00:00.000Z"},"documentVersion":{"type":"string","const":"1.2"},"policyId":{"type":"string","const":"supanova-permissionless-curve-launch"},"policyVersion":{"type":"string","const":"3"},"updatedAt":{"type":"string","const":"2026-08-12T00:00:00.000Z"}},"required":["accepted","acceptedAt","documentSetDigest","documents","effectiveAt","documentVersion","policyId","policyVersion","updatedAt"],"additionalProperties":false},"media":{"type":"object","properties":{"banner":{"anyOf":[{"type":"object","properties":{"contentType":{"type":"string","enum":["image/gif","image/jpeg","image/png","image/webp","video/mp4"]},"dataMode":{"type":"string","enum":["durable","simulated"]},"height":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"mediaId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"publicUrl":{"anyOf":[{"type":"string","format":"uri"},{"type":"null"}]},"role":{"type":"string","enum":["token_banner","token_icon"]},"sha256":{"type":"string","pattern":"^[0-9a-f]{64}$"},"sizeBytes":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"status":{"type":"string","enum":["preview_accepted","published","quarantined","rejected","taken_down"]},"storage":{"type":"string","enum":["discarded-preview","removed","supabase-private","supabase-public","supabase-quarantine"]},"width":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]}},"required":["contentType","dataMode","height","mediaId","publicUrl","role","sha256","sizeBytes","status","storage","width"],"additionalProperties":false},{"type":"null"}]},"icon":{"type":"object","properties":{"contentType":{"type":"string","enum":["image/gif","image/jpeg","image/png","image/webp","video/mp4"]},"dataMode":{"type":"string","enum":["durable","simulated"]},"height":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"mediaId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"publicUrl":{"anyOf":[{"type":"string","format":"uri"},{"type":"null"}]},"role":{"type":"string","enum":["token_banner","token_icon"]},"sha256":{"type":"string","pattern":"^[0-9a-f]{64}$"},"sizeBytes":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"status":{"type":"string","enum":["preview_accepted","published","quarantined","rejected","taken_down"]},"storage":{"type":"string","enum":["discarded-preview","removed","supabase-private","supabase-public","supabase-quarantine"]},"width":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]}},"required":["contentType","dataMode","height","mediaId","publicUrl","role","sha256","sizeBytes","status","storage","width"],"additionalProperties":false}},"required":["banner","icon"],"additionalProperties":false},"metadata":{"type":"object","properties":{"bannerMediaId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"category":{"type":"string","enum":["defi","payments","infrastructure","real_world_assets","capital_markets","stablecoins","identity_compliance","data_oracles","consumer","culture","other"]},"description":{"type":"string","minLength":30,"maxLength":1200},"docs":{"type":"string","maxLength":2048,"format":"uri","description":"Public navigation-only HTTPS URL with a DNS hostname; credentials, IP literals, localhost and private/local DNS suffixes are forbidden. This is not permission for server-side fetching.","pattern":"^https://"},"iconMediaId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string","minLength":2,"maxLength":32},"socialReferences":{"type":"object","properties":{"discord":{"type":"string","maxLength":2048,"format":"uri","description":"Non-root HTTPS discord profile/channel URL. Approved hosts: discord.gg, discord.com, discordapp.com.","pattern":"^https://"},"instagram":{"type":"string","maxLength":2048,"format":"uri","description":"Non-root HTTPS instagram profile/channel URL. Approved hosts: instagram.com.","pattern":"^https://"},"telegram":{"type":"string","maxLength":2048,"format":"uri","description":"Non-root HTTPS telegram profile/channel URL. Approved hosts: t.me, telegram.me.","pattern":"^https://"},"tiktok":{"type":"string","maxLength":2048,"format":"uri","description":"Non-root HTTPS tiktok profile/channel URL. Approved hosts: tiktok.com.","pattern":"^https://"},"x":{"type":"string","maxLength":2048,"format":"uri","description":"Non-root HTTPS x profile/channel URL. Approved hosts: x.com, twitter.com.","pattern":"^https://"},"youtube":{"type":"string","maxLength":2048,"format":"uri","description":"Non-root HTTPS youtube profile/channel URL. Approved hosts: youtube.com, youtu.be.","pattern":"^https://"}},"additionalProperties":false},"summary":{"type":"string","minLength":10,"maxLength":120},"ticker":{"type":"string","pattern":"^[A-Z0-9]{1,16}$"},"website":{"type":"string","maxLength":2048,"format":"uri","description":"Public navigation-only HTTPS URL with a DNS hostname; credentials, IP literals, localhost and private/local DNS suffixes are forbidden. This is not permission for server-side fetching.","pattern":"^https://"}},"required":["category","description","iconMediaId","name","summary","ticker"],"additionalProperties":false},"openingBuy":{"type":"null"},"policy":{"type":"object","properties":{"document":{"type":"object","properties":{"documentSetDigest":{"type":"string","const":"sha256:334747f374e7ba4ae02b71918bd94f5d4400b19b20997244ccdf7550719296ff"},"documents":{"type":"array","minItems":3,"maxItems":3,"prefixItems":[{"type":"object","properties":{"digest":{"type":"string","const":"sha256:ae3001c9110291ba6d97fe27343218a23ec93427ac7f7654e45e77b3fe08523d"},"slug":{"type":"string","const":"terms"}},"required":["digest","slug"],"additionalProperties":false},{"type":"object","properties":{"digest":{"type":"string","const":"sha256:44b4ddbc306824bc9c44f1f2c57892169b3fa737df453897c66f36c8127123f5"},"slug":{"type":"string","const":"launch-terms"}},"required":["digest","slug"],"additionalProperties":false},{"type":"object","properties":{"digest":{"type":"string","const":"sha256:3d54b4c54d38211c9cb5b5789e97607bd7c49157f7cff5928d2e348c66d04c84"},"slug":{"type":"string","const":"risk"}},"required":["digest","slug"],"additionalProperties":false}]},"effectiveAt":{"type":"string","const":"2026-08-04T00:00:00.000Z"},"updatedAt":{"type":"string","const":"2026-08-12T00:00:00.000Z"},"version":{"type":"string","const":"1.2"}},"required":["documentSetDigest","documents","effectiveAt","updatedAt","version"],"additionalProperties":false},"hash":{"type":"string","const":"sha256:c843cc6204a25e687e40fff5f8033416031fb28d191f40b00e530855d70dd0ce"},"id":{"type":"string","const":"supanova-permissionless-curve-launch"},"immutable":{"type":"boolean","const":true},"version":{"type":"string","const":"3"}},"required":["document","hash","id","immutable","version"],"additionalProperties":false},"proposedInstrument":{"type":"object","properties":{"instrumentId":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":512},"id":{"type":"string","minLength":1,"maxLength":512}},"required":["admin","id"],"additionalProperties":false},"standard":{"type":"string","const":"CIP-0056"},"status":{"type":"string","const":"proposed"}},"required":["instrumentId","standard","status"],"additionalProperties":false},"proposedSlug":{"type":"string","pattern":"^[a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?$"},"quoteHash":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"},"quoteId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"requestHash":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"},"rewardConfiguration":{"oneOf":[{"type":"object","properties":{"creatorRewardPartyId":{"type":"string","description":"Exact opaque, case-sensitive Canton Party ID. It is preserved byte-for-byte: launcher source must equal the verified launcher Party; external source must differ.","minLength":3,"maxLength":512},"creatorRewardPartySource":{"type":"string","enum":["launcher","external"],"description":"Authority rule for creatorRewardPartyId: launcher requires exact equality with the verified launch wallet Party; external requires exact inequality."},"rewardDestination":{"type":"string","const":"creator"}},"required":["creatorRewardPartyId","creatorRewardPartySource","rewardDestination"],"additionalProperties":false,"description":"Creator rewards route only to the exact immutable Party named by this branch."},{"type":"object","properties":{"rewardDestination":{"type":"string","const":"trader_cashback"}},"required":["rewardDestination"],"additionalProperties":false,"description":"Trader cashback forbids creator Party source and Party ID fields."}],"description":"Strict reward-routing authority union. Party IDs are opaque and case-sensitive; no trimming, casing, aliasing, or normalization is allowed."},"rewardRoutingPolicy":{"type":"object","properties":{"authority":{"type":"object","properties":{"prepareRevalidation":{"type":"string","const":"exact-active-verified-wallet-context"},"quoteBinding":{"type":"string","const":"verified-wallet-connection-party-and-network"},"quoteReuse":{"type":"string","const":"single-operation-idempotency-key"}},"required":["prepareRevalidation","quoteBinding","quoteReuse"],"additionalProperties":false},"beneficiary":{"type":"object","properties":{"identity":{"type":"string","const":"opaque-case-sensitive-canton-party-id"},"routes":{"type":"object","properties":{"creator":{"type":"object","properties":{"external":{"type":"string","const":"must-differ-from-launcher-party"},"launcher":{"type":"string","const":"must-equal-launcher-party"},"partyId":{"type":"string","const":"required"}},"required":["external","launcher","partyId"],"additionalProperties":false},"trader_cashback":{"type":"object","properties":{"partyId":{"type":"string","const":"forbidden"},"partySource":{"type":"string","const":"forbidden"}},"required":["partyId","partySource"],"additionalProperties":false}},"required":["creator","trader_cashback"],"additionalProperties":false}},"required":["identity","routes"],"additionalProperties":false},"hash":{"type":"string","const":"sha256:fe83c99bff082060a46d8a30ea9de61fc1f165ccd2c28c595b85f393accd86dd"},"id":{"type":"string","const":"supanova-token-launch-reward-routing"},"immutable":{"type":"boolean","const":true},"privacy":{"type":"object","properties":{"partyIdentifiers":{"type":"string","const":"backend-and-entitled-ledger-projection-only"}},"required":["partyIdentifiers"],"additionalProperties":false},"settlement":{"type":"object","properties":{"execution":{"type":"string","const":"not-enabled"},"readiness":{"type":"string","const":"daml-command-builder-not-configured"}},"required":["execution","readiness"],"additionalProperties":false},"version":{"type":"string","const":"1"}},"required":["authority","beneficiary","hash","id","immutable","privacy","settlement","version"],"additionalProperties":false},"type":{"type":"string","const":"token-launch.create"},"walletContext":{"type":"object","properties":{"creatorPartyId":{"type":"string","description":"Opaque, case-sensitive Canton Party ID containing 3-512 Unicode scalar values with no normalization, edge whitespace, or C0/C1 control characters.","minLength":3,"maxLength":512},"networkId":{"type":"string","pattern":"^canton:[-_a-zA-Z0-9]{1,32}$"},"walletConnectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["creatorPartyId","networkId","walletConnectionId"],"additionalProperties":false},"curvePolicy":{"type":"object","properties":{"hash":{"type":"string","const":"sha256:f0cf06fab397cb2593557dcc8d90701becc653607388286ddbe51a91be73144c"},"id":{"type":"string","const":"supanova-curve-launch-policy"},"version":{"type":"string","const":"1"}},"required":["hash","id","version"],"additionalProperties":false},"feeConfig":{"type":"object","properties":{"feeBps":{"type":"integer","minimum":0,"maximum":5000},"platformShareBps":{"type":"integer","minimum":0,"maximum":10000}},"required":["feeBps","platformShareBps"],"additionalProperties":false},"totalSupply":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["creatorRevenuePolicy","creatorRevenuePolicyAcceptance","damlRewardRouting","economics","fees","legalAcceptance","media","metadata","openingBuy","policy","proposedInstrument","proposedSlug","quoteHash","quoteId","requestHash","rewardConfiguration","rewardRoutingPolicy","type","walletContext","curvePolicy","feeConfig","totalSupply"],"additionalProperties":false},"kind":{"type":"string","const":"canton.prepare-execute"},"method":{"type":"string","const":"prepareExecute"},"networkId":{"type":"string","pattern":"^canton:[-_a-zA-Z0-9]{1,32}$"},"operationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"readiness":{"type":"string","enum":["daml-command-builder-not-configured","ready"]},"request":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["application-submission","interactive-submission","wallet-submission"]},"commandId":{"type":"string","minLength":1,"maxLength":255},"actAs":{"minItems":1,"maxItems":8,"type":"array","items":{"type":"string","minLength":3,"maxLength":512}},"synchronizerId":{"type":"string","minLength":1,"maxLength":512},"hashingSchemeVersion":{"type":"string","minLength":1,"maxLength":64},"signatureFormat":{"type":"string","const":"SIGNATURE_FORMAT_RAW"},"signingAlgorithmSpec":{"type":"string","const":"SIGNING_ALGORITHM_SPEC_ED25519"},"signedBy":{"anyOf":[{"type":"string","minLength":4,"maxLength":160},{"type":"null"}]},"preparedTransaction":{"anyOf":[{"type":"string","maxLength":4194304},{"type":"null"}]},"preparedTransactionHash":{"anyOf":[{"type":"string","maxLength":512},{"type":"null"}]},"launchPermit":{"type":"object","properties":{"contractId":{"type":"string","minLength":1,"maxLength":512},"operationRef":{"type":"string","minLength":1,"maxLength":255},"creator":{"type":"string","description":"Opaque, case-sensitive Canton Party ID containing 3-512 Unicode scalar values with no normalization, edge whitespace, or C0/C1 control characters.","minLength":3,"maxLength":512},"instrumentId":{"type":"string","minLength":1,"maxLength":512},"ticker":{"type":"string","minLength":1,"maxLength":64},"totalSupply":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"creationFeeCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["contractId","operationRef","creator","instrumentId","ticker","totalSupply","creationFeeCc","expiresAt"],"additionalProperties":false,"description":"supanova-curve 0.3.0 permit-gated launch: the terms of the registrar-issued LaunchPermit the creator accepts. operationRef is the operation id and creationFeeCc equals the quote ledgerCreationFeeCc exactly."},"walletSubmission":{"type":"object","properties":{"commands":{"minItems":1,"maxItems":1,"type":"array","items":{"type":"object","properties":{"ExerciseCommand":{"type":"object","properties":{"choice":{"type":"string","const":"LaunchPermit_Accept"},"choiceArgument":{"type":"object","properties":{},"additionalProperties":false},"contractId":{"type":"string","minLength":1,"maxLength":512},"templateId":{"type":"string","minLength":1,"maxLength":512}},"required":["choice","choiceArgument","contractId","templateId"],"additionalProperties":false}},"required":["ExerciseCommand"],"additionalProperties":false}},"disclosedContracts":{"minItems":1,"maxItems":1,"type":"array","items":{"type":"object","properties":{"contractId":{"type":"string","minLength":1,"maxLength":512},"createdEventBlob":{"type":"string","minLength":1},"synchronizerId":{"type":"string","minLength":1,"maxLength":512},"templateId":{"type":"string","minLength":1,"maxLength":512}},"required":["contractId","createdEventBlob","synchronizerId","templateId"],"additionalProperties":false}}},"required":["commands","disclosedContracts"],"additionalProperties":false,"description":"kind wallet-submission: the commands the wallet submits itself (one LaunchPermit_Accept on launchPermit.contractId, empty argument) and the permit as the only disclosed contract."}},"required":["kind","commandId","actAs","synchronizerId","hashingSchemeVersion","signatureFormat","signingAlgorithmSpec","signedBy","preparedTransaction","preparedTransactionHash"],"additionalProperties":false},{"type":"null"}]},"standard":{"type":"string","const":"CIP-0103"}},"required":["expiresAt","intent","kind","method","networkId","operationId","readiness","request","standard"],"additionalProperties":false}},"required":["execution","operation","quote","walletAction"],"additionalProperties":false}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The request is malformed or failed validation. Codes: `VALIDATION_FAILED`, `IDEMPOTENCY_KEY_REQUIRED`, `AMBIGUOUS_CREDENTIALS`, `SERVICE_ACT_AS_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `AUTHENTICATION_REQUIRED`, `INVALID_AUTHORIZATION_HEADER`, `INVALID_ACCESS_TOKEN`, `SESSION_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Codes: `ACCOUNT_RESTRICTED`, `ANONYMOUS_ACCOUNT_NOT_ALLOWED`, `API_KEY_ROUTE_NOT_ALLOWED`, `SERVICE_PARTY_NOT_ALLOWED`, `SERVICE_PRINCIPAL_NOT_ALLOWED`, `SIGNUP_NOT_INVITED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The quote does not exist: `TOKEN_LAUNCH_QUOTE_NOT_FOUND`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The request conflicts with current state, or the Idempotency-Key was reused with a different request (`IDEMPOTENCY_KEY_CONFLICT`; the former `IDEMPOTENCY_CONFLICT` is a deprecated alias, no longer returned, that clients handle the same way for one release). Codes: `IDEMPOTENCY_KEY_CONFLICT`, `IDEMPOTENCY_CONFLICT`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"413":{"description":"The request body exceeds the size limit.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The quoted launch cannot be prepared: `LAUNCH_MEDIA_NOT_PUBLISHED`, `LAUNCH_MEDIA_ROLE_MISMATCH`, `CREATOR_REWARD_PARTY_SOURCE_MISMATCH`, `TOKEN_LAUNCH_OPENING_BUY_NOT_SUPPORTED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"428":{"description":"The signed-in account must accept the current product terms first. Codes: `PRODUCT_LEGAL_ACCEPTANCE_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"A dependency is unavailable or the feature is not enabled on this deployment. Codes: `AUTHENTICATION_UNAVAILABLE`, `AUTHORIZATION_UNAVAILABLE`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{"bearer":[]}],"summary":"Prepare an idempotent wallet review for a quoted token launch.","tags":["token-launches"]}},"/api/v1/token-launches/supply-options":{"get":{"operationId":"TokenLaunchSupplyController_supplyOptions_v1","parameters":[{"$ref":"#/components/parameters/RequestId"}],"responses":{"200":{"description":"The Registrar allowed supplies under its economics, or the suggested set when the Registrar is not readable. Prices are display values with significant digits.","content":{"application/json":{"schema":{"type":"object","properties":{"asOf":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"display":{"type":"object","properties":{"kind":{"type":"string","const":"display-only"},"significantDigits":{"type":"number","const":12}},"required":["kind","significantDigits"],"additionalProperties":false},"economics":{"type":"object","properties":{"curveAllocationBps":{"type":"integer","minimum":5001,"maximum":9999},"graduationNetCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"maxFeeBps":{"type":"integer","minimum":0,"maximum":5000},"minFeeClaimCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["curveAllocationBps","graduationNetCc","maxFeeBps","minFeeClaimCc"],"additionalProperties":false},"feeConfig":{"anyOf":[{"type":"object","properties":{"feeBps":{"type":"integer","minimum":0,"maximum":5000},"platformShareBps":{"type":"integer","minimum":0,"maximum":10000}},"required":["feeBps","platformShareBps"],"additionalProperties":false},{"type":"null"}]},"options":{"maxItems":64,"type":"array","items":{"type":"object","properties":{"curveAllocation":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"dexAllocation":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"display":{"type":"object","properties":{"openingPriceCcPerToken":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,40})?$"},"openingPricePerMillionTokensCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,40})?$"},"smallestSellableLotTokens":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,40})?$"},"terminalPriceCcPerToken":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,40})?$"},"terminalPricePerMillionTokensCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,40})?$"}},"required":["openingPriceCcPerToken","openingPricePerMillionTokensCc","smallestSellableLotTokens","terminalPriceCcPerToken","terminalPricePerMillionTokensCc"],"additionalProperties":false},"totalSupply":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["curveAllocation","dexAllocation","display","totalSupply"],"additionalProperties":false}},"policy":{"type":"object","properties":{"hash":{"type":"string","const":"sha256:f0cf06fab397cb2593557dcc8d90701becc653607388286ddbe51a91be73144c"},"id":{"type":"string","const":"supanova-curve-launch-policy"},"version":{"type":"string","const":"1"}},"required":["hash","id","version"],"additionalProperties":false},"source":{"type":"string","enum":["registrar","suggested"],"description":"registrar: the live Registrar allowed set and economics. suggested: the product default set under the default economics, served when the Registrar cannot be read."}},"required":["asOf","display","economics","feeConfig","options","policy","source"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/ApiError"}},"security":[],"summary":"List the total supplies a curve launch may choose, with display opening and terminal prices and the smallest sellable lot.","tags":["token-launches"]}},"/api/v1/tokens/{instrumentId}/wallet-metadata":{"get":{"operationId":"TokenWalletMetadataController_getWalletMetadata_v1","parameters":[{"name":"instrumentId","required":true,"in":"path","schema":{"type":"string","minLength":1,"maxLength":160,"pattern":"^[A-Za-z0-9][A-Za-z0-9._-]*$"}},{"$ref":"#/components/parameters/RequestId"}],"responses":{"200":{"description":"Wallet metadata of a confirmed curve launch.","content":{"application/json":{"schema":{"type":"object","properties":{"instrumentId":{"type":"object","properties":{"admin":{"type":"string","minLength":1},"id":{"type":"string","minLength":1}},"required":["admin","id"],"additionalProperties":false},"admin":{"type":"string","minLength":1},"decimals":{"type":"number","const":10},"symbol":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"logo":{"anyOf":[{"type":"object","properties":{"mediaId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sha256":{"type":"string","pattern":"^[0-9a-f]{64}$"},"contentType":{"type":"string","minLength":1}},"required":["mediaId","sha256","contentType"],"additionalProperties":false},{"type":"null"}]},"launchedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["instrumentId","admin","decimals","symbol","name","logo","launchedAt"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The request is malformed or failed validation. Codes: `VALIDATION_FAILED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"No confirmed curve launch has this instrument id.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/ApiError"}},"security":[],"summary":"Read the wallet metadata of a launched token: instrument id, admin party, decimals, symbol, name and logo reference.","tags":["token-launches"]}},"/api/v1/orders/prepare":{"post":{"operationId":"TradeOrderController_prepare_v1","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":256,"pattern":"^[A-Za-z0-9._:-]+$"}},{"$ref":"#/components/parameters/ServiceActAs"},{"$ref":"#/components/parameters/ApiKeyTimestamp"},{"$ref":"#/components/parameters/ApiKeyRecvWindow"},{"$ref":"#/components/parameters/ApiKeySignature"},{"$ref":"#/components/parameters/RequestId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"quoteId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"walletConnectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["quoteId","walletConnectionId"],"additionalProperties":false}}}},"responses":{"201":{"description":"The create command for sendTransaction.","content":{"application/json":{"schema":{"type":"object","properties":{"commandId":{"type":"string","minLength":1,"maxLength":255},"clientRef":{"type":"string","minLength":1,"maxLength":255},"operationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"partyId":{"type":"string","minLength":1},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"instrumentId":{"type":"string","minLength":1,"maxLength":160},"side":{"type":"string","enum":["buy","sell"]},"venue":{"type":"string","enum":["curve","amm"]},"amount":{"type":"string"},"limit":{"type":"string"},"expectedOutput":{"type":"string"},"quote":{"type":"object","properties":{"authority":{"type":"object","properties":{"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"legs":{"minItems":1,"maxItems":1,"type":"array","items":{"oneOf":[{"type":"object","properties":{"creatorRevenue":{"type":"object","properties":{"eligibility":{"type":"string","const":"eligible"},"launchId":{"type":"string","minLength":1,"maxLength":160},"policy":{"type":"object","properties":{"hash":{"type":"string","const":"sha256:21c68b457e7684149d484e6bfb378457c36ea188e01187500367a76bf29cbde6"},"id":{"type":"string","const":"supanova-creator-revenue-policy"},"version":{"type":"string","const":"2"}},"required":["hash","id","version"],"additionalProperties":false},"protocolRootId":{"type":"string","minLength":1,"maxLength":160}},"required":["eligibility","launchId","policy","protocolRootId"],"additionalProperties":false},"lifecycleEpoch":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"market":{"type":"object","properties":{"economics":{"type":"object","properties":{"curveAllocationBps":{"type":"integer","minimum":5001,"maximum":9999},"graduationNetCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"maxFeeBps":{"type":"integer","minimum":0,"maximum":5000},"minFeeClaimCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["curveAllocationBps","graduationNetCc","maxFeeBps","minFeeClaimCc"],"additionalProperties":false},"feeConfig":{"type":"object","properties":{"feeBps":{"type":"integer","minimum":0,"maximum":10000},"platformShareBps":{"type":"integer","minimum":0,"maximum":10000}},"required":["feeBps","platformShareBps"],"additionalProperties":false},"totalSupply":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["economics","feeConfig","totalSupply"],"additionalProperties":false},"marketReference":{"type":"string","minLength":1,"maxLength":160},"marketRevision":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"nextMarketRevision":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"payInstrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false},"receiveInstrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false},"securityEpoch":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"after":{"type":"object","properties":{"graduated":{"type":"boolean"},"netCcReserve":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"tokensRemaining":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"tokensSold":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["graduated","netCcReserve","tokensRemaining","tokensSold"],"additionalProperties":false},"before":{"type":"object","properties":{"graduated":{"type":"boolean"},"netCcReserve":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"tokensRemaining":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"tokensSold":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["graduated","netCcReserve","tokensRemaining","tokensSold"],"additionalProperties":false},"formulaId":{"type":"string","const":"supanova-virtual-cpmm-v1"},"kind":{"type":"string","const":"virtual-cpmm"},"lifecycleStage":{"type":"string","enum":["ignition","near_escape"]},"limits":{"type":"object","properties":{"exactFinalGrossCc":{"anyOf":[{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},{"type":"null"}]},"inputAsset":{"type":"string","enum":["cc","token"]},"maximumInputAmount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"recovery":{"type":"string","enum":["exact-final-gross-or-smaller-buy","sell-all-or-leave-at-least-minimum"]}},"required":["exactFinalGrossCc","inputAsset","maximumInputAmount","recovery"],"additionalProperties":false}},"required":["creatorRevenue","lifecycleEpoch","market","marketReference","marketRevision","nextMarketRevision","payInstrument","receiveInstrument","securityEpoch","after","before","formulaId","kind","lifecycleStage","limits"],"additionalProperties":false},{"type":"object","properties":{"creatorRevenue":{"type":"object","properties":{"eligibility":{"type":"string","const":"eligible"},"launchId":{"type":"string","minLength":1,"maxLength":160},"policy":{"type":"object","properties":{"hash":{"type":"string","const":"sha256:21c68b457e7684149d484e6bfb378457c36ea188e01187500367a76bf29cbde6"},"id":{"type":"string","const":"supanova-creator-revenue-policy"},"version":{"type":"string","const":"2"}},"required":["hash","id","version"],"additionalProperties":false},"protocolRootId":{"type":"string","minLength":1,"maxLength":160}},"required":["eligibility","launchId","policy","protocolRootId"],"additionalProperties":false},"lifecycleEpoch":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"market":{"type":"object","properties":{"economics":{"type":"object","properties":{"curveAllocationBps":{"type":"integer","minimum":5001,"maximum":9999},"graduationNetCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"maxFeeBps":{"type":"integer","minimum":0,"maximum":5000},"minFeeClaimCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["curveAllocationBps","graduationNetCc","maxFeeBps","minFeeClaimCc"],"additionalProperties":false},"feeConfig":{"type":"object","properties":{"feeBps":{"type":"integer","minimum":0,"maximum":10000},"platformShareBps":{"type":"integer","minimum":0,"maximum":10000}},"required":["feeBps","platformShareBps"],"additionalProperties":false},"totalSupply":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["economics","feeConfig","totalSupply"],"additionalProperties":false},"marketReference":{"type":"string","minLength":1,"maxLength":160},"marketRevision":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"nextMarketRevision":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"payInstrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false},"receiveInstrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false},"securityEpoch":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"after":{"type":"object","properties":{"anchor":{"type":"string","enum":["cc-reserve","initial","token-reserve"]},"ccReserve":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"revision":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"tokenReserve":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["anchor","ccReserve","revision","tokenReserve"],"additionalProperties":false},"before":{"type":"object","properties":{"anchor":{"type":"string","enum":["cc-reserve","initial","token-reserve"]},"ccReserve":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"revision":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"tokenReserve":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["anchor","ccReserve","revision","tokenReserve"],"additionalProperties":false},"formulaId":{"type":"string","const":"supanova-real-cpmm-v1"},"kind":{"type":"string","const":"real-cpmm"},"lifecycleStage":{"type":"string","const":"in_orbit"},"limits":{"type":"object","properties":{"exactFinalGrossCc":{"type":"null"},"inputAsset":{"type":"string","enum":["cc","token"]},"maximumInputAmount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"recovery":{"type":"string","const":"refresh-on-revision-change"}},"required":["exactFinalGrossCc","inputAsset","maximumInputAmount","recovery"],"additionalProperties":false}},"required":["creatorRevenue","lifecycleEpoch","market","marketReference","marketRevision","nextMarketRevision","payInstrument","receiveInstrument","securityEpoch","after","before","formulaId","kind","lifecycleStage","limits"],"additionalProperties":false}]}},"networkId":{"type":"string","pattern":"^canton:[-_a-zA-Z0-9]{1,32}$"},"policy":{"type":"object","properties":{"hash":{"type":"string","const":"sha256:453dec0f4f64164e6c89bd4fcf9303eafeadd133ca9e119acc5fd6fa694957c2"},"snapshot":{},"version":{"type":"string","const":"4"}},"required":["hash","snapshot","version"],"additionalProperties":false},"replay":{"type":"object","properties":{"digest":{"type":"string","pattern":"^sha256:[0-9a-f]{64}$"},"domain":{"type":"string","const":"supanova.swap.quote.v2"}},"required":["digest","domain"],"additionalProperties":false},"synchronizerId":{"type":"string","minLength":1,"maxLength":160}},"required":["expiresAt","legs","networkId","policy","replay","synchronizerId"],"additionalProperties":false},"buyAmount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"buyInstrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false},"creatorRevenueAllocations":{"minItems":1,"maxItems":1,"type":"array","items":{"type":"object","properties":{"basisAmountCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"creatorRevenueCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"eligibility":{"type":"string","const":"eligible"},"grossRevenueCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"launchId":{"type":"string","minLength":1,"maxLength":160},"marketReference":{"type":"string","minLength":1,"maxLength":160},"policy":{"type":"object","properties":{"hash":{"type":"string","const":"sha256:21c68b457e7684149d484e6bfb378457c36ea188e01187500367a76bf29cbde6"},"id":{"type":"string","const":"supanova-creator-revenue-policy"},"version":{"type":"string","const":"2"}},"required":["hash","id","version"],"additionalProperties":false},"protocolRevenueCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"protocolRootId":{"type":"string","minLength":1,"maxLength":160},"routeLegCount":{"type":"number","const":1},"routeLegIndex":{"type":"number","const":0},"source":{"type":"string","enum":["curve-trading-fee","amm-trading-fee"]},"tokenInstrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false}},"required":["basisAmountCc","creatorRevenueCc","eligibility","grossRevenueCc","launchId","marketReference","policy","protocolRevenueCc","protocolRootId","routeLegCount","routeLegIndex","source","tokenInstrument"],"additionalProperties":false}},"display":{"type":"object","properties":{"averagePriceCcPerToken":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,40})?$"},"graduationPercentAfter":{"anyOf":[{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,40})?$"},{"type":"null"}]},"kind":{"type":"string","const":"display-only"},"priceAfterCcPerToken":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,40})?$"},"priceAfterPerMillionTokensCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,40})?$"},"priceBeforeCcPerToken":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,40})?$"},"priceBeforePerMillionTokensCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,40})?$"},"priceImpactBps":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,40})?$"},"pricePerMillionTokensCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,40})?$"},"rate":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,40})?$"},"significantDigits":{"type":"number","const":12}},"required":["averagePriceCcPerToken","graduationPercentAfter","kind","priceAfterCcPerToken","priceAfterPerMillionTokensCc","priceBeforeCcPerToken","priceBeforePerMillionTokensCc","priceImpactBps","pricePerMillionTokensCc","rate","significantDigits"],"additionalProperties":false},"economics":{"type":"object","properties":{"curveAllocationBps":{"type":"integer","minimum":5001,"maximum":9999},"graduationNetCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"maxFeeBps":{"type":"integer","minimum":0,"maximum":5000},"minFeeClaimCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["curveAllocationBps","graduationNetCc","maxFeeBps","minFeeClaimCc"],"additionalProperties":false},"execution":{"type":"string","const":"simulated"},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"fee":{"type":"object","properties":{"amount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"asset":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false},"policy":{"type":"string","const":"ledger-pool-fee-config"}},"required":["amount","asset","policy"],"additionalProperties":false},"feeCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"feeConfig":{"type":"object","properties":{"feeBps":{"type":"integer","minimum":0,"maximum":10000},"platformShareBps":{"type":"integer","minimum":0,"maximum":10000}},"required":["feeBps","platformShareBps"],"additionalProperties":false},"feeLineItems":{"minItems":1,"maxItems":1,"type":"array","items":{"type":"object","properties":{"amount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"instrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false},"kind":{"type":"string","const":"trading"},"label":{"type":"string","minLength":1,"maxLength":120}},"required":["amount","instrument","kind","label"],"additionalProperties":false}},"issuedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"makerFeeCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"minimumBuyAmount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"networkId":{"type":"string","pattern":"^canton:[-_a-zA-Z0-9]{1,32}$"},"notionalCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"platformFeeCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"referralFeeCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"pricingModel":{"type":"string","const":"preview-simulation-v2"},"pricingSource":{"type":"object","properties":{"asOf":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"dataMode":{"type":"string","const":"projected"},"label":{"type":"string","const":"canton-ledger-acs"}},"required":["asOf","dataMode","label"],"additionalProperties":false},"quoteId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"route":{"minItems":1,"maxItems":1,"type":"array","items":{"type":"object","properties":{"payInstrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false},"receiveInstrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false},"venue":{"type":"string","enum":["canton-dex","launch-curve"]}},"required":["payInstrument","receiveInstrument","venue"],"additionalProperties":false}},"sellAmount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"sellInstrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false},"settlement":{"type":"object","properties":{"deadline":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"mode":{"type":"string","const":"atomic-dvp"},"readiness":{"type":"string","const":"ready"}},"required":["deadline","mode","readiness"],"additionalProperties":false},"slippageBps":{"type":"integer","minimum":1,"maximum":5000},"totalSupply":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"wallet":{"type":"object","properties":{"connectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"partyId":{"type":"string","minLength":1,"maxLength":512}},"required":["connectionId","partyId"],"additionalProperties":false},"allowPartialFill":{"type":"boolean"},"fill":{"type":"string","enum":["full","partial"]},"grossCcUsed":{"anyOf":[{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},{"type":"null"}]},"unspentCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"graduates":{"type":"boolean"},"limitTokenOut":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["authority","buyAmount","buyInstrument","creatorRevenueAllocations","display","economics","execution","expiresAt","fee","feeCc","feeConfig","feeLineItems","issuedAt","makerFeeCc","minimumBuyAmount","networkId","notionalCc","platformFeeCc","pricingModel","pricingSource","quoteId","route","sellAmount","sellInstrument","settlement","slippageBps","totalSupply","wallet"],"additionalProperties":false},"actAs":{"minItems":1,"maxItems":1,"type":"array","items":{"type":"string","minLength":1}},"commands":{"minItems":1,"maxItems":1,"type":"array","items":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}}},"disclosedContracts":{"maxItems":0,"type":"array","items":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}}},"packageIdSelectionPreference":{"maxItems":4,"type":"array","items":{"type":"string","pattern":"^[0-9a-f]{64}$"}}},"required":["commandId","clientRef","operationId","partyId","expiresAt","instrumentId","side","venue","amount","limit","expectedOutput","quote","actAs","commands","disclosedContracts","packageIdSelectionPreference"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"Malformed body or missing Idempotency-Key. Also: `VALIDATION_FAILED`, `IDEMPOTENCY_KEY_REQUIRED`, `AMBIGUOUS_CREDENTIALS`, `SERVICE_ACT_AS_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `AUTHENTICATION_REQUIRED`, `INVALID_AUTHORIZATION_HEADER`, `INVALID_ACCESS_TOKEN`, `SESSION_REVOKED`, `API_KEY_INVALID`, `API_KEY_REVOKED`, `API_KEY_SIGNATURE_INVALID`, `API_KEY_TIMESTAMP_OUT_OF_WINDOW`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"Wallet not owned, or the Party is not allowed. Also: `ACCOUNT_RESTRICTED`, `ANONYMOUS_ACCOUNT_NOT_ALLOWED`, `API_KEY_ROUTE_NOT_ALLOWED`, `SERVICE_PARTY_NOT_ALLOWED`, `SERVICE_PRINCIPAL_NOT_ALLOWED`, `SIGNUP_NOT_INVITED`, `API_KEY_IP_NOT_ALLOWED`, `PRODUCT_ACCOUNT_RESTRICTED`, `API_KEY_SCOPE_REQUIRED`, `API_KEY_PARTY_NOT_AUTHORIZED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"Unknown quote, or no live pool for the token.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"Quote/wallet mismatch, reused key, or a paused pool. Also: `IDEMPOTENCY_KEY_CONFLICT`, `IDEMPOTENCY_CONFLICT`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"413":{"description":"The request body exceeds the size limit.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The pool cannot take this order.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"428":{"description":"The signed-in account must accept the current product terms first. Codes: `PRODUCT_LEGAL_ACCEPTANCE_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"The ledger or database is unavailable. Also: `AUTHENTICATION_UNAVAILABLE`, `AUTHORIZATION_UNAVAILABLE`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Prepare one wallet-signed TradeOrder create from a bound quote.","tags":["trade orders"],"x-api-key-scope":"trade"}},"/api/v1/orders/hosted":{"post":{"operationId":"TradeOrderController_submitHosted_v1","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":256,"pattern":"^[A-Za-z0-9._:-]+$"}},{"$ref":"#/components/parameters/ServiceActAs"},{"$ref":"#/components/parameters/ApiKeyTimestamp"},{"$ref":"#/components/parameters/ApiKeyRecvWindow"},{"$ref":"#/components/parameters/ApiKeySignature"},{"$ref":"#/components/parameters/RequestId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"quoteId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"walletConnectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["quoteId","walletConnectionId"],"additionalProperties":false}}}},"responses":{"201":{"description":"The order intent after submission.","content":{"application/json":{"schema":{"type":"object","properties":{"commandId":{"type":"string"},"clientRef":{"type":"string"},"operationId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"null"}]},"partyId":{"type":"string"},"status":{"type":"string","enum":["pending","open","filled","rejected","cancelled","expired"]},"orderId":{"type":["string","null"]},"instrumentId":{"type":"string"},"side":{"type":"string","enum":["buy","sell"]},"amount":{"type":"string"},"limit":{"type":"string"},"venue":{"anyOf":[{"type":"string","enum":["curve","amm"]},{"type":"null"}]},"reason":{"type":["string","null"]},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"createUpdateId":{"type":["string","null"]},"closingUpdateId":{"type":["string","null"]},"closingRecordTime":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"settled":{"anyOf":[{"type":"object","properties":{"venue":{"type":"string","enum":["curve","amm"]},"side":{"type":"string","enum":["buy","sell"]},"ccIn":{"type":["string","null"]},"ccOut":{"type":["string","null"]},"tokenIn":{"type":["string","null"]},"tokenOut":{"type":["string","null"]},"feeCc":{"type":"string"},"platformFeeCc":{"type":"string"},"makerFeeCc":{"type":"string"},"referralFeeCc":{"type":"string"},"balanceCidAfter":{"type":"string"},"holdingCid":{"type":["string","null"]},"changeCid":{"type":["string","null"]},"graduates":{"type":"boolean"},"partial":{"type":"boolean"},"requestedGrossCc":{"type":["string","null"]},"unspentCc":{"type":["string","null"]}},"required":["venue","side","ccIn","ccOut","tokenIn","tokenOut","feeCc","platformFeeCc","makerFeeCc","balanceCidAfter","holdingCid","changeCid","graduates","partial","requestedGrossCc","unspentCc"],"additionalProperties":false},{"type":"null"}]},"error":{"anyOf":[{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":false},{"type":"null"}]}},"required":["commandId","clientRef","operationId","partyId","status","orderId","instrumentId","side","amount","limit","venue","reason","expiresAt","createUpdateId","closingUpdateId","closingRecordTime","settled","error"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"Malformed body or missing Idempotency-Key. Also: `VALIDATION_FAILED`, `IDEMPOTENCY_KEY_REQUIRED`, `AMBIGUOUS_CREDENTIALS`, `SERVICE_ACT_AS_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `AUTHENTICATION_REQUIRED`, `INVALID_AUTHORIZATION_HEADER`, `INVALID_ACCESS_TOKEN`, `SESSION_REVOKED`, `API_KEY_INVALID`, `API_KEY_REVOKED`, `API_KEY_SIGNATURE_INVALID`, `API_KEY_TIMESTAMP_OUT_OF_WINDOW`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"Wallet not owned, or the Party is not hosted. Also: `ACCOUNT_RESTRICTED`, `ANONYMOUS_ACCOUNT_NOT_ALLOWED`, `API_KEY_ROUTE_NOT_ALLOWED`, `SERVICE_PARTY_NOT_ALLOWED`, `SERVICE_PRINCIPAL_NOT_ALLOWED`, `SIGNUP_NOT_INVITED`, `API_KEY_IP_NOT_ALLOWED`, `PRODUCT_ACCOUNT_RESTRICTED`, `API_KEY_SCOPE_REQUIRED`, `API_KEY_PARTY_NOT_AUTHORIZED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"Unknown quote, or no live pool for the token.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"Quote/wallet mismatch, reused key, or rejected create. Also: `IDEMPOTENCY_KEY_CONFLICT`, `IDEMPOTENCY_CONFLICT`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"413":{"description":"The request body exceeds the size limit.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"428":{"description":"The signed-in account must accept the current product terms first. Codes: `PRODUCT_LEGAL_ACCEPTANCE_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"The ledger or database is unavailable. Also: `AUTHENTICATION_UNAVAILABLE`, `AUTHORIZATION_UNAVAILABLE`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Create a TradeOrder for an allow-listed hosted Party.","tags":["trade orders"],"x-api-key-scope":"trade"}},"/api/v1/orders/{commandId}/status":{"get":{"operationId":"TradeOrderController_status_v1","parameters":[{"name":"commandId","required":true,"in":"path","schema":{"type":"string","minLength":1,"maxLength":255,"pattern":"^[A-Za-z0-9._:-]+$"}},{"$ref":"#/components/parameters/ServiceActAs"},{"$ref":"#/components/parameters/RequestId"}],"responses":{"200":{"description":"The order intent as the ledger settled it.","content":{"application/json":{"schema":{"type":"object","properties":{"commandId":{"type":"string"},"clientRef":{"type":"string"},"operationId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"null"}]},"partyId":{"type":"string"},"status":{"type":"string","enum":["pending","open","filled","rejected","cancelled","expired"]},"orderId":{"type":["string","null"]},"instrumentId":{"type":"string"},"side":{"type":"string","enum":["buy","sell"]},"amount":{"type":"string"},"limit":{"type":"string"},"venue":{"anyOf":[{"type":"string","enum":["curve","amm"]},{"type":"null"}]},"reason":{"type":["string","null"]},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"createUpdateId":{"type":["string","null"]},"closingUpdateId":{"type":["string","null"]},"closingRecordTime":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"settled":{"anyOf":[{"type":"object","properties":{"venue":{"type":"string","enum":["curve","amm"]},"side":{"type":"string","enum":["buy","sell"]},"ccIn":{"type":["string","null"]},"ccOut":{"type":["string","null"]},"tokenIn":{"type":["string","null"]},"tokenOut":{"type":["string","null"]},"feeCc":{"type":"string"},"platformFeeCc":{"type":"string"},"makerFeeCc":{"type":"string"},"referralFeeCc":{"type":"string"},"balanceCidAfter":{"type":"string"},"holdingCid":{"type":["string","null"]},"changeCid":{"type":["string","null"]},"graduates":{"type":"boolean"},"partial":{"type":"boolean"},"requestedGrossCc":{"type":["string","null"]},"unspentCc":{"type":["string","null"]}},"required":["venue","side","ccIn","ccOut","tokenIn","tokenOut","feeCc","platformFeeCc","makerFeeCc","balanceCidAfter","holdingCid","changeCid","graduates","partial","requestedGrossCc","unspentCc"],"additionalProperties":false},{"type":"null"}]},"error":{"anyOf":[{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":false},{"type":"null"}]}},"required":["commandId","clientRef","operationId","partyId","status","orderId","instrumentId","side","amount","limit","venue","reason","expiresAt","createUpdateId","closingUpdateId","closingRecordTime","settled","error"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The request is malformed or failed validation. Codes: `VALIDATION_FAILED`, `AMBIGUOUS_CREDENTIALS`, `SERVICE_ACT_AS_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `AUTHENTICATION_REQUIRED`, `INVALID_AUTHORIZATION_HEADER`, `INVALID_ACCESS_TOKEN`, `SESSION_REVOKED`, `API_KEY_INVALID`, `API_KEY_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Owner routes accept only a customer API key: an internal master key answers `API_KEY_ROUTE_NOT_ALLOWED`. Codes: `ACCOUNT_RESTRICTED`, `ANONYMOUS_ACCOUNT_NOT_ALLOWED`, `API_KEY_ROUTE_NOT_ALLOWED`, `SERVICE_PARTY_NOT_ALLOWED`, `SERVICE_PRINCIPAL_NOT_ALLOWED`, `SIGNUP_NOT_INVITED`, `API_KEY_IP_NOT_ALLOWED`, `PRODUCT_ACCOUNT_RESTRICTED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"No such owned order.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"A dependency is unavailable or the feature is not enabled on this deployment. Codes: `AUTHENTICATION_UNAVAILABLE`, `AUTHORIZATION_UNAVAILABLE`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Status of an order: pending, open, filled, rejected, cancelled or expired.","tags":["trade orders"],"x-api-key-scope":"read"}},"/api/v1/orders/{orderId}/cancel/prepare":{"post":{"operationId":"TradeOrderController_prepareCancel_v1","parameters":[{"name":"orderId","required":true,"in":"path","schema":{"type":"string","minLength":1,"maxLength":255,"pattern":"^[A-Za-z0-9._:-]+$"}},{"$ref":"#/components/parameters/ServiceActAs"},{"$ref":"#/components/parameters/ApiKeyTimestamp"},{"$ref":"#/components/parameters/ApiKeyRecvWindow"},{"$ref":"#/components/parameters/ApiKeySignature"},{"$ref":"#/components/parameters/RequestId"}],"responses":{"201":{"description":"The cancel command for sendTransaction.","content":{"application/json":{"schema":{"type":"object","properties":{"commandId":{"type":"string","minLength":1,"maxLength":255},"orderId":{"type":"string","minLength":1},"partyId":{"type":"string","minLength":1},"actAs":{"minItems":1,"maxItems":1,"type":"array","items":{"type":"string","minLength":1}},"commands":{"minItems":1,"maxItems":1,"type":"array","items":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}}},"disclosedContracts":{"maxItems":0,"type":"array","items":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}}},"packageIdSelectionPreference":{"maxItems":4,"type":"array","items":{"type":"string","pattern":"^[0-9a-f]{64}$"}}},"required":["commandId","orderId","partyId","actAs","commands","disclosedContracts","packageIdSelectionPreference"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The request is malformed or failed validation. Codes: `VALIDATION_FAILED`, `AMBIGUOUS_CREDENTIALS`, `SERVICE_ACT_AS_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `AUTHENTICATION_REQUIRED`, `INVALID_AUTHORIZATION_HEADER`, `INVALID_ACCESS_TOKEN`, `SESSION_REVOKED`, `API_KEY_INVALID`, `API_KEY_REVOKED`, `API_KEY_SIGNATURE_INVALID`, `API_KEY_TIMESTAMP_OUT_OF_WINDOW`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Codes: `ACCOUNT_RESTRICTED`, `ANONYMOUS_ACCOUNT_NOT_ALLOWED`, `API_KEY_ROUTE_NOT_ALLOWED`, `SERVICE_PARTY_NOT_ALLOWED`, `SERVICE_PRINCIPAL_NOT_ALLOWED`, `SIGNUP_NOT_INVITED`, `API_KEY_IP_NOT_ALLOWED`, `PRODUCT_ACCOUNT_RESTRICTED`, `API_KEY_SCOPE_REQUIRED`, `API_KEY_PARTY_NOT_AUTHORIZED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"No such owned order.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The order is no longer open.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"428":{"description":"The signed-in account must accept the current product terms first. Codes: `PRODUCT_LEGAL_ACCEPTANCE_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"The ledger or database is unavailable. Also: `AUTHENTICATION_UNAVAILABLE`, `AUTHORIZATION_UNAVAILABLE`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Prepare the wallet-signed TradeOrder_Cancel of an open order.","tags":["trade orders"],"x-api-key-scope":"trade"}},"/api/v1/me/trading-referrals":{"get":{"operationId":"TradingReferralsController_summary_v1","parameters":[{"$ref":"#/components/parameters/ServiceActAs"},{"$ref":"#/components/parameters/RequestId"}],"responses":{"200":{"description":"Network-scoped referral summary.","content":{"application/json":{"schema":{"type":"object","properties":{"schemaVersion":{"type":"string","const":"2"},"networkId":{"type":"string","minLength":1},"status":{"type":"string","enum":["active","pending"]},"code":{"anyOf":[{"type":"string","pattern":"^[a-z][a-z0-9_]{2,23}$"},{"type":"null"}]},"inviteUrl":{"anyOf":[{"type":"string","format":"uri"},{"type":"null"}]},"referralRateBps":{"type":"number","const":1000},"refereeCount":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"earnedCc":{"anyOf":[{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},{"type":"null"}]},"paidCc":{"anyOf":[{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},{"type":"null"}]},"owedCc":{"anyOf":[{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},{"type":"null"}]},"earnedUsd":{"anyOf":[{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},{"type":"null"}]},"paidUsd":{"anyOf":[{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},{"type":"null"}]},"owedUsd":{"anyOf":[{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},{"type":"null"}]},"nextPayoutAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"asOf":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["schemaVersion","networkId","status","code","inviteUrl","referralRateBps","refereeCount","earnedCc","paidCc","owedCc","earnedUsd","paidUsd","owedUsd","nextPayoutAt","asOf"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The request is malformed or failed validation. Codes: `AMBIGUOUS_CREDENTIALS`, `SERVICE_ACT_AS_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `AUTHENTICATION_REQUIRED`, `INVALID_AUTHORIZATION_HEADER`, `INVALID_ACCESS_TOKEN`, `SESSION_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Codes: `ACCOUNT_RESTRICTED`, `ANONYMOUS_ACCOUNT_NOT_ALLOWED`, `API_KEY_ROUTE_NOT_ALLOWED`, `SERVICE_PARTY_NOT_ALLOWED`, `SERVICE_PRINCIPAL_NOT_ALLOWED`, `SIGNUP_NOT_INVITED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"A dependency is unavailable or the feature is not enabled on this deployment. Codes: `AUTHENTICATION_UNAVAILABLE`, `AUTHORIZATION_UNAVAILABLE`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{"bearer":[]}],"summary":"Read this account's referral code, invite URL, referees and ledger earnings (earned, paid, owed).","tags":["trading-referrals"]}},"/api/v1/me/trading-referrals/payouts":{"get":{"operationId":"TradingReferralsController_payouts_v1","parameters":[{"name":"cursor","required":false,"in":"query","schema":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,512}$"}},{"$ref":"#/components/parameters/ServiceActAs"},{"$ref":"#/components/parameters/RequestId"}],"responses":{"200":{"description":"One page of ledger payout receipts.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"maxItems":200,"type":"array","items":{"type":"object","properties":{"epoch":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"amountCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"paidAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updateId":{"type":"string","minLength":1,"maxLength":512}},"required":["epoch","amountCc","paidAt","updateId"],"additionalProperties":false}},"nextCursor":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]}},"required":["items","nextCursor"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The request is malformed or failed validation. Codes: `VALIDATION_FAILED`, `AMBIGUOUS_CREDENTIALS`, `SERVICE_ACT_AS_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `AUTHENTICATION_REQUIRED`, `INVALID_AUTHORIZATION_HEADER`, `INVALID_ACCESS_TOKEN`, `SESSION_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Codes: `ACCOUNT_RESTRICTED`, `ANONYMOUS_ACCOUNT_NOT_ALLOWED`, `API_KEY_ROUTE_NOT_ALLOWED`, `SERVICE_PARTY_NOT_ALLOWED`, `SERVICE_PRINCIPAL_NOT_ALLOWED`, `SIGNUP_NOT_INVITED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"A dependency is unavailable or the feature is not enabled on this deployment. Codes: `AUTHENTICATION_UNAVAILABLE`, `AUTHORIZATION_UNAVAILABLE`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{"bearer":[]}],"summary":"List referral payouts credited to this account, newest first.","tags":["trading-referrals"]}},"/api/v1/me/trading-referral":{"post":{"operationId":"TradingReferralsController_accept_v1","parameters":[{"$ref":"#/components/parameters/ServiceActAs"},{"$ref":"#/components/parameters/RequestId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"username":{"type":"string","pattern":"^[a-z][a-z0-9_]{2,23}$"}},"required":["username"],"additionalProperties":false}}}},"responses":{"200":{"description":"Idempotent attribution result.","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","enum":["accepted","already-attributed","ineligible"]}},"required":["status"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The request is malformed or failed validation. Codes: `VALIDATION_FAILED`, `AMBIGUOUS_CREDENTIALS`, `SERVICE_ACT_AS_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `AUTHENTICATION_REQUIRED`, `INVALID_AUTHORIZATION_HEADER`, `INVALID_ACCESS_TOKEN`, `SESSION_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Codes: `ACCOUNT_RESTRICTED`, `ANONYMOUS_ACCOUNT_NOT_ALLOWED`, `API_KEY_ROUTE_NOT_ALLOWED`, `SERVICE_PARTY_NOT_ALLOWED`, `SERVICE_PRINCIPAL_NOT_ALLOWED`, `SIGNUP_NOT_INVITED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"413":{"description":"The request body exceeds the size limit.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"428":{"description":"The signed-in account must accept the current product terms first. Codes: `PRODUCT_LEGAL_ACCEPTANCE_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"A dependency is unavailable or the feature is not enabled on this deployment. Codes: `AUTHENTICATION_UNAVAILABLE`, `AUTHORIZATION_UNAVAILABLE`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{"bearer":[]}],"summary":"Accept one referral before the first prepared trade.","tags":["trading-referrals"]}},"/api/v1/referrals/{username}":{"get":{"operationId":"PublicTradingReferralsController_resolve_v1","parameters":[{"name":"username","required":true,"in":"path","schema":{"type":"string","pattern":"^[a-z][a-z0-9_]{2,23}$"}},{"$ref":"#/components/parameters/RequestId"}],"responses":{"200":{"description":"Canonical referral invitation.","content":{"application/json":{"schema":{"type":"object","properties":{"schemaVersion":{"type":"string","const":"1"},"networkId":{"type":"string","minLength":1},"status":{"type":"string","const":"active"},"username":{"type":"string","pattern":"^[a-z][a-z0-9_]{2,23}$"},"sharePath":{"type":"string"},"referralRateBps":{"type":"number","const":1000}},"required":["schemaVersion","networkId","status","username","sharePath","referralRateBps"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"404":{"description":"No resource the caller may see matches the path.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/ApiError"}},"summary":"Resolve an active invitation without disclosing account identifiers.","tags":["trading-referrals"],"security":[]}},"/api/v1/fee-claims/maker/{commandId}/status":{"get":{"operationId":"MakerFeeClaimStatusController_status_v1","parameters":[{"name":"commandId","required":true,"in":"path","schema":{"type":"string","minLength":1,"maxLength":255,"pattern":"^[A-Za-z0-9._:-]+$"}},{"$ref":"#/components/parameters/ServiceActAs"},{"$ref":"#/components/parameters/RequestId"}],"responses":{"200":{"description":"The reconciled claim outcome.","content":{"application/json":{"schema":{"type":"object","properties":{"commandId":{"type":"string","minLength":1,"maxLength":255},"partyId":{"type":"string","minLength":1},"walletConnectionId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"null"}]},"instrumentId":{"type":"string","minLength":1,"maxLength":160},"venue":{"type":"string","enum":["curve","amm"]},"status":{"type":"string","enum":["pending","confirmed","rejected","expired","unknown"]},"preparedClaimCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"claimedCc":{"anyOf":[{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},{"type":"null"}]},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updateId":{"type":["string","null"]},"recordTime":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"error":{"anyOf":[{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"rePrepare":{"type":"boolean"}},"required":["code","message"],"additionalProperties":false},{"type":"null"}]}},"required":["commandId","partyId","walletConnectionId","instrumentId","venue","status","preparedClaimCc","claimedCc","expiresAt","updateId","recordTime","error"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The request is malformed or failed validation. Codes: `VALIDATION_FAILED`, `AMBIGUOUS_CREDENTIALS`, `SERVICE_ACT_AS_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `AUTHENTICATION_REQUIRED`, `INVALID_AUTHORIZATION_HEADER`, `INVALID_ACCESS_TOKEN`, `SESSION_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Codes: `ACCOUNT_RESTRICTED`, `ANONYMOUS_ACCOUNT_NOT_ALLOWED`, `API_KEY_ROUTE_NOT_ALLOWED`, `SERVICE_PARTY_NOT_ALLOWED`, `SERVICE_PRINCIPAL_NOT_ALLOWED`, `SIGNUP_NOT_INVITED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"No such prepared claim of this account and network.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"A dependency is unavailable or the feature is not enabled on this deployment. Codes: `AUTHENTICATION_UNAVAILABLE`, `AUTHORIZATION_UNAVAILABLE`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{"bearer":[]}],"summary":"Ledger-confirmed outcome of the caller's prepared maker fee claim, with the exact credited amount.","tags":["fee claims"]}},"/api/v1/trades/prepare":{"post":{"operationId":"UserSignedTradeController_prepare_v1","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":256,"pattern":"^[A-Za-z0-9._:-]+$"}},{"$ref":"#/components/parameters/ServiceActAs"},{"$ref":"#/components/parameters/RequestId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"quoteId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"walletConnectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["quoteId","walletConnectionId"],"additionalProperties":false}}}},"responses":{"201":{"description":"Commands and disclosed contracts for sendTransaction.","content":{"application/json":{"schema":{"type":"object","properties":{"commandId":{"type":"string","minLength":1,"maxLength":255},"operationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"partyId":{"type":"string","minLength":1},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"quote":{"anyOf":[{"type":"object","properties":{"authority":{"type":"object","properties":{"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"legs":{"minItems":1,"maxItems":2,"type":"array","items":{"oneOf":[{"type":"object","properties":{"creatorRevenue":{"oneOf":[{"type":"object","properties":{"eligibility":{"type":"string","const":"eligible"},"launchId":{"type":"string","minLength":1,"maxLength":96},"policy":{"type":"object","properties":{"hash":{"type":"string","const":"sha256:a926e0a380b3938648b5fa9898136638e1276128947cf94033e760f87a27e8b2"},"id":{"type":"string","const":"supanova-creator-revenue-policy"},"version":{"type":"string","const":"1"}},"required":["hash","id","version"],"additionalProperties":false},"protocolRootId":{"type":"string","minLength":1,"maxLength":160}},"required":["eligibility","launchId","policy","protocolRootId"],"additionalProperties":false},{"type":"object","properties":{"eligibility":{"type":"string","const":"ineligible"},"reason":{"type":"string","enum":["legacy-no-policy","not-supanova-launch","trader-cashback"]}},"required":["eligibility","reason"],"additionalProperties":false}]},"lifecycleEpoch":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"marketReference":{"type":"string","minLength":1,"maxLength":160},"marketRevision":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"nextMarketRevision":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"payInstrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false},"receiveInstrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false},"securityEpoch":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"after":{"type":"object","properties":{"formulaId":{"type":"string","const":"supanova-virtual-cpmm-v1"},"graduated":{"type":"boolean"},"graduationPercent":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"marginalPriceCcPerToken":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"netCcReserve":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"tokensRemaining":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"tokensSold":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["formulaId","graduated","graduationPercent","marginalPriceCcPerToken","netCcReserve","tokensRemaining","tokensSold"],"additionalProperties":false},"before":{"type":"object","properties":{"formulaId":{"type":"string","const":"supanova-virtual-cpmm-v1"},"graduated":{"type":"boolean"},"graduationPercent":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"marginalPriceCcPerToken":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"netCcReserve":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"tokensRemaining":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"tokensSold":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["formulaId","graduated","graduationPercent","marginalPriceCcPerToken","netCcReserve","tokensRemaining","tokensSold"],"additionalProperties":false},"formulaId":{"type":"string","const":"supanova-virtual-cpmm-v1"},"kind":{"type":"string","const":"virtual-cpmm"},"lifecycleStage":{"type":"string","enum":["ignition","near_escape"]},"limits":{"type":"object","properties":{"exactFinalGrossCc":{"anyOf":[{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},{"type":"null"}]},"inputAsset":{"type":"string","enum":["cc","token"]},"maximumInputAmount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"recovery":{"type":"string","enum":["exact-final-gross-or-smaller-buy","sell-all-or-leave-at-least-minimum"]}},"required":["exactFinalGrossCc","inputAsset","maximumInputAmount","recovery"],"additionalProperties":false}},"required":["creatorRevenue","lifecycleEpoch","marketReference","marketRevision","nextMarketRevision","payInstrument","receiveInstrument","securityEpoch","after","before","formulaId","kind","lifecycleStage","limits"],"additionalProperties":false},{"type":"object","properties":{"creatorRevenue":{"oneOf":[{"type":"object","properties":{"eligibility":{"type":"string","const":"eligible"},"launchId":{"type":"string","minLength":1,"maxLength":96},"policy":{"type":"object","properties":{"hash":{"type":"string","const":"sha256:a926e0a380b3938648b5fa9898136638e1276128947cf94033e760f87a27e8b2"},"id":{"type":"string","const":"supanova-creator-revenue-policy"},"version":{"type":"string","const":"1"}},"required":["hash","id","version"],"additionalProperties":false},"protocolRootId":{"type":"string","minLength":1,"maxLength":160}},"required":["eligibility","launchId","policy","protocolRootId"],"additionalProperties":false},{"type":"object","properties":{"eligibility":{"type":"string","const":"ineligible"},"reason":{"type":"string","enum":["legacy-no-policy","not-supanova-launch","trader-cashback"]}},"required":["eligibility","reason"],"additionalProperties":false}]},"lifecycleEpoch":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"marketReference":{"type":"string","minLength":1,"maxLength":160},"marketRevision":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"nextMarketRevision":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"payInstrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false},"receiveInstrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false},"securityEpoch":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"after":{"type":"object","properties":{"anchor":{"type":"string","enum":["cc-reserve","initial","token-reserve"]},"ccReserve":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"formulaId":{"type":"string","const":"supanova-real-cpmm-v1"},"invariant":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"marginalPriceCcPerToken":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"revision":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"tokenReserve":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["anchor","ccReserve","formulaId","invariant","marginalPriceCcPerToken","revision","tokenReserve"],"additionalProperties":false},"before":{"type":"object","properties":{"anchor":{"type":"string","enum":["cc-reserve","initial","token-reserve"]},"ccReserve":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"formulaId":{"type":"string","const":"supanova-real-cpmm-v1"},"invariant":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"marginalPriceCcPerToken":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"revision":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"tokenReserve":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["anchor","ccReserve","formulaId","invariant","marginalPriceCcPerToken","revision","tokenReserve"],"additionalProperties":false},"formulaId":{"type":"string","const":"supanova-real-cpmm-v1"},"kind":{"type":"string","const":"real-cpmm"},"lifecycleStage":{"type":"string","const":"in_orbit"},"limits":{"type":"object","properties":{"exactFinalGrossCc":{"type":"null"},"inputAsset":{"type":"string","enum":["cc","token"]},"maximumInputAmount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"recovery":{"type":"string","const":"refresh-on-revision-change"}},"required":["exactFinalGrossCc","inputAsset","maximumInputAmount","recovery"],"additionalProperties":false}},"required":["creatorRevenue","lifecycleEpoch","marketReference","marketRevision","nextMarketRevision","payInstrument","receiveInstrument","securityEpoch","after","before","formulaId","kind","lifecycleStage","limits"],"additionalProperties":false},{"type":"object","properties":{"creatorRevenue":{"oneOf":[{"type":"object","properties":{"eligibility":{"type":"string","const":"eligible"},"launchId":{"type":"string","minLength":1,"maxLength":96},"policy":{"type":"object","properties":{"hash":{"type":"string","const":"sha256:a926e0a380b3938648b5fa9898136638e1276128947cf94033e760f87a27e8b2"},"id":{"type":"string","const":"supanova-creator-revenue-policy"},"version":{"type":"string","const":"1"}},"required":["hash","id","version"],"additionalProperties":false},"protocolRootId":{"type":"string","minLength":1,"maxLength":160}},"required":["eligibility","launchId","policy","protocolRootId"],"additionalProperties":false},{"type":"object","properties":{"eligibility":{"type":"string","const":"ineligible"},"reason":{"type":"string","enum":["legacy-no-policy","not-supanova-launch","trader-cashback"]}},"required":["eligibility","reason"],"additionalProperties":false}]},"lifecycleEpoch":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"marketReference":{"type":"string","minLength":1,"maxLength":160},"marketRevision":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"nextMarketRevision":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"payInstrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false},"receiveInstrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false},"securityEpoch":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"after":{"type":"object","properties":{"priceCcPerToken":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"revision":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"}},"required":["priceCcPerToken","revision"],"additionalProperties":false},"before":{"type":"object","properties":{"priceCcPerToken":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"revision":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"}},"required":["priceCcPerToken","revision"],"additionalProperties":false},"formulaId":{"type":"string","const":"supanova-static-preview-v1"},"kind":{"type":"string","const":"static-preview"},"lifecycleStage":{"type":"string","const":"in_orbit"},"limits":{"type":"object","properties":{"exactFinalGrossCc":{"type":"null"},"inputAsset":{"type":"string","enum":["cc","token"]},"maximumInputAmount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"recovery":{"type":"string","const":"refresh-on-revision-change"}},"required":["exactFinalGrossCc","inputAsset","maximumInputAmount","recovery"],"additionalProperties":false}},"required":["creatorRevenue","lifecycleEpoch","marketReference","marketRevision","nextMarketRevision","payInstrument","receiveInstrument","securityEpoch","after","before","formulaId","kind","lifecycleStage","limits"],"additionalProperties":false}]}},"networkId":{"type":"string","pattern":"^canton:[-_a-zA-Z0-9]{1,32}$"},"policy":{"type":"object","properties":{"hash":{"type":"string","const":"sha256:1c1bcf37c26e0c4c84af752e9f76447a82f8b22ba8c851f1cf070eccc43f548e"},"snapshot":{"type":"object","properties":{"amm":{"type":"object","properties":{"authorizationMaxTtlSeconds":{"type":"number","const":900},"fee":{"type":"object","properties":{"asset":{"type":"string","const":"cc"},"buySide":{"type":"string","const":"deduct-from-gross-before-cc-enters-pool"},"policy":{"type":"string","const":"outside-active-reserves"},"rate":{"type":"string","const":"0.01"},"routing":{"type":"string","const":"creator-revenue-policy-outside-pool"},"sellSide":{"type":"string","const":"deduct-from-gross-cc-after-cc-leaves-pool"}},"required":["asset","buySide","policy","rate","routing","sellSide"],"additionalProperties":false},"formulaId":{"type":"string","const":"supanova-real-cpmm-v1"},"goldenManifestDigest":{"type":"string","const":"sha256:7fc5b0d592eaf85cb083775101efe73a099b404e6334cd85ac1683ac753626d0"},"invariant":{"type":"object","properties":{"anchor":{"type":"string","const":"50000000000000"},"anchorRelation":{"type":"string","const":"initial=exact-seed;buy=tokenReserve==round10(k/ccReserve);sell=ccReserve==round10(k/tokenReserve)"},"driftPolicy":{"type":"string","const":"reject-any-noncanonical-anchor-relation"},"transition":{"type":"string","const":"oppositeReserve=round10(k/nextInputReserve)"}},"required":["anchor","anchorRelation","driftPolicy","transition"],"additionalProperties":false},"initialRealCcReserve":{"type":"string","const":"250000"},"initialRealTokenReserve":{"type":"string","const":"200000000"},"lifecycle":{"type":"string","const":"atomic-graduation-seed-then-revisioned-real-reserve"},"minimumGrossBuyCc":{"type":"string","const":"0.01"},"minimumGrossSellCc":{"type":"string","const":"0.0099"},"minimumGrossSellDerivation":{"type":"string","const":"gross-cc-from-reserve-before-fee"},"numericScale":{"type":"number","const":10},"rounding":{"type":"object","properties":{"buyGrouping":{"type":"string","const":"fee=round10(gross*rate);net=round10(gross-fee);x1=round10(x+net);y1=round10(k/x1);out=round10(y-y1)"},"mode":{"type":"string","const":"ledger-decimal10-half-even-per-operation"},"sellGrouping":{"type":"string","const":"y1=round10(y+tokenIn);x1=round10(k/y1);gross=round10(x-x1);fee=round10(gross*rate);net=round10(gross-fee)"}},"required":["buyGrouping","mode","sellGrouping"],"additionalProperties":false},"rootUniquenessAssumption":{"type":"string","const":"participant-inventory-and-submission-policy-required"},"settlementReadiness":{"type":"string","const":"external-settlement-adapter-unproven"}},"required":["authorizationMaxTtlSeconds","fee","formulaId","goldenManifestDigest","invariant","initialRealCcReserve","initialRealTokenReserve","lifecycle","minimumGrossBuyCc","minimumGrossSellCc","minimumGrossSellDerivation","numericScale","rounding","rootUniquenessAssumption","settlementReadiness"],"additionalProperties":false},"curve":{"type":"object","properties":{"formulaId":{"type":"string","const":"supanova-virtual-cpmm-v1"},"policyHash":{"type":"string","const":"sha256:c843cc6204a25e687e40fff5f8033416031fb28d191f40b00e530855d70dd0ce"}},"required":["formulaId","policyHash"],"additionalProperties":false},"creatorRevenue":{"type":"object","properties":{"allocationBinding":{"type":"string","const":"one-exact-allocation-per-route-leg"},"hash":{"type":"string","const":"sha256:a926e0a380b3938648b5fa9898136638e1276128947cf94033e760f87a27e8b2"},"id":{"type":"string","const":"supanova-creator-revenue-policy"},"version":{"type":"string","const":"1"}},"required":["allocationBinding","hash","id","version"],"additionalProperties":false},"policyId":{"type":"string","const":"supanova-swap-quote-policy"},"policyVersion":{"type":"string","const":"3"},"quote":{"type":"object","properties":{"authorityLegBinding":{"type":"string","const":"explicit-pay-and-receive-instruments"},"creatorRevenueLegBinding":{"type":"string","const":"exact-launch-lineage-policy-and-allocation-per-leg"},"expirySeconds":{"type":"number","const":30},"marketReferenceUniqueness":{"type":"string","const":"unique-within-route"},"minimumOutputMaximumQuoted":{"type":"string","const":"999999999999999999999999.9999999999"},"minimumOutputRounding":{"type":"string","const":"ledger-decimal10-round-down"},"replayDomain":{"type":"string","const":"supanova.swap.quote.v2"},"revisionBinding":{"type":"string","const":"dynamic-next-equals-current-plus-one;static-next-equals-current"},"singleUse":{"type":"boolean","const":true}},"required":["authorityLegBinding","creatorRevenueLegBinding","expirySeconds","marketReferenceUniqueness","minimumOutputMaximumQuoted","minimumOutputRounding","replayDomain","revisionBinding","singleUse"],"additionalProperties":false}},"required":["amm","curve","creatorRevenue","policyId","policyVersion","quote"],"additionalProperties":false},"version":{"type":"string","const":"3"}},"required":["hash","snapshot","version"],"additionalProperties":false},"replay":{"type":"object","properties":{"digest":{"type":"string","pattern":"^sha256:[0-9a-f]{64}$"},"domain":{"type":"string","const":"supanova.swap.quote.v2"}},"required":["digest","domain"],"additionalProperties":false},"synchronizerId":{"type":"string","minLength":1,"maxLength":160}},"required":["expiresAt","legs","networkId","policy","replay","synchronizerId"],"additionalProperties":false},"buyUnitPriceCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"buyAmount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"buyInstrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false},"creatorRevenueAllocations":{"minItems":1,"maxItems":2,"type":"array","items":{"oneOf":[{"type":"object","properties":{"basisAmountCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"creatorRevenueCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"eligibility":{"type":"string","const":"eligible"},"grossRevenueCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"launchId":{"type":"string","minLength":1,"maxLength":96},"marketReference":{"type":"string","minLength":1,"maxLength":160},"policy":{"type":"object","properties":{"hash":{"type":"string","const":"sha256:a926e0a380b3938648b5fa9898136638e1276128947cf94033e760f87a27e8b2"},"id":{"type":"string","const":"supanova-creator-revenue-policy"},"version":{"type":"string","const":"1"}},"required":["hash","id","version"],"additionalProperties":false},"protocolRevenueCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"protocolRootId":{"type":"string","minLength":1,"maxLength":160},"routeLegCount":{"type":"integer","minimum":1,"maximum":2},"routeLegIndex":{"type":"integer","minimum":0,"maximum":1},"source":{"type":"string","enum":["virtual-curve-trading-fee","supaswap-amm-trading-fee"]},"tokenInstrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false}},"required":["basisAmountCc","creatorRevenueCc","eligibility","grossRevenueCc","launchId","marketReference","policy","protocolRevenueCc","protocolRootId","routeLegCount","routeLegIndex","source","tokenInstrument"],"additionalProperties":false},{"type":"object","properties":{"eligibility":{"type":"string","const":"ineligible"},"marketReference":{"type":"string","minLength":1,"maxLength":160},"reason":{"type":"string","enum":["legacy-no-policy","not-supanova-launch","trader-cashback"]},"routeLegCount":{"type":"integer","minimum":1,"maximum":2},"routeLegIndex":{"type":"integer","minimum":0,"maximum":1},"tokenInstrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false}},"required":["eligibility","marketReference","reason","routeLegCount","routeLegIndex","tokenInstrument"],"additionalProperties":false}]}},"execution":{"type":"string","const":"simulated"},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"fee":{"type":"object","properties":{"amount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"asset":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false},"policy":{"type":"string","const":"preview-only-unfinalized"}},"required":["amount","asset","policy"],"additionalProperties":false},"feeLineItems":{"minItems":1,"maxItems":2,"type":"array","items":{"type":"object","properties":{"amount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"instrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false},"kind":{"type":"string","const":"trading"},"label":{"type":"string","minLength":1,"maxLength":120}},"required":["amount","instrument","kind","label"],"additionalProperties":false}},"issuedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"minimumBuyAmount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"networkId":{"type":"string","pattern":"^canton:[-_a-zA-Z0-9]{1,32}$"},"notionalCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"pricingModel":{"type":"string","const":"preview-simulation-v2"},"pricingSource":{"type":"object","properties":{"asOf":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"dataMode":{"type":"string","enum":["projected","simulated"]},"label":{"type":"string","enum":["canton-ledger-acs","superapp-market-preview-snapshot"]}},"required":["asOf","dataMode","label"],"additionalProperties":false},"priceImpactBps":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"quoteId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"rate":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"sellAmount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"sellInstrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false},"sellUnitPriceCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"settlement":{"type":"object","properties":{"deadline":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"mode":{"type":"string","const":"atomic-dvp"},"readiness":{"type":"string","enum":["daml-command-builder-not-configured","ready"]}},"required":["deadline","mode","readiness"],"additionalProperties":false},"slippageBps":{"type":"integer","minimum":1,"maximum":5000},"route":{"minItems":1,"maxItems":2,"type":"array","items":{"type":"object","properties":{"payInstrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false},"receiveInstrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false},"venue":{"type":"string","enum":["canton-dex","launch-curve"]}},"required":["payInstrument","receiveInstrument","venue"],"additionalProperties":false}},"wallet":{"type":"object","properties":{"connectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"partyId":{"type":"string","minLength":1,"maxLength":512}},"required":["connectionId","partyId"],"additionalProperties":false}},"required":["authority","buyUnitPriceCc","buyAmount","buyInstrument","creatorRevenueAllocations","execution","expiresAt","fee","feeLineItems","issuedAt","minimumBuyAmount","networkId","notionalCc","pricingModel","pricingSource","priceImpactBps","quoteId","rate","sellAmount","sellInstrument","sellUnitPriceCc","settlement","slippageBps","route","wallet"],"additionalProperties":false},{"type":"object","properties":{"authority":{"type":"object","properties":{"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"legs":{"minItems":1,"maxItems":1,"type":"array","items":{"oneOf":[{"type":"object","properties":{"creatorRevenue":{"type":"object","properties":{"eligibility":{"type":"string","const":"eligible"},"launchId":{"type":"string","minLength":1,"maxLength":160},"policy":{"type":"object","properties":{"hash":{"type":"string","const":"sha256:21c68b457e7684149d484e6bfb378457c36ea188e01187500367a76bf29cbde6"},"id":{"type":"string","const":"supanova-creator-revenue-policy"},"version":{"type":"string","const":"2"}},"required":["hash","id","version"],"additionalProperties":false},"protocolRootId":{"type":"string","minLength":1,"maxLength":160}},"required":["eligibility","launchId","policy","protocolRootId"],"additionalProperties":false},"lifecycleEpoch":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"market":{"type":"object","properties":{"economics":{"type":"object","properties":{"curveAllocationBps":{"type":"integer","minimum":5001,"maximum":9999},"graduationNetCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"maxFeeBps":{"type":"integer","minimum":0,"maximum":5000},"minFeeClaimCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["curveAllocationBps","graduationNetCc","maxFeeBps","minFeeClaimCc"],"additionalProperties":false},"feeConfig":{"type":"object","properties":{"feeBps":{"type":"integer","minimum":0,"maximum":10000},"platformShareBps":{"type":"integer","minimum":0,"maximum":10000}},"required":["feeBps","platformShareBps"],"additionalProperties":false},"totalSupply":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["economics","feeConfig","totalSupply"],"additionalProperties":false},"marketReference":{"type":"string","minLength":1,"maxLength":160},"marketRevision":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"nextMarketRevision":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"payInstrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false},"receiveInstrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false},"securityEpoch":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"after":{"type":"object","properties":{"graduated":{"type":"boolean"},"netCcReserve":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"tokensRemaining":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"tokensSold":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["graduated","netCcReserve","tokensRemaining","tokensSold"],"additionalProperties":false},"before":{"type":"object","properties":{"graduated":{"type":"boolean"},"netCcReserve":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"tokensRemaining":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"tokensSold":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["graduated","netCcReserve","tokensRemaining","tokensSold"],"additionalProperties":false},"formulaId":{"type":"string","const":"supanova-virtual-cpmm-v1"},"kind":{"type":"string","const":"virtual-cpmm"},"lifecycleStage":{"type":"string","enum":["ignition","near_escape"]},"limits":{"type":"object","properties":{"exactFinalGrossCc":{"anyOf":[{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},{"type":"null"}]},"inputAsset":{"type":"string","enum":["cc","token"]},"maximumInputAmount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"recovery":{"type":"string","enum":["exact-final-gross-or-smaller-buy","sell-all-or-leave-at-least-minimum"]}},"required":["exactFinalGrossCc","inputAsset","maximumInputAmount","recovery"],"additionalProperties":false}},"required":["creatorRevenue","lifecycleEpoch","market","marketReference","marketRevision","nextMarketRevision","payInstrument","receiveInstrument","securityEpoch","after","before","formulaId","kind","lifecycleStage","limits"],"additionalProperties":false},{"type":"object","properties":{"creatorRevenue":{"type":"object","properties":{"eligibility":{"type":"string","const":"eligible"},"launchId":{"type":"string","minLength":1,"maxLength":160},"policy":{"type":"object","properties":{"hash":{"type":"string","const":"sha256:21c68b457e7684149d484e6bfb378457c36ea188e01187500367a76bf29cbde6"},"id":{"type":"string","const":"supanova-creator-revenue-policy"},"version":{"type":"string","const":"2"}},"required":["hash","id","version"],"additionalProperties":false},"protocolRootId":{"type":"string","minLength":1,"maxLength":160}},"required":["eligibility","launchId","policy","protocolRootId"],"additionalProperties":false},"lifecycleEpoch":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"market":{"type":"object","properties":{"economics":{"type":"object","properties":{"curveAllocationBps":{"type":"integer","minimum":5001,"maximum":9999},"graduationNetCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"maxFeeBps":{"type":"integer","minimum":0,"maximum":5000},"minFeeClaimCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["curveAllocationBps","graduationNetCc","maxFeeBps","minFeeClaimCc"],"additionalProperties":false},"feeConfig":{"type":"object","properties":{"feeBps":{"type":"integer","minimum":0,"maximum":10000},"platformShareBps":{"type":"integer","minimum":0,"maximum":10000}},"required":["feeBps","platformShareBps"],"additionalProperties":false},"totalSupply":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["economics","feeConfig","totalSupply"],"additionalProperties":false},"marketReference":{"type":"string","minLength":1,"maxLength":160},"marketRevision":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"nextMarketRevision":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"payInstrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false},"receiveInstrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false},"securityEpoch":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"after":{"type":"object","properties":{"anchor":{"type":"string","enum":["cc-reserve","initial","token-reserve"]},"ccReserve":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"revision":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"tokenReserve":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["anchor","ccReserve","revision","tokenReserve"],"additionalProperties":false},"before":{"type":"object","properties":{"anchor":{"type":"string","enum":["cc-reserve","initial","token-reserve"]},"ccReserve":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"revision":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,18})$"},"tokenReserve":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["anchor","ccReserve","revision","tokenReserve"],"additionalProperties":false},"formulaId":{"type":"string","const":"supanova-real-cpmm-v1"},"kind":{"type":"string","const":"real-cpmm"},"lifecycleStage":{"type":"string","const":"in_orbit"},"limits":{"type":"object","properties":{"exactFinalGrossCc":{"type":"null"},"inputAsset":{"type":"string","enum":["cc","token"]},"maximumInputAmount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"recovery":{"type":"string","const":"refresh-on-revision-change"}},"required":["exactFinalGrossCc","inputAsset","maximumInputAmount","recovery"],"additionalProperties":false}},"required":["creatorRevenue","lifecycleEpoch","market","marketReference","marketRevision","nextMarketRevision","payInstrument","receiveInstrument","securityEpoch","after","before","formulaId","kind","lifecycleStage","limits"],"additionalProperties":false}]}},"networkId":{"type":"string","pattern":"^canton:[-_a-zA-Z0-9]{1,32}$"},"policy":{"type":"object","properties":{"hash":{"type":"string","const":"sha256:453dec0f4f64164e6c89bd4fcf9303eafeadd133ca9e119acc5fd6fa694957c2"},"snapshot":{},"version":{"type":"string","const":"4"}},"required":["hash","snapshot","version"],"additionalProperties":false},"replay":{"type":"object","properties":{"digest":{"type":"string","pattern":"^sha256:[0-9a-f]{64}$"},"domain":{"type":"string","const":"supanova.swap.quote.v2"}},"required":["digest","domain"],"additionalProperties":false},"synchronizerId":{"type":"string","minLength":1,"maxLength":160}},"required":["expiresAt","legs","networkId","policy","replay","synchronizerId"],"additionalProperties":false},"buyAmount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"buyInstrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false},"creatorRevenueAllocations":{"minItems":1,"maxItems":1,"type":"array","items":{"type":"object","properties":{"basisAmountCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"creatorRevenueCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"eligibility":{"type":"string","const":"eligible"},"grossRevenueCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"launchId":{"type":"string","minLength":1,"maxLength":160},"marketReference":{"type":"string","minLength":1,"maxLength":160},"policy":{"type":"object","properties":{"hash":{"type":"string","const":"sha256:21c68b457e7684149d484e6bfb378457c36ea188e01187500367a76bf29cbde6"},"id":{"type":"string","const":"supanova-creator-revenue-policy"},"version":{"type":"string","const":"2"}},"required":["hash","id","version"],"additionalProperties":false},"protocolRevenueCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"protocolRootId":{"type":"string","minLength":1,"maxLength":160},"routeLegCount":{"type":"number","const":1},"routeLegIndex":{"type":"number","const":0},"source":{"type":"string","enum":["curve-trading-fee","amm-trading-fee"]},"tokenInstrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false}},"required":["basisAmountCc","creatorRevenueCc","eligibility","grossRevenueCc","launchId","marketReference","policy","protocolRevenueCc","protocolRootId","routeLegCount","routeLegIndex","source","tokenInstrument"],"additionalProperties":false}},"display":{"type":"object","properties":{"averagePriceCcPerToken":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,40})?$"},"graduationPercentAfter":{"anyOf":[{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,40})?$"},{"type":"null"}]},"kind":{"type":"string","const":"display-only"},"priceAfterCcPerToken":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,40})?$"},"priceAfterPerMillionTokensCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,40})?$"},"priceBeforeCcPerToken":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,40})?$"},"priceBeforePerMillionTokensCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,40})?$"},"priceImpactBps":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,40})?$"},"pricePerMillionTokensCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,40})?$"},"rate":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,40})?$"},"significantDigits":{"type":"number","const":12}},"required":["averagePriceCcPerToken","graduationPercentAfter","kind","priceAfterCcPerToken","priceAfterPerMillionTokensCc","priceBeforeCcPerToken","priceBeforePerMillionTokensCc","priceImpactBps","pricePerMillionTokensCc","rate","significantDigits"],"additionalProperties":false},"economics":{"type":"object","properties":{"curveAllocationBps":{"type":"integer","minimum":5001,"maximum":9999},"graduationNetCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"maxFeeBps":{"type":"integer","minimum":0,"maximum":5000},"minFeeClaimCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["curveAllocationBps","graduationNetCc","maxFeeBps","minFeeClaimCc"],"additionalProperties":false},"execution":{"type":"string","const":"simulated"},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"fee":{"type":"object","properties":{"amount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"asset":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false},"policy":{"type":"string","const":"ledger-pool-fee-config"}},"required":["amount","asset","policy"],"additionalProperties":false},"feeCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"feeConfig":{"type":"object","properties":{"feeBps":{"type":"integer","minimum":0,"maximum":10000},"platformShareBps":{"type":"integer","minimum":0,"maximum":10000}},"required":["feeBps","platformShareBps"],"additionalProperties":false},"feeLineItems":{"minItems":1,"maxItems":1,"type":"array","items":{"type":"object","properties":{"amount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"instrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false},"kind":{"type":"string","const":"trading"},"label":{"type":"string","minLength":1,"maxLength":120}},"required":["amount","instrument","kind","label"],"additionalProperties":false}},"issuedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"makerFeeCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"minimumBuyAmount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"networkId":{"type":"string","pattern":"^canton:[-_a-zA-Z0-9]{1,32}$"},"notionalCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"platformFeeCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"referralFeeCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"pricingModel":{"type":"string","const":"preview-simulation-v2"},"pricingSource":{"type":"object","properties":{"asOf":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"dataMode":{"type":"string","const":"projected"},"label":{"type":"string","const":"canton-ledger-acs"}},"required":["asOf","dataMode","label"],"additionalProperties":false},"quoteId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"route":{"minItems":1,"maxItems":1,"type":"array","items":{"type":"object","properties":{"payInstrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false},"receiveInstrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false},"venue":{"type":"string","enum":["canton-dex","launch-curve"]}},"required":["payInstrument","receiveInstrument","venue"],"additionalProperties":false}},"sellAmount":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"sellInstrument":{"type":"object","properties":{"admin":{"type":"string","minLength":1,"maxLength":160},"id":{"type":"string","minLength":1,"maxLength":160}},"required":["admin","id"],"additionalProperties":false},"settlement":{"type":"object","properties":{"deadline":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"mode":{"type":"string","const":"atomic-dvp"},"readiness":{"type":"string","const":"ready"}},"required":["deadline","mode","readiness"],"additionalProperties":false},"slippageBps":{"type":"integer","minimum":1,"maximum":5000},"totalSupply":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"wallet":{"type":"object","properties":{"connectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"partyId":{"type":"string","minLength":1,"maxLength":512}},"required":["connectionId","partyId"],"additionalProperties":false},"allowPartialFill":{"type":"boolean"},"fill":{"type":"string","enum":["full","partial"]},"grossCcUsed":{"anyOf":[{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},{"type":"null"}]},"unspentCc":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"},"graduates":{"type":"boolean"},"limitTokenOut":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,27})(?:\\.\\d{1,10})?$"}},"required":["authority","buyAmount","buyInstrument","creatorRevenueAllocations","display","economics","execution","expiresAt","fee","feeCc","feeConfig","feeLineItems","issuedAt","makerFeeCc","minimumBuyAmount","networkId","notionalCc","platformFeeCc","pricingModel","pricingSource","quoteId","route","sellAmount","sellInstrument","settlement","slippageBps","totalSupply","wallet"],"additionalProperties":false}]},"venue":{"type":"string","enum":["curve","amm"]},"side":{"type":"string","enum":["buy","sell"]},"commands":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}}},"disclosedContracts":{"type":"array","items":{"type":"object","properties":{"contractId":{"type":"string","minLength":1,"maxLength":255},"createdEventBlob":{"type":"string","minLength":1},"synchronizerId":{"type":"string","minLength":1,"maxLength":512},"templateId":{"type":"string","minLength":1,"maxLength":255}},"required":["contractId","createdEventBlob","synchronizerId","templateId"],"additionalProperties":false}},"packageIdSelectionPreference":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"string","pattern":"^[0-9a-f]{64}$"}}},"required":["commandId","operationId","partyId","expiresAt","quote","venue","side","commands","disclosedContracts"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"Malformed body or missing Idempotency-Key. Also: `VALIDATION_FAILED`, `IDEMPOTENCY_KEY_REQUIRED`, `AMBIGUOUS_CREDENTIALS`, `SERVICE_ACT_AS_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `AUTHENTICATION_REQUIRED`, `INVALID_AUTHORIZATION_HEADER`, `INVALID_ACCESS_TOKEN`, `SESSION_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"Wallet not owned, or the Party is not allowed. Also: `ACCOUNT_RESTRICTED`, `ANONYMOUS_ACCOUNT_NOT_ALLOWED`, `API_KEY_ROUTE_NOT_ALLOWED`, `SERVICE_PARTY_NOT_ALLOWED`, `SERVICE_PRINCIPAL_NOT_ALLOWED`, `SIGNUP_NOT_INVITED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"Unknown quote.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"Quote/wallet mismatch or Idempotency-Key conflict. Also: `IDEMPOTENCY_KEY_CONFLICT`, `IDEMPOTENCY_CONFLICT`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"413":{"description":"The request body exceeds the size limit.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"Insufficient or frozen deposit balance, or no live venue.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"428":{"description":"The signed-in account must accept the current product terms first. Codes: `PRODUCT_LEGAL_ACCEPTANCE_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"The ledger is unavailable. Also: `AUTHENTICATION_UNAVAILABLE`, `AUTHORIZATION_UNAVAILABLE`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{"bearer":[]}],"summary":"Prepare plain JSON Ledger API commands + disclosures for a wallet-signed trade.","tags":["user-signed trades"]}},"/api/v1/trades/{commandId}/status":{"get":{"operationId":"UserSignedTradeController_status_v1","parameters":[{"name":"commandId","required":true,"in":"path","schema":{"type":"string","minLength":1,"maxLength":255,"pattern":"^[A-Za-z0-9._:-]+$"}},{"$ref":"#/components/parameters/ServiceActAs"},{"$ref":"#/components/parameters/RequestId"}],"responses":{"200":{"description":"The reconciled outcome.","content":{"application/json":{"schema":{"type":"object","properties":{"commandId":{"type":"string"},"operationId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"null"}]},"partyId":{"type":"string"},"kind":{"type":"string","enum":["trade","withdrawal-request","withdrawal-cancel"]},"status":{"type":"string","enum":["pending","confirmed","rejected","expired","unknown"]},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"updateId":{"type":["string","null"]},"recordTime":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"settled":{"anyOf":[{"type":"object","properties":{"choice":{"type":"string"},"venue":{"anyOf":[{"type":"string","enum":["curve","amm"]},{"type":"null"}]},"side":{"anyOf":[{"type":"string","enum":["buy","sell"]},{"type":"null"}]},"ccIn":{"type":["string","null"]},"ccOut":{"type":["string","null"]},"tokenIn":{"type":["string","null"]},"tokenOut":{"type":["string","null"]},"feeCc":{"type":["string","null"]},"balanceCidAfter":{"type":["string","null"]},"graduates":{"type":"boolean"},"ammPoolCid":{"type":["string","null"]},"platformFeeCc":{"type":["string","null"]},"makerFeeCc":{"type":["string","null"]},"poolHoldingCidAfter":{"type":["string","null"]},"partial":{"type":"boolean"},"requestedGrossCc":{"type":["string","null"]},"unspentCc":{"type":["string","null"]}},"required":["choice","venue","side","ccIn","ccOut","tokenIn","tokenOut","feeCc","balanceCidAfter","graduates","ammPoolCid"],"additionalProperties":false},{"type":"null"}]},"error":{"anyOf":[{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"rePrepare":{"type":"boolean"}},"required":["code","message"],"additionalProperties":false},{"type":"null"}]}},"required":["commandId","operationId","partyId","kind","status","expiresAt","updateId","recordTime","settled","error"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The request is malformed or failed validation. Codes: `VALIDATION_FAILED`, `AMBIGUOUS_CREDENTIALS`, `SERVICE_ACT_AS_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `AUTHENTICATION_REQUIRED`, `INVALID_AUTHORIZATION_HEADER`, `INVALID_ACCESS_TOKEN`, `SESSION_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Codes: `ACCOUNT_RESTRICTED`, `ANONYMOUS_ACCOUNT_NOT_ALLOWED`, `API_KEY_ROUTE_NOT_ALLOWED`, `SERVICE_PARTY_NOT_ALLOWED`, `SERVICE_PRINCIPAL_NOT_ALLOWED`, `SIGNUP_NOT_INVITED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"No such owned prepared trade.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"A dependency is unavailable or the feature is not enabled on this deployment. Codes: `AUTHENTICATION_UNAVAILABLE`, `AUTHORIZATION_UNAVAILABLE`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{"bearer":[]}],"summary":"Reconciliation status of a prepared user-signed submission (ledger truth).","tags":["user-signed trades"]}},"/api/v1/wallet/withdrawals/prepare":{"post":{"operationId":"UserSignedWithdrawalController_prepareWithdrawal_v1","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":256,"pattern":"^[A-Za-z0-9._:-]+$"}},{"$ref":"#/components/parameters/ServiceActAs"},{"$ref":"#/components/parameters/RequestId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"amountCc":{"type":"string","pattern":"^\\d{1,28}(?:\\.\\d{1,10})?$"},"memo":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[\\x20-\\x7E]+$"},"walletConnectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["amountCc"],"additionalProperties":false}}}},"responses":{"201":{"description":"Commands for sendTransaction; the withdrawal starts awaiting_signature.","content":{"application/json":{"schema":{"type":"object","properties":{"withdrawalId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"commandId":{"type":"string","minLength":1,"maxLength":255},"partyId":{"type":"string","minLength":1},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"commands":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}}},"disclosedContracts":{"type":"array","items":{"type":"object","properties":{"contractId":{"type":"string","minLength":1,"maxLength":255},"createdEventBlob":{"type":"string","minLength":1},"synchronizerId":{"type":"string","minLength":1,"maxLength":512},"templateId":{"type":"string","minLength":1,"maxLength":255}},"required":["contractId","createdEventBlob","synchronizerId","templateId"],"additionalProperties":false}}},"required":["withdrawalId","commandId","partyId","expiresAt","commands","disclosedContracts"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"Malformed amount or missing Idempotency-Key. Also: `VALIDATION_FAILED`, `IDEMPOTENCY_KEY_REQUIRED`, `AMBIGUOUS_CREDENTIALS`, `SERVICE_ACT_AS_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `AUTHENTICATION_REQUIRED`, `INVALID_AUTHORIZATION_HEADER`, `INVALID_ACCESS_TOKEN`, `SESSION_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Codes: `ACCOUNT_RESTRICTED`, `ANONYMOUS_ACCOUNT_NOT_ALLOWED`, `API_KEY_ROUTE_NOT_ALLOWED`, `SERVICE_PARTY_NOT_ALLOWED`, `SERVICE_PRINCIPAL_NOT_ALLOWED`, `SIGNUP_NOT_INVITED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"No verified wallet connection exists.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The request conflicts with current state, or the Idempotency-Key was reused with a different request (`IDEMPOTENCY_KEY_CONFLICT`; the former `IDEMPOTENCY_CONFLICT` is a deprecated alias, no longer returned, that clients handle the same way for one release). Codes: `IDEMPOTENCY_KEY_CONFLICT`, `IDEMPOTENCY_CONFLICT`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"413":{"description":"The request body exceeds the size limit.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"Insufficient spendable balance, or the balance is frozen.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"428":{"description":"The signed-in account must accept the current product terms first. Codes: `PRODUCT_LEGAL_ACCEPTANCE_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"The ledger is unavailable. Also: `AUTHENTICATION_UNAVAILABLE`, `AUTHORIZATION_UNAVAILABLE`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{"bearer":[]}],"summary":"Prepare a wallet-signed on-ledger withdrawal request.","tags":["deposit balance"]}},"/api/v1/wallet/withdrawals/{withdrawalId}/cancel-prepare":{"post":{"operationId":"UserSignedWithdrawalController_prepareCancel_v1","parameters":[{"name":"withdrawalId","required":true,"in":"path","schema":{"format":"uuid","type":"string"}},{"$ref":"#/components/parameters/ServiceActAs"},{"$ref":"#/components/parameters/RequestId"}],"responses":{"201":{"description":"Commands for sendTransaction; reconciled to cancelled on landing.","content":{"application/json":{"schema":{"type":"object","properties":{"withdrawalId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"commandId":{"type":"string","minLength":1,"maxLength":255},"partyId":{"type":"string","minLength":1},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"commands":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}}},"disclosedContracts":{"type":"array","items":{"type":"object","properties":{"contractId":{"type":"string","minLength":1,"maxLength":255},"createdEventBlob":{"type":"string","minLength":1},"synchronizerId":{"type":"string","minLength":1,"maxLength":512},"templateId":{"type":"string","minLength":1,"maxLength":255}},"required":["contractId","createdEventBlob","synchronizerId","templateId"],"additionalProperties":false}}},"required":["withdrawalId","commandId","partyId","expiresAt","commands","disclosedContracts"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The request is malformed or failed validation. Codes: `VALIDATION_FAILED`, `AMBIGUOUS_CREDENTIALS`, `SERVICE_ACT_AS_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"Credentials are missing, malformed, expired or revoked. Codes: `AUTHENTICATION_REQUIRED`, `INVALID_AUTHORIZATION_HEADER`, `INVALID_ACCESS_TOKEN`, `SESSION_REVOKED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The credential may not call this route. Codes: `ACCOUNT_RESTRICTED`, `ANONYMOUS_ACCOUNT_NOT_ALLOWED`, `API_KEY_ROUTE_NOT_ALLOWED`, `SERVICE_PARTY_NOT_ALLOWED`, `SERVICE_PRINCIPAL_NOT_ALLOWED`, `SIGNUP_NOT_INVITED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"No such owned withdrawal.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The withdrawal can no longer be cancelled.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"428":{"description":"The signed-in account must accept the current product terms first. Codes: `PRODUCT_LEGAL_ACCEPTANCE_REQUIRED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"A dependency is unavailable or the feature is not enabled on this deployment. Codes: `AUTHENTICATION_UNAVAILABLE`, `AUTHORIZATION_UNAVAILABLE`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"default":{"$ref":"#/components/responses/ApiError"}},"security":[{"bearer":[]}],"summary":"Prepare a wallet-signed cancel of an open withdrawal request.","tags":["deposit balance"]}},"/api/v1/waitlists/nova":{"post":{"operationId":"WaitlistController_requestNova_v1","parameters":[{"$ref":"#/components/parameters/RequestId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string","maxLength":254,"format":"email","pattern":"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},"locale":{"default":"en","type":"string","minLength":2,"maxLength":16},"noticeVersion":{"type":"string","const":"nova-interest-preview-2026-08-05"},"source":{"default":"nova-page","type":"string","enum":["nova-page","profile","settings"]}},"required":["email","locale","noticeVersion","source"],"additionalProperties":false}}}},"responses":{"202":{"description":"A non-enumerating preview acknowledgement.","content":{"application/json":{"schema":{"type":"object","properties":{"accepted":{"type":"boolean","const":true},"dataMode":{"type":"string","const":"simulated"},"delivery":{"type":"string","const":"none"},"disclaimer":{"type":"string"},"noticeVersion":{"type":"string","const":"nova-interest-preview-2026-08-05"},"status":{"type":"string","const":"preview_recorded"}},"required":["accepted","dataMode","delivery","disclaimer","noticeVersion","status"],"additionalProperties":false}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The request is malformed or failed validation. Codes: `VALIDATION_FAILED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"413":{"description":"The request body exceeds the size limit.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/ApiError"}},"security":[],"summary":"Acknowledge Nova interest in isolated product preview.","tags":["waitlists"]}},"/api/v1/client-errors":{"post":{"operationId":"ClientErrorsController_report_v1","parameters":[{"$ref":"#/components/parameters/RequestId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"cfRay":{"type":"string","pattern":"^[0-9a-f]{16}-[A-Z]{3,4}$"},"clientRequestId":{"type":"string","pattern":"^[A-Za-z0-9._:-]{8,128}$"},"digest":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,64}$"},"kind":{"type":"string","enum":["edge_html","edge_413","edge_502","edge_503","edge_504","network","timeout","invalid_json","render_fatal"]},"release":{"type":"string","pattern":"^[A-Za-z0-9._-]{1,64}$"},"requestId":{"type":"string","pattern":"^[A-Za-z0-9._:-]{8,128}$"},"route":{"type":"string","pattern":"^\\/[A-Za-z0-9/_.:~[\\]-]{0,199}$"},"status":{"type":"integer","minimum":0,"maximum":599}},"required":["kind","route","status"],"additionalProperties":false}}}},"responses":{"204":{"description":"Recorded (or deduplicated).","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"400":{"description":"The request is malformed or failed validation. Codes: `VALIDATION_FAILED`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"413":{"description":"The request body exceeds the size limit.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"default":{"$ref":"#/components/responses/ApiError"}},"security":[],"summary":"Report a browser-side edge or fatal failure the API never saw.","tags":["client-errors"]}}},"info":{"title":"Supanova Superapp API","description":"Product APIs for Supanova wallet, swap, launch and activity experiences.","version":"2026-08-17.2","contact":{},"license":{"identifier":"LicenseRef-Proprietary","name":"Proprietary"}},"tags":[],"servers":[{"url":"/","description":"Current API origin"},{"url":"https://{apiHost}","description":"Absolute origin for code generators and API clients.","variables":{"apiHost":{"default":"launch-api.example","description":"Placeholder: replace with your deployment API hostname. The production hostname is published with the mainnet release."}}}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"Privy access token","type":"http","description":"Short-lived customer access token from the provider advertised by app-config. Hosted customer deployments use Privy; Supabase is migration-only when explicitly configured. On the local and devnet stages only, an OAuth client-credentials token from the validator is also accepted for allow-listed service principals (load tests): it must name its acting Party in the `X-Service-Act-As` header and is refused with 403 `SERVICE_PRINCIPAL_NOT_ALLOWED` by routes that need a product account. Configuration refuses this path on mainnet."},"apiKey":{"type":"apiKey","in":"header","name":"X-API-Key","description":"Customer API key in the `X-API-Key` header: `sn_live_<id>_<secret>` on mainnet, `sn_test_<id>_<secret>` elsewhere, where `<id>` (the `keyId`) matches `^[a-z2-7]{12}$`. Created by a signed-in user (`POST /api/v1/me/api-keys`); a key acts as the profile that created it.\n\nA key is accepted only on operations that declare `x-api-key-scope`, and it must hold that scope: `read` (every key) or `trade` (opt-in). Every other authenticated route answers 403 `API_KEY_ROUTE_NOT_ALLOWED`. Owner routes (wallet, operations, activity, order status) need a customer key; an internal master key has no owner and also answers 403 `API_KEY_ROUTE_NOT_ALLOWED`. Public reads list the key as an optional alternative to anonymous access. Never send `Authorization` and `X-API-Key` together (400 `AMBIGUOUS_CREDENTIALS`); an unknown or revoked key answers 401 on any route.\n\n`trade` operations also need `X-API-Timestamp` (Unix ms), `X-API-Signature`, `Idempotency-Key` and optionally `X-API-Recv-Window`. The signature is Ed25519 over six lines joined by `\\n` (no trailing newline), encoded as unpadded base64url (86 characters):\n\n```\n<X-API-Timestamp>\n<X-API-Recv-Window as sent, or 5000 when absent>\n<HTTP method, upper case>\n<path and query as received, e.g. /api/v1/orders/hosted>\n<Idempotency-Key as sent, or an empty line when absent>\n<lowercase hex SHA-256 of the body bytes; of the empty string when there is no body>\n```\n\nSee docs/integration/API-KEYS.md for the worked example and limits."}},"schemas":{"ApiErrorEnvelope":{"type":"object","additionalProperties":false,"required":["error","requestId"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message"],"properties":{"code":{"type":"string","pattern":"^(?:[A-Z][A-Z0-9_]{2,127}|HTTP_[1-5][0-9]{2})$","description":"Stable machine-readable code. Clients map known codes and retain a safe unknown-code fallback for additive server releases. Deprecated aliases (`x-supanova-error-code-aliases`) are no longer returned; clients treat each like the code it maps to for one more release: `IDEMPOTENCY_CONFLICT` is now `IDEMPOTENCY_KEY_CONFLICT` on every write route (an Idempotency-Key reused with a different request).","x-supanova-known-error-codes":["ACCOUNT_CLOSURE_CONFIRMATION_REQUIRED","ACCOUNT_CLOSURE_STEP_UP_NOT_CONFIGURED","ACCOUNT_CLOSURE_UNAVAILABLE","ACCOUNT_RESTRICTED","ACTIVITY_NOT_FOUND","ACTIVITY_PROJECTION_INVALID","ACTIVITY_PROJECTION_NOT_CONFIGURED","ADMIN_ACCESS_REQUIRED","ADMIN_AUDIT_WRITE_FAILED","ADMIN_AUTHORITY_CHANGED","ADMIN_AUTHORIZATION_UNAVAILABLE","ADMIN_CAPABILITY_REQUIRED","ADMIN_CONFLICT_REGISTRY_UNAVAILABLE","ADMIN_MFA_REQUIRED","ADMIN_OUTBOX_WRITE_FAILED","ADMIN_REAUTHENTICATION_REQUIRED","ADMIN_REVIEW_IDEMPOTENCY_CAPACITY_REACHED","ADMIN_ROLE_NOT_AUTHORIZED","ADMIN_ROLE_SELECTION_INVALID","ADMIN_ROLE_SELECTION_REQUIRED","ADMIN_SESSION_REVOKED","AMBIGUOUS_CREDENTIALS","AMM_FEE_ROUNDS_TO_ZERO","AMM_INPUT_OUT_OF_RANGE","AMM_OUTPUT_ROUNDS_TO_ZERO","AMM_SLIPPAGE_EXCEEDED","AMM_TRADE_BELOW_MINIMUM","ANONYMOUS_ACCOUNT_NOT_ALLOWED","API_KEYS_UNAVAILABLE","API_KEY_AUTHORIZATION_EXPIRED","API_KEY_AUTHORIZATION_INVALID","API_KEY_AUTHORIZATION_REQUIRED","API_KEY_AUTHORIZATION_USED","API_KEY_INVALID","API_KEY_IP_NOT_ALLOWED","API_KEY_LIMIT_REACHED","API_KEY_NOT_FOUND","API_KEY_PARTY_NOT_AUTHORIZED","API_KEY_REVOKED","API_KEY_ROUTE_NOT_ALLOWED","API_KEY_SCOPE_REQUIRED","API_KEY_SIGNATURE_INVALID","API_KEY_SIGNING_KEY_INVALID","API_KEY_SIGNING_KEY_REQUIRED","API_KEY_SIGNING_KEY_UNUSED","API_KEY_TIMESTAMP_OUT_OF_WINDOW","APPLICATION_DOCUMENTS_INCOMPLETE","APPLICATION_DOCUMENT_ALREADY_REGISTERED","APPLICATION_DOCUMENT_METADATA_MISMATCH","APPLICATION_DOCUMENT_UPLOAD_NOT_FOUND","APPLICATION_EVIDENCE_NOT_CLEARED","APPLICATION_INCOMPLETE","APPLICATION_LOCKED","APPLICATION_NOT_FOUND","APPLICATION_STATE_CHANGED","APPLICATION_SUBMISSION_EVIDENCE_MISSING","AUTHENTICATION_REQUIRED","AUTHENTICATION_UNAVAILABLE","AUTHORIZATION_UNAVAILABLE","AUTH_HYBRID_MIGRATION_EXPIRED","AUTH_PREVIEW_IDENTITY_CAPACITY_REACHED","AVATAR_AUTH_PROVIDER_UNSUPPORTED","AVATAR_CLEANUP_AUTH_REQUIRED","AVATAR_DELETION_FAILED","AVATAR_PATH_INVALID","AVATAR_UPLOAD_INVALID","AVATAR_UPLOAD_NOT_FOUND","BAD_ECONOMICS","BAD_FEE_CONFIG","BAD_SUPPLY","CANTON_PREVIEW_CAPACITY_REACHED","CANTON_UNAVAILABLE","CATALOG_PROJECTION_NOT_CONFIGURED","COMMITMENT_OUTSIDE_LIMITS","CONTROL_REVIEWS_REQUIRED","CREATOR_PROJECTION_NOT_CONFIGURED","CREATOR_REWARD_PARTY_SOURCE_MISMATCH","CRITICAL_RISK_UNRESOLVED","CURVE_030_FEATURE_DISABLED","CURVE_ALREADY_GRADUATED","CURVE_BUY_EXCEEDS_GRADUATION","CURVE_BUY_STRANDS_GRADUATION","CURVE_FEE_ROUNDS_TO_ZERO","CURVE_GRADUATION_NOT_REACHED","CURVE_MIN_CC_OUT_NOT_MET","CURVE_MIN_TOKEN_OUT_NOT_MET","CURVE_OUTPUT_ROUNDS_TO_ZERO","CURVE_SELL_EXCEEDS_SOLD_TOKENS","CURVE_SELL_STRANDS_RESIDUAL","CURVE_TOKEN_AMOUNT_OUT_OF_RANGE","CURVE_TRADE_BELOW_MINIMUM","CUSTOM_AVATAR_NOT_FOUND","CUSTOM_AVATAR_NOT_PUBLISHED","CUSTOM_AVATAR_UPLOAD_NOT_CONFIGURED","DATABASE_UNAVAILABLE","DA_CONFIGURATION_FAILED","DEPOSIT_BALANCE_STALE","DEPOSIT_FROZEN","DEPOSIT_INSTRUCTIONS_NOT_CONFIGURED","DEPOSIT_INSUFFICIENT_BALANCE","DEPOSIT_INSUFFICIENT_FUNDS","DEPOSIT_LEDGER_SHARD_UNAVAILABLE","DEPOSIT_NOT_FOUND","DEPOSIT_REFERENCE_REUSED","DOCUMENT_ACCESS_CONFLICT_OF_INTEREST","DOCUMENT_APPLICATION_NOT_REVIEWABLE","DOCUMENT_DOWNLOAD_GRANT_STATE_CHANGED","DOCUMENT_NOT_CLEARED","DOCUMENT_NOT_CURRENT_SUBMISSION","DOCUMENT_NOT_FOUND","DOCUMENT_PURPOSE_NOT_AUTHORIZED","DOCUMENT_UPLOAD_AUTH_PROVIDER_UNSUPPORTED","DOCUMENT_UPLOAD_QUOTA_EXCEEDED","FEE_CHANGE_COOLDOWN","FEE_CLAIM_INTENT_CONFLICT","FEE_CLAIM_INTENT_NOT_FOUND","FEE_CLAIM_NOT_CREATOR","FEE_STEP_TOO_LARGE","FINAL_APPROVAL_STATE_INVALID","GOVERNED_ISSUER_WORKFLOW_NOT_RELEASED","HANDLE_UNAVAILABLE","HISTORY_BUSY","HOLDINGS_FRAGMENTED","IDEMPOTENCY_CONFLICT","IDEMPOTENCY_KEY_CONFLICT","IDEMPOTENCY_KEY_REQUIRED","INSTRUMENT_NOT_HELD","INSUFFICIENT_PREVIEW_BALANCE","INTERACTIVE_SESSION_REQUIRED","INTERNAL_ERROR","INVALID_ACCESS_TOKEN","INVALID_APPLICATION_STATE","INVALID_AUTHORIZATION_HEADER","INVALID_CURSOR","INVALID_IDEMPOTENCY_KEY","INVALID_MOCK_USER","INVALID_OPERATION_STATE","INVALID_SUBMISSION_EVIDENCE","INVALID_WITHDRAWAL_STATE","LAUNCH_APPLICATION_PREVIEW_CAPACITY_REACHED","LAUNCH_MEDIA_ANIMATION_UNSUPPORTED","LAUNCH_MEDIA_CONTENT_MISMATCH","LAUNCH_MEDIA_DESCRIPTOR_MISMATCH","LAUNCH_MEDIA_DIGEST_MISMATCH","LAUNCH_MEDIA_DIMENSIONS_UNSAFE","LAUNCH_MEDIA_FILE_REQUIRED","LAUNCH_MEDIA_ICON_TOO_SMALL","LAUNCH_MEDIA_INVALID_IMAGE","LAUNCH_MEDIA_MALWARE_DETECTED","LAUNCH_MEDIA_NOT_FOUND","LAUNCH_MEDIA_NOT_PUBLISHED","LAUNCH_MEDIA_PIPELINE_NOT_CONFIGURED","LAUNCH_MEDIA_PREVIEW_CAPACITY_REACHED","LAUNCH_MEDIA_REJECTED","LAUNCH_MEDIA_ROLE_MISMATCH","LAUNCH_MEDIA_SCAN_UNAVAILABLE","LAUNCH_MEDIA_STORAGE_UNAVAILABLE","LAUNCH_MEDIA_TOO_LARGE","LAUNCH_MEDIA_TYPE_UNSUPPORTED","LAUNCH_MEDIA_UPLOAD_CONSUMED","LAUNCH_MEDIA_UPLOAD_EXPIRED","LAUNCH_MEDIA_UPLOAD_NOT_FOUND","LAUNCH_NOT_FOUND","LAUNCH_NOT_OPEN","LAUNCH_PARTICIPATION_ADAPTER_NOT_CONFIGURED","LEDGER_APPLICATION_PARTY_NOT_CONFIGURED","LEDGER_CONTRACT_STALE","LEDGER_CURVE_PACKAGE_NOT_PINNED","LEDGER_MARKET_NOT_FOUND","LEDGER_MARKET_SNAPSHOT_INVALID","LEDGER_PARTY_NOT_HOSTED","LEDGER_PREPARATION_EXPIRED","LEDGER_PREPARATION_FAILED","LEDGER_READ_FAILED","LEDGER_REGISTRAR_MISSING","LEDGER_ROUTE_NOT_SUPPORTED","LEDGER_SUBMISSION_REJECTED","LEDGER_UNAVAILABLE","MARKET_ASSET_NOT_FOUND","MARKET_BLOCK_NOT_FOUND","MARKET_BLOCK_RANGE_TOO_LARGE","MARKET_DATA_API_KEY_INVALID","MARKET_DATA_API_KEY_REQUIRED","MARKET_DATA_DISABLED","MARKET_EXCHANGE_NOT_FOUND","MARKET_GRADUATION_IN_PROGRESS","MARKET_PAIR_NOT_FOUND","MEDIA_NOT_FOUND","MEDIA_NOT_PUBLISHED","MINIMUM_ALLOCATION_UNAVAILABLE","MISSION_CONTROL_CATEGORY_INVALID","MISSION_CONTROL_FEE_POLICY_INVALID","MISSION_CONTROL_IDEMPOTENCY_CAPACITY_REACHED","MISSION_CONTROL_LAUNCH_EXISTS","MISSION_CONTROL_LAUNCH_NOT_FOUND","MISSION_CONTROL_NO_CHANGE","MISSION_CONTROL_PRICE_INVALID","MISSION_CONTROL_PROJECTION_UNAVAILABLE","MISSION_CONTROL_REASON_REQUIRED","MISSION_CONTROL_TAG_INVALID","MISSION_CONTROL_TAXONOMY_EXISTS","MISSION_CONTROL_TAXONOMY_IMMUTABLE","MISSION_CONTROL_TAXONOMY_IN_USE","MISSION_CONTROL_TAXONOMY_NOT_FOUND","MISSION_CONTROL_USER_NOT_FOUND","MISSION_CONTROL_VERSION_CONFLICT","MOCK_IDENTITY_SELECTION_NOT_ALLOWED","NOTHING_TO_CLAIM","NOT_FOUND","NOVA_WAITLIST_NOT_ENABLED","NOVA_WAITLIST_PREVIEW_CAPACITY_REACHED","OPENING_BUY_EXCEEDS_CURVE","OPENING_BUY_FEE_ROUNDS_TO_ZERO","OPENING_BUY_ROUNDING_UNREPRESENTABLE","OPENING_BUY_STRANDS_GRADUATION","OPENING_BUY_TOO_SMALL","OPERATION_EXPIRED","OPERATION_EXPIRY_MISSING","OPERATION_NOT_FOUND","OPERATION_PROJECTION_INVALID","OPERATION_STATE_CHANGED","ORDER_NOT_OPEN","POINTS_PROGRAM_NOT_CONFIGURED","POOL_PAUSED","POSITION_PROJECTION_NOT_CONFIGURED","PREPARE_EXPIRED","PREVIEW_CONFIRMATION_REQUIRED","PREVIEW_IDENTITY_CAPACITY_EXCEEDED","PREVIEW_MARKET_INSTRUMENT_NOT_FOUND","PREVIEW_MARKET_SNAPSHOT_INVALID","PREVIEW_OPERATION_CAPACITY_REACHED","PREVIEW_WALLET_CHALLENGE_CAPACITY_REACHED","PREVIEW_WALLET_CONNECTION_CAPACITY_REACHED","PREVIEW_WALLET_FIXTURE_REQUIRED","PRODUCT_ACCOUNT_RESTRICTED","PRODUCT_LEGAL_ACCEPTANCE_REQUIRED","PRODUCT_LEGAL_ACCEPTANCE_UNAVAILABLE","PRODUCT_LEGAL_POLICY_MISMATCH","PROFILE_NOT_FOUND","PROFILE_VERSION_CONFLICT","PROJECT_SLUG_UNAVAILABLE","QUEUE_UNAVAILABLE","QUOTE_EXPIRED","QUOTE_NOT_FOUND","QUOTE_VENUE_CHANGED","QUOTE_WALLET_CHANGED","QUOTE_WALLET_MISMATCH","RATE_LIMITED","RATE_LIMITER_UNAVAILABLE","RECIPIENT_IS_SENDER","REDIS_UNAVAILABLE","REPREPARE_REQUIRED","REQUEST_DEADLINE_EXCEEDED","RESPONSE_SCHEMA_VIOLATION","REVIEW_CONFLICT_OF_INTEREST","REVIEW_DECISION_NOT_AUTHORIZED","REVIEW_KIND_NOT_AUTHORIZED","SCANNER_UNAVAILABLE","SERVICE_ACT_AS_REQUIRED","SERVICE_PARTY_NOT_ALLOWED","SERVICE_PRINCIPAL_BIND_UNAVAILABLE","SERVICE_PRINCIPAL_NOT_ALLOWED","SESSION_REVOCATION_PROVIDER_UNSUPPORTED","SESSION_REVOCATION_UNAVAILABLE","SESSION_REVOKED","SIGNUP_ALLOWLIST_ADMIN_KEY_REQUIRED","SIGNUP_ALLOWLIST_UNAVAILABLE","SIGNUP_NOT_INVITED","STORAGE_CALLER_AUTH_UNAVAILABLE","STORAGE_INSPECTION_FAILED","STORAGE_SIGNING_FAILED","STORAGE_UNAVAILABLE","SUPERAPP_ACTIVITY_PROJECTION_NOT_CONFIGURED","SUPERAPP_MARKET_PROJECTION_NOT_CONFIGURED","SWAP_CURVE_CAPACITY_EXCEEDED","SWAP_MINIMUM_OUTPUT_NOT_MET","SWAP_OUTPUT_ROUNDS_TO_ZERO","SWAP_QUOTE_ADAPTER_NOT_CONFIGURED","SWAP_QUOTE_ALREADY_BOUND","SWAP_QUOTE_AMOUNT_OUT_OF_RANGE","SWAP_QUOTE_INVALID","SWAP_QUOTE_MODEL_CHANGED","SWAP_QUOTE_PREVIEW_CAPACITY_REACHED","SWAP_QUOTE_UNPRICEABLE","SWAP_SELL_EXCEEDS_RELEASED_TOKENS","SWAP_SELL_STRANDS_RESIDUAL","SWAP_TRADE_BELOW_MINIMUM","TICKER_INVALID","TICKER_RESERVATION_MISMATCH","TICKER_TAKEN","TOKEN_LAUNCH_ADAPTER_NOT_CONFIGURED","TOKEN_LAUNCH_CREATION_FEE_CHANGED","TOKEN_LAUNCH_CREATION_FEE_NOT_SUPPORTED","TOKEN_LAUNCH_CREATION_FEE_UNSET","TOKEN_LAUNCH_INSUFFICIENT_BALANCE","TOKEN_LAUNCH_OPENING_BUY_NOT_SUPPORTED","TOKEN_LAUNCH_PERMIT_EXPIRED","TOKEN_LAUNCH_PERMIT_NOT_FOUND","TOKEN_LAUNCH_QUOTE_ALREADY_BOUND","TOKEN_LAUNCH_QUOTE_EXPIRED","TOKEN_LAUNCH_QUOTE_INTEGRITY_FAILED","TOKEN_LAUNCH_QUOTE_MODEL_CHANGED","TOKEN_LAUNCH_QUOTE_NOT_FOUND","TOKEN_LAUNCH_QUOTE_PREVIEW_CAPACITY_REACHED","TOKEN_LAUNCH_RECORD_INVALID","TOKEN_LAUNCH_REGISTRAR_NOT_FOUND","TOKEN_LAUNCH_REGISTRAR_TERMS_INVALID","TOKEN_LAUNCH_REQUEST_EXPIRED","TOKEN_LAUNCH_REQUEST_NOT_FOUND","TOKEN_LAUNCH_SUPPLY_INVALID","TOKEN_LAUNCH_SUPPLY_NOT_ALLOWED","TOKEN_LAUNCH_SUPPLY_SELECTION_NOT_ENABLED","TOKEN_LAUNCH_WALLET_CONTEXT_CHANGED","TOKEN_NOT_FOUND","TOKEN_WALLET_METADATA_NOT_FOUND","TRADE_INTENT_NOT_FOUND","TRADING_REFERRALS_UNAVAILABLE","TRADING_REFERRAL_NOT_FOUND","UNSAFE_AUTH_CONFIGURATION","UNSAFE_MOCK_NETWORK","UNSAFE_PREVIEW_WALLET_VERIFIER","UPLOAD_INTENT_EXPIRED","UPLOAD_INTENT_NOT_FOUND","UPLOAD_INTENT_STATE_CHANGED","USD_CANDLES_NOT_CONFIGURED","USERNAME_CHANGE_COOLDOWN","USERNAME_CHANGE_LIMIT_REACHED","USERNAME_IMMUTABLE","USERNAME_RESERVED","USERNAME_UNAVAILABLE","VALIDATION_FAILED","VALUATION_ACCOUNT_MISMATCH","WALLET_BINDING_RIGHTS_UNAVAILABLE","WALLET_CHALLENGE_ALREADY_USED","WALLET_CHALLENGE_EXPIRED","WALLET_CHALLENGE_INVALID","WALLET_CONNECTION_INVALID","WALLET_CONNECTION_NOT_FOUND","WALLET_CONNECTION_RACE","WALLET_NETWORK_CONFLICT","WALLET_NOT_OWNED","WALLET_ORIGIN_INVALID","WALLET_ORIGIN_NOT_ALLOWED","WALLET_ORIGIN_REQUIRED","WALLET_PARTY_ALREADY_CONNECTED","WALLET_PARTY_BINDING_LOCKED","WALLET_PARTY_NOT_BINDABLE","WALLET_PARTY_NOT_HOSTED","WALLET_PROJECTION_INCOMPLETE","WALLET_PROJECTION_NOT_CONFIGURED","WALLET_REPORT_CONFLICT","WALLET_SIGNATURE_INVALID","WALLET_SIGNATURE_VERIFIER_NOT_CONFIGURED","WITHDRAWAL_MEMO_INVALID","WITHDRAWAL_NOT_FOUND","WITHDRAWAL_PAYOUT_STARTED","WORKFORCE_IDENTITY_NOT_PROVISIONED","WORKFORCE_IDENTITY_REQUIRED"],"x-supanova-error-code-aliases":{"IDEMPOTENCY_CONFLICT":"IDEMPOTENCY_KEY_CONFLICT"},"x-supanova-unknown-code-policy":"A newer additive code must render a generic safe failure with requestId; never branch on message text."},"details":{},"message":{"type":"string"}}},"requestId":{"type":"string","description":"Server-generated authoritative request correlation identifier.","minLength":8,"maxLength":128,"pattern":"^[A-Za-z0-9._:-]+$"}}},"DextoolsError":{"type":"object","additionalProperties":false,"required":["code","message","issues"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"issues":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["message"],"properties":{"code":{"type":"string"},"param":{"type":"string"},"message":{"type":"string"}}}}}}},"parameters":{"ServiceActAs":{"name":"X-Service-Act-As","in":"header","required":false,"description":"Service-principal path only (local and devnet stages; refused by configuration on mainnet). With an OAuth client-credentials bearer token from the validator, names the allow-listed Party the client acts as. Missing: 400 `SERVICE_ACT_AS_REQUIRED`; not allow-listed: 403 `SERVICE_PARTY_NOT_ALLOWED`. Ignored for customer session tokens.","schema":{"type":"string","minLength":3,"maxLength":512}},"ApiKeyTimestamp":{"name":"X-API-Timestamp","in":"header","required":false,"description":"Required with `X-API-Key` on `trade` operations: Unix time in milliseconds (13 digits), at most 1 s ahead of the server and no older than the receive window.","schema":{"type":"string","pattern":"^[0-9]{13}$"}},"ApiKeyRecvWindow":{"name":"X-API-Recv-Window","in":"header","required":false,"description":"Optional with `X-API-Key` on `trade` operations: signature validity window in milliseconds (default 5000, maximum 60000). It is part of the signed string.","schema":{"type":"string","pattern":"^[0-9]{1,5}$"}},"ApiKeySignature":{"name":"X-API-Signature","in":"header","required":false,"description":"Required with `X-API-Key` on `trade` operations: Ed25519 signature, unpadded base64url (86 characters), of the canonical string (see the `apiKey` security scheme).","schema":{"type":"string","pattern":"^[A-Za-z0-9_-]{86}$"}},"RequestId":{"description":"Optional client correlation identifier. The server always generates a separate authoritative request ID and retains a valid supplied value only as secondary audit correlation metadata.","in":"header","name":"X-Request-Id","required":false,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[A-Za-z0-9._:-]+$"}}},"responses":{"ApiError":{"description":"Machine-readable API error. The HTTP status identifies the error class.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"RateLimited":{"description":"The caller exceeded an IP or principal request budget.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/RetryAfter"},"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"DextoolsError":{"description":"DexTools http-adapter error body.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DextoolsError"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}},"DextoolsRateLimited":{"description":"The caller exceeded the market-data request budget.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DextoolsError"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/RetryAfter"},"X-Request-Id":{"$ref":"#/components/headers/RequestId"}}}},"headers":{"RequestId":{"description":"Server-generated request correlation identifier to retain for support and reconciliation.","schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[A-Za-z0-9._:-]+$"}},"RetryAfter":{"description":"Whole seconds to wait before retrying a rate-limited request.","schema":{"type":"integer","minimum":0}}}},"security":[{"bearer":[]}]}