supanovasupanovaDOCS
Open Launchpad
Launchpad documentation
user-signed trades

Prepare plain JSON Ledger API commands + disclosures for a wallet-signed trade.

POST /api/v1/trades/prepare. Prepare plain JSON Ledger API commands + disclosures for a wallet-signed trade.

Request

POST /api/v1/trades/prepare

Authentication is required. Supported credentials: a signed-in customer session token in Authorization: Bearer …. This route does not accept customer API keys.

Parameters

NameInTypeRequiredConstraintsDescription
Idempotency-KeyheaderstringYesmin length: 8; max length: 256; pattern: ^[A-Za-z0-9._:-]+$—
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-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
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)$—
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)$—

Additional fields are not allowed.

cURL

Create request.json using the request-body schema. The example sends the file bytes unchanged.

bash
curl --fail-with-body --silent --show-error \
  --request POST \
  --url "https://launch-api.supanova.app/api/v1/trades/prepare" \
  --header "Authorization: Bearer $SUPANOVA_SESSION_TOKEN" \
  --header "Idempotency-Key: $IDEMPOTENCY_KEY" \
  --header "Content-Type: application/json" \
  --data-binary @request.json

Responses

201

Commands and disclosed contracts for sendTransaction.

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

Content type: application/json

Type: object.

FieldTypeRequiredConstraintsDescription
commandIdstringYesmin length: 1; max length: 255—
operationIdstringYesformat: 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—
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)))$—
quoteone or more variants · Schema 1Yes——
venuestringYesallowed: "curve", "amm"—
sidestringYesallowed: "buy", "sell"—
commandsarray of object · Schema 2Yesmin items: 1; max items: 4—
disclosedContractsarray of object · Schema 3Yes——
packageIdSelectionPreferencearray of string · Schema 4Nomin items: 1; max items: 4—

Additional fields are not allowed.

400

Malformed body or missing Idempotency-Key. Also: VALIDATION_FAILED, IDEMPOTENCY_KEY_REQUIRED, 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.

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

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.

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.

404

Unknown quote.

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

Quote/wallet mismatch or Idempotency-Key conflict. Also: IDEMPOTENCY_KEY_CONFLICT, IDEMPOTENCY_CONFLICT.

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

Insufficient or frozen deposit balance, or no live venue.

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

The ledger is unavailable. Also: 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

Response 201.quote

Type: one or more variants.

At least one of these variants must match:

Schema 2

Response 201.commands

Type: array of object.

min items: 1; max items: 4

Array items: object · Schema 7.

Schema 3

Response 201.disclosedContracts

Type: array of object.

Array items: object · Schema 8.

Schema 4

Response 201.packageIdSelectionPreference

Type: array of string.

min items: 1; max items: 4

Array items: string. pattern: ^[0-9a-f]{64}$

Schema 5

Response 201.quote variant 1

Type: object.

FieldTypeRequiredConstraintsDescription
authorityobject · Schema 9Yes——
buyUnitPriceCcstringYespattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$—
buyAmountstringYespattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$—
buyInstrumentobject · Schema 10Yes——
creatorRevenueAllocationsarray of exactly one variant · Schema 11Yesmin 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 12Yes——
feeLineItemsarray of object · Schema 13Yesmin 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 14Yes——
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 10Yes——
sellUnitPriceCcstringYespattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$—
settlementobject · Schema 15Yes——
slippageBpsintegerYesminimum: 1; maximum: 5000—
routearray of object · Schema 16Yesmin items: 1; max items: 2—
walletobject · Schema 17Yes——

Additional fields are not allowed.

Schema 6

Response 201.quote variant 2

Type: object.

FieldTypeRequiredConstraintsDescription
authorityobject · Schema 18Yes——
buyAmountstringYespattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$—
buyInstrumentobject · Schema 10Yes——
creatorRevenueAllocationsarray of object · Schema 19Yesmin items: 1; max items: 1—
displayobject · Schema 20Yes——
economicsobject · Schema 21Yes——
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 22Yes——
feeCcstringYespattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$—
feeConfigobject · Schema 23Yes——
feeLineItemsarray of object · Schema 24Yesmin 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 25Yes——
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 26Yesmin items: 1; max items: 1—
sellAmountstringYespattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$—
sellInstrumentobject · Schema 10Yes——
settlementobject · Schema 27Yes——
slippageBpsintegerYesminimum: 1; maximum: 5000—
totalSupplystringYespattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$—
walletobject · Schema 17Yes——
allowPartialFillbooleanNo——
fillstringNoallowed: "full", "partial"—
grossCcUsedone or more variants · Schema 28No——
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 7

Response 201.commands item

Type: object.

Additional field values: any value.

Schema 8

Response 201.disclosedContracts item

Type: object.

FieldTypeRequiredConstraintsDescription
contractIdstringYesmin length: 1; max length: 255—
createdEventBlobstringYesmin length: 1—
synchronizerIdstringYesmin length: 1; max length: 512—
templateIdstringYesmin length: 1; max length: 255—

Additional fields are not allowed.

Schema 9

Response 201.quote 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 29Yesmin items: 1; max items: 2—
networkIdstringYespattern: ^canton:[-_a-zA-Z0-9]{1,32}$—
policyobject · Schema 30Yes——
replayobject · Schema 31Yes——
synchronizerIdstringYesmin length: 1; max length: 160—

Additional fields are not allowed.

Schema 10

Response 201.quote variant 1.buyInstrument

Type: object.

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

Additional fields are not allowed.

Schema 11

Response 201.quote variant 1.creatorRevenueAllocations

Type: array of exactly one variant.

min items: 1; max items: 2

Array items: exactly one variant · Schema 32.

Schema 12

Response 201.quote variant 1.fee

Type: object.

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

Additional fields are not allowed.

Schema 13

Response 201.quote variant 1.feeLineItems

Type: array of object.

min items: 1; max items: 2

Array items: object · Schema 33.

Schema 14

Response 201.quote 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 15

Response 201.quote 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 16

Response 201.quote variant 1.route

Type: array of object.

min items: 1; max items: 2

Array items: object · Schema 34.

Schema 17

Response 201.quote 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 18

Response 201.quote 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 35Yesmin items: 1; max items: 1—
networkIdstringYespattern: ^canton:[-_a-zA-Z0-9]{1,32}$—
policyobject · Schema 36Yes——
replayobject · Schema 31Yes——
synchronizerIdstringYesmin length: 1; max length: 160—

Additional fields are not allowed.

Schema 19

Response 201.quote variant 2.creatorRevenueAllocations

Type: array of object.

min items: 1; max items: 1

Array items: object · Schema 37.

Schema 20

Response 201.quote variant 2.display

Type: object.

FieldTypeRequiredConstraintsDescription
averagePriceCcPerTokenstringYespattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,40})?$—
graduationPercentAfterone or more variants · Schema 38Yes——
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 21

Response 201.quote 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 22

Response 201.quote variant 2.fee

Type: object.

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

Additional fields are not allowed.

Schema 23

Response 201.quote variant 2.feeConfig

Type: object.

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

Additional fields are not allowed.

Schema 24

Response 201.quote variant 2.feeLineItems

Type: array of object.

min items: 1; max items: 1

Array items: object · Schema 33.

Schema 25

Response 201.quote 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 26

Response 201.quote variant 2.route

Type: array of object.

min items: 1; max items: 1

Array items: object · Schema 34.

Schema 27

Response 201.quote 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 28

Response 201.quote 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 29

Response 201.quote variant 1.authority.legs

Type: array of exactly one variant.

min items: 1; max items: 2

Array items: exactly one variant · Schema 39.

Schema 30

Response 201.quote variant 1.authority.policy

Type: object.

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

Additional fields are not allowed.

Schema 31

Response 201.quote 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 32

Response 201.quote variant 1.creatorRevenueAllocations item

Type: exactly one variant.

Exactly one of these variants must match:

Schema 33

Response 201.quote variant 1.feeLineItems item

Type: object.

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

Additional fields are not allowed.

Schema 34

Response 201.quote variant 1.route item

Type: object.

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

Additional fields are not allowed.

Schema 35

Response 201.quote variant 2.authority.legs

Type: array of exactly one variant.

min items: 1; max items: 1

Array items: exactly one variant · Schema 43.

Schema 36

Response 201.quote variant 2.authority.policy

Type: object.

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

Additional fields are not allowed.

Schema 37

Response 201.quote 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 44Yes——
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 10Yes——

Additional fields are not allowed.

Schema 38

Response 201.quote 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 39

Response 201.quote variant 1.authority.legs item

Type: exactly one variant.

Exactly one of these variants must match:

Schema 40

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

Type: object.

FieldTypeRequiredConstraintsDescription
ammobject · Schema 48Yes——
curveobject · Schema 49Yes——
creatorRevenueobject · Schema 50Yes——
policyId"supanova-swap-quote-policy"Yes——
policyVersion"3"Yes——
quoteobject · Schema 51Yes——

Additional fields are not allowed.

Schema 41

Response 201.quote 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 52Yes——
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 10Yes——

Additional fields are not allowed.

Schema 42

Response 201.quote 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 10Yes——

Additional fields are not allowed.

Schema 43

Response 201.quote variant 2.authority.legs item

Type: exactly one variant.

Exactly one of these variants must match:

Schema 44

Response 201.quote 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 45

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

Type: object.

FieldTypeRequiredConstraintsDescription
creatorRevenueexactly one variant · Schema 55Yes——
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 10Yes——
receiveInstrumentobject · Schema 10Yes——
securityEpochstringYespattern: ^(?:0|[1-9]\d{0,18})$—
afterobject · Schema 56Yes——
beforeobject · Schema 56Yes——
formulaId"supanova-virtual-cpmm-v1"Yes——
kind"virtual-cpmm"Yes——
lifecycleStagestringYesallowed: "ignition", "near_escape"—
limitsobject · Schema 57Yes——

Additional fields are not allowed.

Schema 46

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

Type: object.

FieldTypeRequiredConstraintsDescription
creatorRevenueexactly one variant · Schema 55Yes——
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 10Yes——
receiveInstrumentobject · Schema 10Yes——
securityEpochstringYespattern: ^(?:0|[1-9]\d{0,18})$—
afterobject · Schema 58Yes——
beforeobject · Schema 58Yes——
formulaId"supanova-real-cpmm-v1"Yes——
kind"real-cpmm"Yes——
lifecycleStage"in_orbit"Yes——
limitsobject · Schema 59Yes——

Additional fields are not allowed.

Schema 47

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

Type: object.

FieldTypeRequiredConstraintsDescription
creatorRevenueexactly one variant · Schema 55Yes——
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 10Yes——
receiveInstrumentobject · Schema 10Yes——
securityEpochstringYespattern: ^(?:0|[1-9]\d{0,18})$—
afterobject · Schema 60Yes——
beforeobject · Schema 60Yes——
formulaId"supanova-static-preview-v1"Yes——
kind"static-preview"Yes——
lifecycleStage"in_orbit"Yes——
limitsobject · Schema 59Yes——

Additional fields are not allowed.

Schema 48

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

Type: object.

FieldTypeRequiredConstraintsDescription
authorizationMaxTtlSeconds900Yes——
feeobject · Schema 61Yes——
formulaId"supanova-real-cpmm-v1"Yes——
goldenManifestDigest"sha256:7fc5b0d592eaf85cb083775101efe73a099b404e6334cd85ac1683ac753626d0"Yes——
invariantobject · Schema 62Yes——
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 63Yes——
rootUniquenessAssumption"participant-inventory-and-submission-policy-required"Yes——
settlementReadiness"external-settlement-adapter-unproven"Yes——

Additional fields are not allowed.

Schema 49

Response 201.quote 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 50

Response 201.quote 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 51

Response 201.quote 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 52

Response 201.quote 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 53

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

Type: object.

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

Additional fields are not allowed.

Schema 54

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

Type: object.

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

Additional fields are not allowed.

Schema 55

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

Type: exactly one variant.

Exactly one of these variants must match:

Schema 56

Response 201.quote 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 57

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

Type: object.

FieldTypeRequiredConstraintsDescription
exactFinalGrossCcone or more variants · Schema 28Yes——
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 58

Response 201.quote 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 59

Response 201.quote 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 60

Response 201.quote 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 61

Response 201.quote 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 62

Response 201.quote 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 63

Response 201.quote 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 64

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

Type: object.

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

Additional fields are not allowed.

Schema 65

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

Type: object.

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

Additional fields are not allowed.

Schema 66

Response 201.quote 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 67

Response 201.quote 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 68

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

Type: object.

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

Additional fields are not allowed.

Schema 69

Response 201.quote 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