supanovasupanovaDOCS
Open Launchpad
Launchpad documentation
swaps

Create a short-lived preview quote.

POST /api/v1/swaps/quote. Create a short-lived preview quote.

Request

POST /api/v1/swaps/quote

Authentication is required. Supported credentials: a customer API key with trade scope in X-API-Key or a signed-in customer session token in Authorization: Bearer …. Send one credential type only; never both. API-key requests also require the Ed25519 headers described in request signing, and the key must be authorized for the selected Party.

Parameters

NameInTypeRequiredConstraintsDescription
X-Service-Act-AsheaderstringNomin length: 3; max length: 512Service-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.
X-API-TimestampheaderstringNopattern: ^[0-9]{13}$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.
X-API-Recv-WindowheaderstringNopattern: ^[0-9]{1,5}$Optional with X-API-Key on trade operations: signature validity window in milliseconds (default 5000, maximum 60000). It is part of the signed string.
X-API-SignatureheaderstringNopattern: ^[A-Za-z0-9_-]{86}$Required with X-API-Key on trade operations: Ed25519 signature, unpadded base64url (86 characters), of the canonical string (see the apiKey security scheme).
X-Request-IdheaderstringNomin length: 8; max length: 128; pattern: ^[A-Za-z0-9._:-]+$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.

Request body

A body is required.

Content type: application/json

Type: object.

FieldTypeRequiredConstraintsDescription
buyInstrumentobject · Schema 1Yes——
sellAmountstringYespattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$—
sellInstrumentobject · Schema 1Yes——
slippageBpsintegerNominimum: 1; maximum: 5000; default: 100—
walletConnectionIdstringYesformat: 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)$—
allowPartialFillbooleanNo——

Additional fields are not allowed.

Send a signed request

Use the signed POST helper with this exact API path and the body declared above. It serializes and signs the same bytes it sends. Preserve the idempotency key and payload for a retry; create a fresh timestamp and signature.

A raw unsigned API-key request will be rejected. For the distinction between a request signature and a ledger signature, read the order flow.

Responses

201

A simulated, short-lived preview quote.

HeaderTypeDescription
X-Request-IdstringServer-generated request correlation identifier to retain for support and reconciliation.

Content type: application/json

Type: one or more variants.

At least one of these variants must match:

400

The request is malformed or failed validation. Codes: VALIDATION_FAILED, AMBIGUOUS_CREDENTIALS, SERVICE_ACT_AS_REQUIRED.

HeaderTypeDescription
X-Request-IdstringServer-generated request correlation identifier to retain for support and reconciliation.

Content type: application/json

Standard envelope: error.code, error.message, optional error.details, and requestId. See error handling and the full code registry.

401

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.

HeaderTypeDescription
X-Request-IdstringServer-generated request correlation identifier to retain for support and reconciliation.

Content type: application/json

Standard envelope: error.code, error.message, optional error.details, and requestId. See error handling and the full code registry.

403

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.

HeaderTypeDescription
X-Request-IdstringServer-generated request correlation identifier to retain for support and reconciliation.

Content type: application/json

Standard envelope: error.code, error.message, optional error.details, and requestId. See error handling and the full code registry.

409

The market is graduating: MARKET_GRADUATION_IN_PROGRESS.

HeaderTypeDescription
X-Request-IdstringServer-generated request correlation identifier to retain for support and reconciliation.

Content type: application/json

Standard envelope: error.code, error.message, optional error.details, and requestId. See error handling and the full code registry.

413

The request body exceeds the size limit.

HeaderTypeDescription
X-Request-IdstringServer-generated request correlation identifier to retain for support and reconciliation.

Content type: application/json

Standard envelope: error.code, error.message, optional error.details, and requestId. See error handling and the full code registry.

422

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.

HeaderTypeDescription
X-Request-IdstringServer-generated request correlation identifier to retain for support and reconciliation.

Content type: application/json

Standard envelope: error.code, error.message, optional error.details, and requestId. See error handling and the full code registry.

428

The signed-in account must accept the current product terms first. Codes: PRODUCT_LEGAL_ACCEPTANCE_REQUIRED.

HeaderTypeDescription
X-Request-IdstringServer-generated request correlation identifier to retain for support and reconciliation.

Content type: application/json

Standard envelope: error.code, error.message, optional error.details, and requestId. See error handling and the full code registry.

429

The caller exceeded an IP or principal request budget.

HeaderTypeDescription
Retry-AfterintegerWhole seconds to wait before retrying a rate-limited request.
X-Request-IdstringServer-generated request correlation identifier to retain for support and reconciliation.

Content type: application/json

Standard envelope: error.code, error.message, optional error.details, and requestId. See error handling and the full code registry.

503

A dependency is unavailable or the feature is not enabled on this deployment. Codes: AUTHENTICATION_UNAVAILABLE, AUTHORIZATION_UNAVAILABLE.

HeaderTypeDescription
X-Request-IdstringServer-generated request correlation identifier to retain for support and reconciliation.

Content type: application/json

Standard envelope: error.code, error.message, optional error.details, and requestId. See error handling and the full code registry.

default

Machine-readable API error. The HTTP status identifies the error class.

HeaderTypeDescription
X-Request-IdstringServer-generated request correlation identifier to retain for support and reconciliation.

Content type: application/json

Standard envelope: error.code, error.message, optional error.details, and requestId. See error handling and the full code registry.

Nested schemas

Field links above lead to the complete nested object, array, and variant definitions below. Required fields are scoped to their containing object.

Schema 1

Request body.buyInstrument

Type: object.

FieldTypeRequiredConstraintsDescription
adminstringYesmin length: 1; max length: 160—
idstringYesmin length: 1; max length: 160—

Additional fields are not allowed.

Schema 2

Response 201 variant 1

Type: object.

FieldTypeRequiredConstraintsDescription
authorityobject · Schema 4Yes——
buyUnitPriceCcstringYespattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$—
buyAmountstringYespattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$—
buyInstrumentobject · Schema 1Yes——
creatorRevenueAllocationsarray of exactly one variant · Schema 5Yesmin items: 1; max items: 2—
execution"simulated"Yes——
expiresAtstringYesformat: 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)))$—
feeobject · Schema 6Yes——
feeLineItemsarray of object · Schema 7Yesmin items: 1; max items: 2—
issuedAtstringYesformat: 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)))$—
minimumBuyAmountstringYespattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$—
networkIdstringYespattern: ^canton:[-_a-zA-Z0-9]{1,32}$—
notionalCcstringYespattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$—
pricingModel"preview-simulation-v2"Yes——
pricingSourceobject · Schema 8Yes——
priceImpactBpsstringYespattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$—
quoteIdstringYesformat: 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)$—
ratestringYespattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$—
sellAmountstringYespattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$—
sellInstrumentobject · Schema 1Yes——
sellUnitPriceCcstringYespattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$—
settlementobject · Schema 9Yes——
slippageBpsintegerYesminimum: 1; maximum: 5000—
routearray of object · Schema 10Yesmin items: 1; max items: 2—
walletobject · Schema 11Yes——

Additional fields are not allowed.

Schema 3

Response 201 variant 2

Type: object.

FieldTypeRequiredConstraintsDescription
authorityobject · Schema 12Yes——
buyAmountstringYespattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$—
buyInstrumentobject · Schema 1Yes——
creatorRevenueAllocationsarray of object · Schema 13Yesmin items: 1; max items: 1—
displayobject · Schema 14Yes——
economicsobject · Schema 15Yes——
execution"simulated"Yes——
expiresAtstringYesformat: 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)))$—
feeobject · Schema 16Yes——
feeCcstringYespattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$—
feeConfigobject · Schema 17Yes——
feeLineItemsarray of object · Schema 18Yesmin items: 1; max items: 1—
issuedAtstringYesformat: 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)))$—
makerFeeCcstringYespattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$—
minimumBuyAmountstringYespattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$—
networkIdstringYespattern: ^canton:[-_a-zA-Z0-9]{1,32}$—
notionalCcstringYespattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$—
platformFeeCcstringYespattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$—
referralFeeCcstringNopattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$—
pricingModel"preview-simulation-v2"Yes——
pricingSourceobject · Schema 19Yes——
quoteIdstringYesformat: 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)$—
routearray of object · Schema 20Yesmin items: 1; max items: 1—
sellAmountstringYespattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$—
sellInstrumentobject · Schema 1Yes——
settlementobject · Schema 21Yes——
slippageBpsintegerYesminimum: 1; maximum: 5000—
totalSupplystringYespattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$—
walletobject · Schema 11Yes——
allowPartialFillbooleanNo——
fillstringNoallowed: "full", "partial"—
grossCcUsedone or more variants · Schema 22No——
unspentCcstringNopattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$—
graduatesbooleanNo——
limitTokenOutstringNopattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$—

Additional fields are not allowed.

Schema 4

Response 201 variant 1.authority

Type: object.

FieldTypeRequiredConstraintsDescription
expiresAtstringYesformat: 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)))$—
legsarray of exactly one variant · Schema 23Yesmin items: 1; max items: 2—
networkIdstringYespattern: ^canton:[-_a-zA-Z0-9]{1,32}$—
policyobject · Schema 24Yes——
replayobject · Schema 25Yes——
synchronizerIdstringYesmin length: 1; max length: 160—

Additional fields are not allowed.

Schema 5

Response 201 variant 1.creatorRevenueAllocations

Type: array of exactly one variant.

min items: 1; max items: 2

Array items: exactly one variant · Schema 26.

Schema 6

Response 201 variant 1.fee

Type: object.

FieldTypeRequiredConstraintsDescription
amountstringYespattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$—
assetobject · Schema 1Yes——
policy"preview-only-unfinalized"Yes——

Additional fields are not allowed.

Schema 7

Response 201 variant 1.feeLineItems

Type: array of object.

min items: 1; max items: 2

Array items: object · Schema 27.

Schema 8

Response 201 variant 1.pricingSource

Type: object.

FieldTypeRequiredConstraintsDescription
asOfstringYesformat: 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)))$—
dataModestringYesallowed: "projected", "simulated"—
labelstringYesallowed: "canton-ledger-acs", "superapp-market-preview-snapshot"—

Additional fields are not allowed.

Schema 9

Response 201 variant 1.settlement

Type: object.

FieldTypeRequiredConstraintsDescription
deadlinestringYesformat: 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"atomic-dvp"Yes——
readinessstringYesallowed: "daml-command-builder-not-configured", "ready"—

Additional fields are not allowed.

Schema 10

Response 201 variant 1.route

Type: array of object.

min items: 1; max items: 2

Array items: object · Schema 28.

Schema 11

Response 201 variant 1.wallet

Type: object.

FieldTypeRequiredConstraintsDescription
connectionIdstringYesformat: 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)$—
partyIdstringYesmin length: 1; max length: 512—

Additional fields are not allowed.

Schema 12

Response 201 variant 2.authority

Type: object.

FieldTypeRequiredConstraintsDescription
expiresAtstringYesformat: 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)))$—
legsarray of exactly one variant · Schema 29Yesmin items: 1; max items: 1—
networkIdstringYespattern: ^canton:[-_a-zA-Z0-9]{1,32}$—
policyobject · Schema 30Yes——
replayobject · Schema 25Yes——
synchronizerIdstringYesmin length: 1; max length: 160—

Additional fields are not allowed.

Schema 13

Response 201 variant 2.creatorRevenueAllocations

Type: array of object.

min items: 1; max items: 1

Array items: object · Schema 31.

Schema 14

Response 201 variant 2.display

Type: object.

FieldTypeRequiredConstraintsDescription
averagePriceCcPerTokenstringYespattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,40})?$—
graduationPercentAfterone or more variants · Schema 32Yes——
kind"display-only"Yes——
priceAfterCcPerTokenstringYespattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,40})?$—
priceAfterPerMillionTokensCcstringYespattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,40})?$—
priceBeforeCcPerTokenstringYespattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,40})?$—
priceBeforePerMillionTokensCcstringYespattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,40})?$—
priceImpactBpsstringYespattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,40})?$—
pricePerMillionTokensCcstringYespattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,40})?$—
ratestringYespattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,40})?$—
significantDigits12Yes——

Additional fields are not allowed.

Schema 15

Response 201 variant 2.economics

Type: object.

FieldTypeRequiredConstraintsDescription
curveAllocationBpsintegerYesminimum: 5001; maximum: 9999—
graduationNetCcstringYespattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$—
maxFeeBpsintegerYesminimum: 0; maximum: 5000—
minFeeClaimCcstringYespattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$—

Additional fields are not allowed.

Schema 16

Response 201 variant 2.fee

Type: object.

FieldTypeRequiredConstraintsDescription
amountstringYespattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$—
assetobject · Schema 1Yes——
policy"ledger-pool-fee-config"Yes——

Additional fields are not allowed.

Schema 17

Response 201 variant 2.feeConfig

Type: object.

FieldTypeRequiredConstraintsDescription
feeBpsintegerYesminimum: 0; maximum: 10000—
platformShareBpsintegerYesminimum: 0; maximum: 10000—

Additional fields are not allowed.

Schema 18

Response 201 variant 2.feeLineItems

Type: array of object.

min items: 1; max items: 1

Array items: object · Schema 27.

Schema 19

Response 201 variant 2.pricingSource

Type: object.

FieldTypeRequiredConstraintsDescription
asOfstringYesformat: 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"projected"Yes——
label"canton-ledger-acs"Yes——

Additional fields are not allowed.

Schema 20

Response 201 variant 2.route

Type: array of object.

min items: 1; max items: 1

Array items: object · Schema 28.

Schema 21

Response 201 variant 2.settlement

Type: object.

FieldTypeRequiredConstraintsDescription
deadlinestringYesformat: 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"atomic-dvp"Yes——
readiness"ready"Yes——

Additional fields are not allowed.

Schema 22

Response 201 variant 2.grossCcUsed

Type: one or more variants.

At least one of these variants must match:

  • Variant 1: string. pattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$
  • Variant 2: null.

Schema 23

Response 201 variant 1.authority.legs

Type: array of exactly one variant.

min items: 1; max items: 2

Array items: exactly one variant · Schema 33.

Schema 24

Response 201 variant 1.authority.policy

Type: object.

FieldTypeRequiredConstraintsDescription
hash"sha256:1c1bcf37c26e0c4c84af752e9f76447a82f8b22ba8c851f1cf070eccc43f548e"Yes——
snapshotobject · Schema 34Yes——
version"3"Yes——

Additional fields are not allowed.

Schema 25

Response 201 variant 1.authority.replay

Type: object.

FieldTypeRequiredConstraintsDescription
digeststringYespattern: ^sha256:[0-9a-f]{64}$—
domain"supanova.swap.quote.v2"Yes——

Additional fields are not allowed.

Schema 26

Response 201 variant 1.creatorRevenueAllocations item

Type: exactly one variant.

Exactly one of these variants must match:

Schema 27

Response 201 variant 1.feeLineItems item

Type: object.

FieldTypeRequiredConstraintsDescription
amountstringYespattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$—
instrumentobject · Schema 1Yes——
kind"trading"Yes——
labelstringYesmin length: 1; max length: 120—

Additional fields are not allowed.

Schema 28

Response 201 variant 1.route item

Type: object.

FieldTypeRequiredConstraintsDescription
payInstrumentobject · Schema 1Yes——
receiveInstrumentobject · Schema 1Yes——
venuestringYesallowed: "canton-dex", "launch-curve"—

Additional fields are not allowed.

Schema 29

Response 201 variant 2.authority.legs

Type: array of exactly one variant.

min items: 1; max items: 1

Array items: exactly one variant · Schema 37.

Schema 30

Response 201 variant 2.authority.policy

Type: object.

FieldTypeRequiredConstraintsDescription
hash"sha256:453dec0f4f64164e6c89bd4fcf9303eafeadd133ca9e119acc5fd6fa694957c2"Yes——
snapshotany valueYes——
version"4"Yes——

Additional fields are not allowed.

Schema 31

Response 201 variant 2.creatorRevenueAllocations item

Type: object.

FieldTypeRequiredConstraintsDescription
basisAmountCcstringYespattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$—
creatorRevenueCcstringYespattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$—
eligibility"eligible"Yes——
grossRevenueCcstringYespattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$—
launchIdstringYesmin length: 1; max length: 160—
marketReferencestringYesmin length: 1; max length: 160—
policyobject · Schema 38Yes——
protocolRevenueCcstringYespattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$—
protocolRootIdstringYesmin length: 1; max length: 160—
routeLegCount1Yes——
routeLegIndex0Yes——
sourcestringYesallowed: "curve-trading-fee", "amm-trading-fee"—
tokenInstrumentobject · Schema 1Yes——

Additional fields are not allowed.

Schema 32

Response 201 variant 2.display.graduationPercentAfter

Type: one or more variants.

At least one of these variants must match:

  • Variant 1: string. pattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,40})?$
  • Variant 2: null.

Schema 33

Response 201 variant 1.authority.legs item

Type: exactly one variant.

Exactly one of these variants must match:

Schema 34

Response 201 variant 1.authority.policy.snapshot

Type: object.

FieldTypeRequiredConstraintsDescription
ammobject · Schema 42Yes——
curveobject · Schema 43Yes——
creatorRevenueobject · Schema 44Yes——
policyId"supanova-swap-quote-policy"Yes——
policyVersion"3"Yes——
quoteobject · Schema 45Yes——

Additional fields are not allowed.

Schema 35

Response 201 variant 1.creatorRevenueAllocations item variant 1

Type: object.

FieldTypeRequiredConstraintsDescription
basisAmountCcstringYespattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$—
creatorRevenueCcstringYespattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$—
eligibility"eligible"Yes——
grossRevenueCcstringYespattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$—
launchIdstringYesmin length: 1; max length: 96—
marketReferencestringYesmin length: 1; max length: 160—
policyobject · Schema 46Yes——
protocolRevenueCcstringYespattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$—
protocolRootIdstringYesmin length: 1; max length: 160—
routeLegCountintegerYesminimum: 1; maximum: 2—
routeLegIndexintegerYesminimum: 0; maximum: 1—
sourcestringYesallowed: "virtual-curve-trading-fee", "supaswap-amm-trading-fee"—
tokenInstrumentobject · Schema 1Yes——

Additional fields are not allowed.

Schema 36

Response 201 variant 1.creatorRevenueAllocations item variant 2

Type: object.

FieldTypeRequiredConstraintsDescription
eligibility"ineligible"Yes——
marketReferencestringYesmin length: 1; max length: 160—
reasonstringYesallowed: "legacy-no-policy", "not-supanova-launch", "trader-cashback"—
routeLegCountintegerYesminimum: 1; maximum: 2—
routeLegIndexintegerYesminimum: 0; maximum: 1—
tokenInstrumentobject · Schema 1Yes——

Additional fields are not allowed.

Schema 37

Response 201 variant 2.authority.legs item

Type: exactly one variant.

Exactly one of these variants must match:

Schema 38

Response 201 variant 2.creatorRevenueAllocations item.policy

Type: object.

FieldTypeRequiredConstraintsDescription
hash"sha256:21c68b457e7684149d484e6bfb378457c36ea188e01187500367a76bf29cbde6"Yes——
id"supanova-creator-revenue-policy"Yes——
version"2"Yes——

Additional fields are not allowed.

Schema 39

Response 201 variant 1.authority.legs item variant 1

Type: object.

FieldTypeRequiredConstraintsDescription
creatorRevenueexactly one variant · Schema 49Yes——
lifecycleEpochstringYespattern: ^(?:0|[1-9]\d{0,18})$—
marketReferencestringYesmin length: 1; max length: 160—
marketRevisionstringYespattern: ^(?:0|[1-9]\d{0,18})$—
nextMarketRevisionstringYespattern: ^(?:0|[1-9]\d{0,18})$—
payInstrumentobject · Schema 1Yes——
receiveInstrumentobject · Schema 1Yes——
securityEpochstringYespattern: ^(?:0|[1-9]\d{0,18})$—
afterobject · Schema 50Yes——
beforeobject · Schema 50Yes——
formulaId"supanova-virtual-cpmm-v1"Yes——
kind"virtual-cpmm"Yes——
lifecycleStagestringYesallowed: "ignition", "near_escape"—
limitsobject · Schema 51Yes——

Additional fields are not allowed.

Schema 40

Response 201 variant 1.authority.legs item variant 2

Type: object.

FieldTypeRequiredConstraintsDescription
creatorRevenueexactly one variant · Schema 49Yes——
lifecycleEpochstringYespattern: ^(?:0|[1-9]\d{0,18})$—
marketReferencestringYesmin length: 1; max length: 160—
marketRevisionstringYespattern: ^(?:0|[1-9]\d{0,18})$—
nextMarketRevisionstringYespattern: ^(?:0|[1-9]\d{0,18})$—
payInstrumentobject · Schema 1Yes——
receiveInstrumentobject · Schema 1Yes——
securityEpochstringYespattern: ^(?:0|[1-9]\d{0,18})$—
afterobject · Schema 52Yes——
beforeobject · Schema 52Yes——
formulaId"supanova-real-cpmm-v1"Yes——
kind"real-cpmm"Yes——
lifecycleStage"in_orbit"Yes——
limitsobject · Schema 53Yes——

Additional fields are not allowed.

Schema 41

Response 201 variant 1.authority.legs item variant 3

Type: object.

FieldTypeRequiredConstraintsDescription
creatorRevenueexactly one variant · Schema 49Yes——
lifecycleEpochstringYespattern: ^(?:0|[1-9]\d{0,18})$—
marketReferencestringYesmin length: 1; max length: 160—
marketRevisionstringYespattern: ^(?:0|[1-9]\d{0,18})$—
nextMarketRevisionstringYespattern: ^(?:0|[1-9]\d{0,18})$—
payInstrumentobject · Schema 1Yes——
receiveInstrumentobject · Schema 1Yes——
securityEpochstringYespattern: ^(?:0|[1-9]\d{0,18})$—
afterobject · Schema 54Yes——
beforeobject · Schema 54Yes——
formulaId"supanova-static-preview-v1"Yes——
kind"static-preview"Yes——
lifecycleStage"in_orbit"Yes——
limitsobject · Schema 53Yes——

Additional fields are not allowed.

Schema 42

Response 201 variant 1.authority.policy.snapshot.amm

Type: object.

FieldTypeRequiredConstraintsDescription
authorizationMaxTtlSeconds900Yes——
feeobject · Schema 55Yes——
formulaId"supanova-real-cpmm-v1"Yes——
goldenManifestDigest"sha256:7fc5b0d592eaf85cb083775101efe73a099b404e6334cd85ac1683ac753626d0"Yes——
invariantobject · Schema 56Yes——
initialRealCcReserve"250000"Yes——
initialRealTokenReserve"200000000"Yes——
lifecycle"atomic-graduation-seed-then-revisioned-real-reserve"Yes——
minimumGrossBuyCc"0.01"Yes——
minimumGrossSellCc"0.0099"Yes——
minimumGrossSellDerivation"gross-cc-from-reserve-before-fee"Yes——
numericScale10Yes——
roundingobject · Schema 57Yes——
rootUniquenessAssumption"participant-inventory-and-submission-policy-required"Yes——
settlementReadiness"external-settlement-adapter-unproven"Yes——

Additional fields are not allowed.

Schema 43

Response 201 variant 1.authority.policy.snapshot.curve

Type: object.

FieldTypeRequiredConstraintsDescription
formulaId"supanova-virtual-cpmm-v1"Yes——
policyHash"sha256:c843cc6204a25e687e40fff5f8033416031fb28d191f40b00e530855d70dd0ce"Yes——

Additional fields are not allowed.

Schema 44

Response 201 variant 1.authority.policy.snapshot.creatorRevenue

Type: object.

FieldTypeRequiredConstraintsDescription
allocationBinding"one-exact-allocation-per-route-leg"Yes——
hash"sha256:a926e0a380b3938648b5fa9898136638e1276128947cf94033e760f87a27e8b2"Yes——
id"supanova-creator-revenue-policy"Yes——
version"1"Yes——

Additional fields are not allowed.

Schema 45

Response 201 variant 1.authority.policy.snapshot.quote

Type: object.

FieldTypeRequiredConstraintsDescription
authorityLegBinding"explicit-pay-and-receive-instruments"Yes——
creatorRevenueLegBinding"exact-launch-lineage-policy-and-allocation-per-leg"Yes——
expirySeconds30Yes——
marketReferenceUniqueness"unique-within-route"Yes——
minimumOutputMaximumQuoted"999999999999999999999999.9999999999"Yes——
minimumOutputRounding"ledger-decimal10-round-down"Yes——
replayDomain"supanova.swap.quote.v2"Yes——
revisionBinding"dynamic-next-equals-current-plus-one;static-next-equals-current"Yes——
singleUsetrueYes——

Additional fields are not allowed.

Schema 46

Response 201 variant 1.creatorRevenueAllocations item variant 1.policy

Type: object.

FieldTypeRequiredConstraintsDescription
hash"sha256:a926e0a380b3938648b5fa9898136638e1276128947cf94033e760f87a27e8b2"Yes——
id"supanova-creator-revenue-policy"Yes——
version"1"Yes——

Additional fields are not allowed.

Schema 47

Response 201 variant 2.authority.legs item variant 1

Type: object.

FieldTypeRequiredConstraintsDescription
creatorRevenueobject · Schema 58Yes——
lifecycleEpochstringYespattern: ^(?:0|[1-9]\d{0,18})$—
marketobject · Schema 59Yes——
marketReferencestringYesmin length: 1; max length: 160—
marketRevisionstringYespattern: ^(?:0|[1-9]\d{0,18})$—
nextMarketRevisionstringYespattern: ^(?:0|[1-9]\d{0,18})$—
payInstrumentobject · Schema 1Yes——
receiveInstrumentobject · Schema 1Yes——
securityEpochstringYespattern: ^(?:0|[1-9]\d{0,18})$—
afterobject · Schema 60Yes——
beforeobject · Schema 60Yes——
formulaId"supanova-virtual-cpmm-v1"Yes——
kind"virtual-cpmm"Yes——
lifecycleStagestringYesallowed: "ignition", "near_escape"—
limitsobject · Schema 51Yes——

Additional fields are not allowed.

Schema 48

Response 201 variant 2.authority.legs item variant 2

Type: object.

FieldTypeRequiredConstraintsDescription
creatorRevenueobject · Schema 58Yes——
lifecycleEpochstringYespattern: ^(?:0|[1-9]\d{0,18})$—
marketobject · Schema 59Yes——
marketReferencestringYesmin length: 1; max length: 160—
marketRevisionstringYespattern: ^(?:0|[1-9]\d{0,18})$—
nextMarketRevisionstringYespattern: ^(?:0|[1-9]\d{0,18})$—
payInstrumentobject · Schema 1Yes——
receiveInstrumentobject · Schema 1Yes——
securityEpochstringYespattern: ^(?:0|[1-9]\d{0,18})$—
afterobject · Schema 61Yes——
beforeobject · Schema 61Yes——
formulaId"supanova-real-cpmm-v1"Yes——
kind"real-cpmm"Yes——
lifecycleStage"in_orbit"Yes——
limitsobject · Schema 53Yes——

Additional fields are not allowed.

Schema 49

Response 201 variant 1.authority.legs item variant 1.creatorRevenue

Type: exactly one variant.

Exactly one of these variants must match:

Schema 50

Response 201 variant 1.authority.legs item variant 1.after

Type: object.

FieldTypeRequiredConstraintsDescription
formulaId"supanova-virtual-cpmm-v1"Yes——
graduatedbooleanYes——
graduationPercentstringYespattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$—
marginalPriceCcPerTokenstringYespattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$—
netCcReservestringYespattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$—
tokensRemainingstringYespattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$—
tokensSoldstringYespattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$—

Additional fields are not allowed.

Schema 51

Response 201 variant 1.authority.legs item variant 1.limits

Type: object.

FieldTypeRequiredConstraintsDescription
exactFinalGrossCcone or more variants · Schema 22Yes——
inputAssetstringYesallowed: "cc", "token"—
maximumInputAmountstringYespattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$—
recoverystringYesallowed: "exact-final-gross-or-smaller-buy", "sell-all-or-leave-at-least-minimum"—

Additional fields are not allowed.

Schema 52

Response 201 variant 1.authority.legs item variant 2.after

Type: object.

FieldTypeRequiredConstraintsDescription
anchorstringYesallowed: "cc-reserve", "initial", "token-reserve"—
ccReservestringYespattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$—
formulaId"supanova-real-cpmm-v1"Yes——
invariantstringYespattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$—
marginalPriceCcPerTokenstringYespattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$—
revisionstringYespattern: ^(?:0|[1-9]\d{0,18})$—
tokenReservestringYespattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$—

Additional fields are not allowed.

Schema 53

Response 201 variant 1.authority.legs item variant 2.limits

Type: object.

FieldTypeRequiredConstraintsDescription
exactFinalGrossCcnullYes——
inputAssetstringYesallowed: "cc", "token"—
maximumInputAmountstringYespattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$—
recovery"refresh-on-revision-change"Yes——

Additional fields are not allowed.

Schema 54

Response 201 variant 1.authority.legs item variant 3.after

Type: object.

FieldTypeRequiredConstraintsDescription
priceCcPerTokenstringYespattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$—
revisionstringYespattern: ^(?:0|[1-9]\d{0,18})$—

Additional fields are not allowed.

Schema 55

Response 201 variant 1.authority.policy.snapshot.amm.fee

Type: object.

FieldTypeRequiredConstraintsDescription
asset"cc"Yes——
buySide"deduct-from-gross-before-cc-enters-pool"Yes——
policy"outside-active-reserves"Yes——
rate"0.01"Yes——
routing"creator-revenue-policy-outside-pool"Yes——
sellSide"deduct-from-gross-cc-after-cc-leaves-pool"Yes——

Additional fields are not allowed.

Schema 56

Response 201 variant 1.authority.policy.snapshot.amm.invariant

Type: object.

FieldTypeRequiredConstraintsDescription
anchor"50000000000000"Yes——
anchorRelation"initial=exact-seed;buy=tokenReserve==round10(k/ccReserve);sell=ccReserve==round10(k/tokenReserve)"Yes——
driftPolicy"reject-any-noncanonical-anchor-relation"Yes——
transition"oppositeReserve=round10(k/nextInputReserve)"Yes——

Additional fields are not allowed.

Schema 57

Response 201 variant 1.authority.policy.snapshot.amm.rounding

Type: object.

FieldTypeRequiredConstraintsDescription
buyGrouping"fee=round10(gross*rate);net=round10(gross-fee);x1=round10(x+net);y1=round10(k/x1);out=round10(y-y1)"Yes——
mode"ledger-decimal10-half-even-per-operation"Yes——
sellGrouping"y1=round10(y+tokenIn);x1=round10(k/y1);gross=round10(x-x1);fee=round10(gross*rate);net=round10(gross-fee)"Yes——

Additional fields are not allowed.

Schema 58

Response 201 variant 2.authority.legs item variant 1.creatorRevenue

Type: object.

FieldTypeRequiredConstraintsDescription
eligibility"eligible"Yes——
launchIdstringYesmin length: 1; max length: 160—
policyobject · Schema 38Yes——
protocolRootIdstringYesmin length: 1; max length: 160—

Additional fields are not allowed.

Schema 59

Response 201 variant 2.authority.legs item variant 1.market

Type: object.

FieldTypeRequiredConstraintsDescription
economicsobject · Schema 15Yes——
feeConfigobject · Schema 17Yes——
totalSupplystringYespattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$—

Additional fields are not allowed.

Schema 60

Response 201 variant 2.authority.legs item variant 1.after

Type: object.

FieldTypeRequiredConstraintsDescription
graduatedbooleanYes——
netCcReservestringYespattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$—
tokensRemainingstringYespattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$—
tokensSoldstringYespattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$—

Additional fields are not allowed.

Schema 61

Response 201 variant 2.authority.legs item variant 2.after

Type: object.

FieldTypeRequiredConstraintsDescription
anchorstringYesallowed: "cc-reserve", "initial", "token-reserve"—
ccReservestringYespattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$—
revisionstringYespattern: ^(?:0|[1-9]\d{0,18})$—
tokenReservestringYespattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$—

Additional fields are not allowed.

Schema 62

Response 201 variant 1.authority.legs item variant 1.creatorRevenue variant 1

Type: object.

FieldTypeRequiredConstraintsDescription
eligibility"eligible"Yes——
launchIdstringYesmin length: 1; max length: 96—
policyobject · Schema 46Yes——
protocolRootIdstringYesmin length: 1; max length: 160—

Additional fields are not allowed.

Schema 63

Response 201 variant 1.authority.legs item variant 1.creatorRevenue variant 2

Type: object.

FieldTypeRequiredConstraintsDescription
eligibility"ineligible"Yes——
reasonstringYesallowed: "legacy-no-policy", "not-supanova-launch", "trader-cashback"—

Additional fields are not allowed.

Source contract

This page is generated from the checked-in customer OpenAPI snapshot. Download JSON, download YAML, or compare the live API reference. Snapshot provenance records the retrieval date and checksum.

Generated from the public API contractDeveloper settings