Create an idempotent wallet-authorized swap operation.
POST /api/v1/swaps/prepare. Create an idempotent wallet-authorized swap operation.
Request
POST /api/v1/swaps/prepare
Authentication is required. Supported credentials: a signed-in customer session token in Authorization: Bearer …. This route does not accept customer API keys.
Parameters
| Name | In | Type | Required | Constraints | Description |
|---|---|---|---|---|---|
Idempotency-Key | header | string | Yes | min length: 8; max length: 256; pattern: ^[A-Za-z0-9._:-]+$ | — |
X-Service-Act-As | header | string | No | min length: 3; max length: 512 | 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. |
X-Request-Id | header | string | No | min 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.
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
quoteId | string | Yes | 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 | string | Yes | 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)$ | — |
Additional fields are not allowed.
cURL
Create request.json using the request-body schema. The example sends the file bytes unchanged.
curl --fail-with-body --silent --show-error \
--request POST \
--url "https://launch-api.supanova.app/api/v1/swaps/prepare" \
--header "Authorization: Bearer $SUPANOVA_SESSION_TOKEN" \
--header "Idempotency-Key: $IDEMPOTENCY_KEY" \
--header "Content-Type: application/json" \
--data-binary @request.jsonResponses
201
A wallet action and operation record.
| Header | Type | Description |
|---|---|---|
X-Request-Id | string | Server-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, IDEMPOTENCY_KEY_REQUIRED, AMBIGUOUS_CREDENTIALS, SERVICE_ACT_AS_REQUIRED.
| Header | Type | Description |
|---|---|---|
X-Request-Id | string | Server-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.
| Header | Type | Description |
|---|---|---|
X-Request-Id | string | Server-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.
| Header | Type | Description |
|---|---|---|
X-Request-Id | string | Server-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 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.
| Header | Type | Description |
|---|---|---|
X-Request-Id | string | Server-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.
| Header | Type | Description |
|---|---|---|
X-Request-Id | string | Server-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.
| Header | Type | Description |
|---|---|---|
X-Request-Id | string | Server-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.
| Header | Type | Description |
|---|---|---|
Retry-After | integer | Whole seconds to wait before retrying a rate-limited request. |
X-Request-Id | string | Server-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.
| Header | Type | Description |
|---|---|---|
X-Request-Id | string | Server-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.
| Header | Type | Description |
|---|---|---|
X-Request-Id | string | Server-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 variant 1
Type: object.
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
execution | string | Yes | allowed: "ledger", "simulated" | — |
operation | object · Schema 3 | Yes | — | — |
walletAction | object · Schema 4 | Yes | — | — |
Additional fields are not allowed.
Schema 2
Response 201 variant 2
Type: object.
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
execution | string | Yes | allowed: "ledger", "simulated" | — |
operation | object · Schema 3 | Yes | — | — |
walletAction | object · Schema 5 | Yes | — | — |
Additional fields are not allowed.
Schema 3
Response 201 variant 1.operation
Type: object.
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
expiresAt | string or null | Yes | — | — |
id | string | Yes | 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 | string | Yes | — | — |
Additional fields are not allowed.
Schema 4
Response 201 variant 1.walletAction
Type: object.
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
expiresAt | string | Yes | — | — |
intent | object · Schema 6 | Yes | — | — |
kind | "canton.prepare-execute" | Yes | — | — |
method | "prepareExecute" | Yes | — | — |
networkId | string | Yes | pattern: ^canton:[-_a-zA-Z0-9]{1,32}$ | — |
operationId | string | Yes | 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 | string | Yes | allowed: "daml-command-builder-not-configured", "ready" | — |
request | one or more variants · Schema 7 | Yes | — | — |
standard | "CIP-0103" | Yes | — | — |
Additional fields are not allowed.
Schema 5
Response 201 variant 2.walletAction
Type: object.
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
expiresAt | string | Yes | — | — |
intent | object · Schema 8 | Yes | — | — |
kind | "canton.prepare-execute" | Yes | — | — |
method | "prepareExecute" | Yes | — | — |
networkId | string | Yes | pattern: ^canton:[-_a-zA-Z0-9]{1,32}$ | — |
operationId | string | Yes | 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 | string | Yes | allowed: "daml-command-builder-not-configured", "ready" | — |
request | one or more variants · Schema 7 | Yes | — | — |
standard | "CIP-0103" | Yes | — | — |
Additional fields are not allowed.
Schema 6
Response 201 variant 1.walletAction.intent
Type: object.
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
authority | object · Schema 9 | Yes | — | — |
buyInstrument | object · Schema 10 | Yes | — | — |
creatorRevenueAllocations | array of exactly one variant · Schema 11 | Yes | min items: 1; max items: 2 | — |
feeAmountCc | string | Yes | — | — |
minimumBuyAmount | string | Yes | — | — |
partyId | string | Yes | — | — |
quoteId | string | Yes | 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 | string | Yes | pattern: ^sha256:[0-9a-f]{64}$ | — |
sellAmount | string | Yes | — | — |
sellInstrument | object · Schema 10 | Yes | — | — |
route | array of object · Schema 12 | Yes | min items: 1; max items: 2 | — |
type | "swap.execute" | Yes | — | — |
Additional fields are not allowed.
Schema 7
Response 201 variant 1.walletAction.request
Type: one or more variants.
At least one of these variants must match:
- Variant 1: object · Schema 13.
- Variant 2: null.
Schema 8
Response 201 variant 2.walletAction.intent
Type: object.
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
authority | object · Schema 14 | Yes | — | — |
buyInstrument | object · Schema 10 | Yes | — | — |
creatorRevenueAllocations | array of object · Schema 15 | Yes | min items: 1; max items: 1 | — |
feeAmountCc | string | Yes | — | — |
minimumBuyAmount | string | Yes | — | — |
partyId | string | Yes | — | — |
quoteId | string | Yes | 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 | string | Yes | pattern: ^sha256:[0-9a-f]{64}$ | — |
sellAmount | string | Yes | — | — |
sellInstrument | object · Schema 10 | Yes | — | — |
route | array of object · Schema 16 | Yes | min items: 1; max items: 1 | — |
type | "swap.execute" | Yes | — | — |
Additional fields are not allowed.
Schema 9
Response 201 variant 1.walletAction.intent.authority
Type: object.
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
expiresAt | string | Yes | 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 | array of exactly one variant · Schema 17 | Yes | min items: 1; max items: 2 | — |
networkId | string | Yes | pattern: ^canton:[-_a-zA-Z0-9]{1,32}$ | — |
policy | object · Schema 18 | Yes | — | — |
replay | object · Schema 19 | Yes | — | — |
synchronizerId | string | Yes | min length: 1; max length: 160 | — |
Additional fields are not allowed.
Schema 10
Response 201 variant 1.walletAction.intent.buyInstrument
Type: object.
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
admin | string | Yes | min length: 1; max length: 160 | — |
id | string | Yes | min length: 1; max length: 160 | — |
Additional fields are not allowed.
Schema 11
Response 201 variant 1.walletAction.intent.creatorRevenueAllocations
Type: array of exactly one variant.
min items: 1; max items: 2
Array items: exactly one variant · Schema 20.
Schema 12
Response 201 variant 1.walletAction.intent.route
Type: array of object.
min items: 1; max items: 2
Array items: object · Schema 21.
Schema 13
Response 201 variant 1.walletAction.request variant 1
Type: object.
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
kind | string | Yes | allowed: "application-submission", "interactive-submission", "wallet-submission" | — |
commandId | string | Yes | min length: 1; max length: 255 | — |
actAs | array of string · Schema 22 | Yes | min items: 1; max items: 8 | — |
synchronizerId | string | Yes | min length: 1; max length: 512 | — |
hashingSchemeVersion | string | Yes | min length: 1; max length: 64 | — |
signatureFormat | "SIGNATURE_FORMAT_RAW" | Yes | — | — |
signingAlgorithmSpec | "SIGNING_ALGORITHM_SPEC_ED25519" | Yes | — | — |
signedBy | one or more variants · Schema 23 | Yes | — | — |
preparedTransaction | one or more variants · Schema 24 | Yes | — | — |
preparedTransactionHash | one or more variants · Schema 25 | Yes | — | — |
Additional fields are not allowed.
Schema 14
Response 201 variant 2.walletAction.intent.authority
Type: object.
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
expiresAt | string | Yes | 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 | array of exactly one variant · Schema 26 | Yes | min items: 1; max items: 1 | — |
networkId | string | Yes | pattern: ^canton:[-_a-zA-Z0-9]{1,32}$ | — |
policy | object · Schema 27 | Yes | — | — |
replay | object · Schema 19 | Yes | — | — |
synchronizerId | string | Yes | min length: 1; max length: 160 | — |
Additional fields are not allowed.
Schema 15
Response 201 variant 2.walletAction.intent.creatorRevenueAllocations
Type: array of object.
min items: 1; max items: 1
Array items: object · Schema 28.
Schema 16
Response 201 variant 2.walletAction.intent.route
Type: array of object.
min items: 1; max items: 1
Array items: object · Schema 21.
Schema 17
Response 201 variant 1.walletAction.intent.authority.legs
Type: array of exactly one variant.
min items: 1; max items: 2
Array items: exactly one variant · Schema 29.
Schema 18
Response 201 variant 1.walletAction.intent.authority.policy
Type: object.
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
hash | "sha256:1c1bcf37c26e0c4c84af752e9f76447a82f8b22ba8c851f1cf070eccc43f548e" | Yes | — | — |
snapshot | object · Schema 30 | Yes | — | — |
version | "3" | Yes | — | — |
Additional fields are not allowed.
Schema 19
Response 201 variant 1.walletAction.intent.authority.replay
Type: object.
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
digest | string | Yes | pattern: ^sha256:[0-9a-f]{64}$ | — |
domain | "supanova.swap.quote.v2" | Yes | — | — |
Additional fields are not allowed.
Schema 20
Response 201 variant 1.walletAction.intent.creatorRevenueAllocations item
Type: exactly one variant.
Exactly one of these variants must match:
Schema 21
Response 201 variant 1.walletAction.intent.route item
Type: object.
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
payInstrument | object · Schema 10 | Yes | — | — |
receiveInstrument | object · Schema 10 | Yes | — | — |
venue | string | Yes | allowed: "canton-dex", "launch-curve" | — |
Additional fields are not allowed.
Schema 22
Response 201 variant 1.walletAction.request variant 1.actAs
Type: array of string.
min items: 1; max items: 8
Array items: string. min length: 3; max length: 512
Schema 23
Response 201 variant 1.walletAction.request variant 1.signedBy
Type: one or more variants.
At least one of these variants must match:
- Variant 1: string. min length:
4; max length:160 - Variant 2: null.
Schema 24
Response 201 variant 1.walletAction.request variant 1.preparedTransaction
Type: one or more variants.
At least one of these variants must match:
- Variant 1: string. max length:
4194304 - Variant 2: null.
Schema 25
Response 201 variant 1.walletAction.request variant 1.preparedTransactionHash
Type: one or more variants.
At least one of these variants must match:
- Variant 1: string. max length:
512 - Variant 2: null.
Schema 26
Response 201 variant 2.walletAction.intent.authority.legs
Type: array of exactly one variant.
min items: 1; max items: 1
Array items: exactly one variant · Schema 33.
Schema 27
Response 201 variant 2.walletAction.intent.authority.policy
Type: object.
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
hash | "sha256:453dec0f4f64164e6c89bd4fcf9303eafeadd133ca9e119acc5fd6fa694957c2" | Yes | — | — |
snapshot | any value | Yes | — | — |
version | "4" | Yes | — | — |
Additional fields are not allowed.
Schema 28
Response 201 variant 2.walletAction.intent.creatorRevenueAllocations item
Type: object.
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
basisAmountCc | string | Yes | pattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$ | — |
creatorRevenueCc | string | Yes | pattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$ | — |
eligibility | "eligible" | Yes | — | — |
grossRevenueCc | string | Yes | pattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$ | — |
launchId | string | Yes | min length: 1; max length: 160 | — |
marketReference | string | Yes | min length: 1; max length: 160 | — |
policy | object · Schema 34 | Yes | — | — |
protocolRevenueCc | string | Yes | pattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$ | — |
protocolRootId | string | Yes | min length: 1; max length: 160 | — |
routeLegCount | 1 | Yes | — | — |
routeLegIndex | 0 | Yes | — | — |
source | string | Yes | allowed: "curve-trading-fee", "amm-trading-fee" | — |
tokenInstrument | object · Schema 10 | Yes | — | — |
Additional fields are not allowed.
Schema 29
Response 201 variant 1.walletAction.intent.authority.legs item
Type: exactly one variant.
Exactly one of these variants must match:
Schema 30
Response 201 variant 1.walletAction.intent.authority.policy.snapshot
Type: object.
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
amm | object · Schema 38 | Yes | — | — |
curve | object · Schema 39 | Yes | — | — |
creatorRevenue | object · Schema 40 | Yes | — | — |
policyId | "supanova-swap-quote-policy" | Yes | — | — |
policyVersion | "3" | Yes | — | — |
quote | object · Schema 41 | Yes | — | — |
Additional fields are not allowed.
Schema 31
Response 201 variant 1.walletAction.intent.creatorRevenueAllocations item variant 1
Type: object.
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
basisAmountCc | string | Yes | pattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$ | — |
creatorRevenueCc | string | Yes | pattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$ | — |
eligibility | "eligible" | Yes | — | — |
grossRevenueCc | string | Yes | pattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$ | — |
launchId | string | Yes | min length: 1; max length: 96 | — |
marketReference | string | Yes | min length: 1; max length: 160 | — |
policy | object · Schema 42 | Yes | — | — |
protocolRevenueCc | string | Yes | pattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$ | — |
protocolRootId | string | Yes | min length: 1; max length: 160 | — |
routeLegCount | integer | Yes | minimum: 1; maximum: 2 | — |
routeLegIndex | integer | Yes | minimum: 0; maximum: 1 | — |
source | string | Yes | allowed: "virtual-curve-trading-fee", "supaswap-amm-trading-fee" | — |
tokenInstrument | object · Schema 10 | Yes | — | — |
Additional fields are not allowed.
Schema 32
Response 201 variant 1.walletAction.intent.creatorRevenueAllocations item variant 2
Type: object.
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
eligibility | "ineligible" | Yes | — | — |
marketReference | string | Yes | min length: 1; max length: 160 | — |
reason | string | Yes | allowed: "legacy-no-policy", "not-supanova-launch", "trader-cashback" | — |
routeLegCount | integer | Yes | minimum: 1; maximum: 2 | — |
routeLegIndex | integer | Yes | minimum: 0; maximum: 1 | — |
tokenInstrument | object · Schema 10 | Yes | — | — |
Additional fields are not allowed.
Schema 33
Response 201 variant 2.walletAction.intent.authority.legs item
Type: exactly one variant.
Exactly one of these variants must match:
Schema 34
Response 201 variant 2.walletAction.intent.creatorRevenueAllocations item.policy
Type: object.
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
hash | "sha256:21c68b457e7684149d484e6bfb378457c36ea188e01187500367a76bf29cbde6" | Yes | — | — |
id | "supanova-creator-revenue-policy" | Yes | — | — |
version | "2" | Yes | — | — |
Additional fields are not allowed.
Schema 35
Response 201 variant 1.walletAction.intent.authority.legs item variant 1
Type: object.
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
creatorRevenue | exactly one variant · Schema 45 | Yes | — | — |
lifecycleEpoch | string | Yes | pattern: ^(?:0|[1-9]\d{0,18})$ | — |
marketReference | string | Yes | min length: 1; max length: 160 | — |
marketRevision | string | Yes | pattern: ^(?:0|[1-9]\d{0,18})$ | — |
nextMarketRevision | string | Yes | pattern: ^(?:0|[1-9]\d{0,18})$ | — |
payInstrument | object · Schema 10 | Yes | — | — |
receiveInstrument | object · Schema 10 | Yes | — | — |
securityEpoch | string | Yes | pattern: ^(?:0|[1-9]\d{0,18})$ | — |
after | object · Schema 46 | Yes | — | — |
before | object · Schema 46 | Yes | — | — |
formulaId | "supanova-virtual-cpmm-v1" | Yes | — | — |
kind | "virtual-cpmm" | Yes | — | — |
lifecycleStage | string | Yes | allowed: "ignition", "near_escape" | — |
limits | object · Schema 47 | Yes | — | — |
Additional fields are not allowed.
Schema 36
Response 201 variant 1.walletAction.intent.authority.legs item variant 2
Type: object.
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
creatorRevenue | exactly one variant · Schema 45 | Yes | — | — |
lifecycleEpoch | string | Yes | pattern: ^(?:0|[1-9]\d{0,18})$ | — |
marketReference | string | Yes | min length: 1; max length: 160 | — |
marketRevision | string | Yes | pattern: ^(?:0|[1-9]\d{0,18})$ | — |
nextMarketRevision | string | Yes | pattern: ^(?:0|[1-9]\d{0,18})$ | — |
payInstrument | object · Schema 10 | Yes | — | — |
receiveInstrument | object · Schema 10 | Yes | — | — |
securityEpoch | string | Yes | pattern: ^(?:0|[1-9]\d{0,18})$ | — |
after | object · Schema 48 | Yes | — | — |
before | object · Schema 48 | Yes | — | — |
formulaId | "supanova-real-cpmm-v1" | Yes | — | — |
kind | "real-cpmm" | Yes | — | — |
lifecycleStage | "in_orbit" | Yes | — | — |
limits | object · Schema 49 | Yes | — | — |
Additional fields are not allowed.
Schema 37
Response 201 variant 1.walletAction.intent.authority.legs item variant 3
Type: object.
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
creatorRevenue | exactly one variant · Schema 45 | Yes | — | — |
lifecycleEpoch | string | Yes | pattern: ^(?:0|[1-9]\d{0,18})$ | — |
marketReference | string | Yes | min length: 1; max length: 160 | — |
marketRevision | string | Yes | pattern: ^(?:0|[1-9]\d{0,18})$ | — |
nextMarketRevision | string | Yes | pattern: ^(?:0|[1-9]\d{0,18})$ | — |
payInstrument | object · Schema 10 | Yes | — | — |
receiveInstrument | object · Schema 10 | Yes | — | — |
securityEpoch | string | Yes | pattern: ^(?:0|[1-9]\d{0,18})$ | — |
after | object · Schema 50 | Yes | — | — |
before | object · Schema 50 | Yes | — | — |
formulaId | "supanova-static-preview-v1" | Yes | — | — |
kind | "static-preview" | Yes | — | — |
lifecycleStage | "in_orbit" | Yes | — | — |
limits | object · Schema 49 | Yes | — | — |
Additional fields are not allowed.
Schema 38
Response 201 variant 1.walletAction.intent.authority.policy.snapshot.amm
Type: object.
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
authorizationMaxTtlSeconds | 900 | Yes | — | — |
fee | object · Schema 51 | Yes | — | — |
formulaId | "supanova-real-cpmm-v1" | Yes | — | — |
goldenManifestDigest | "sha256:7fc5b0d592eaf85cb083775101efe73a099b404e6334cd85ac1683ac753626d0" | Yes | — | — |
invariant | object · Schema 52 | Yes | — | — |
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 | — | — |
numericScale | 10 | Yes | — | — |
rounding | object · Schema 53 | Yes | — | — |
rootUniquenessAssumption | "participant-inventory-and-submission-policy-required" | Yes | — | — |
settlementReadiness | "external-settlement-adapter-unproven" | Yes | — | — |
Additional fields are not allowed.
Schema 39
Response 201 variant 1.walletAction.intent.authority.policy.snapshot.curve
Type: object.
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
formulaId | "supanova-virtual-cpmm-v1" | Yes | — | — |
policyHash | "sha256:c843cc6204a25e687e40fff5f8033416031fb28d191f40b00e530855d70dd0ce" | Yes | — | — |
Additional fields are not allowed.
Schema 40
Response 201 variant 1.walletAction.intent.authority.policy.snapshot.creatorRevenue
Type: object.
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
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 41
Response 201 variant 1.walletAction.intent.authority.policy.snapshot.quote
Type: object.
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
authorityLegBinding | "explicit-pay-and-receive-instruments" | Yes | — | — |
creatorRevenueLegBinding | "exact-launch-lineage-policy-and-allocation-per-leg" | Yes | — | — |
expirySeconds | 30 | Yes | — | — |
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 | — | — |
singleUse | true | Yes | — | — |
Additional fields are not allowed.
Schema 42
Response 201 variant 1.walletAction.intent.creatorRevenueAllocations item variant 1.policy
Type: object.
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
hash | "sha256:a926e0a380b3938648b5fa9898136638e1276128947cf94033e760f87a27e8b2" | Yes | — | — |
id | "supanova-creator-revenue-policy" | Yes | — | — |
version | "1" | Yes | — | — |
Additional fields are not allowed.
Schema 43
Response 201 variant 2.walletAction.intent.authority.legs item variant 1
Type: object.
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
creatorRevenue | object · Schema 54 | Yes | — | — |
lifecycleEpoch | string | Yes | pattern: ^(?:0|[1-9]\d{0,18})$ | — |
market | object · Schema 55 | Yes | — | — |
marketReference | string | Yes | min length: 1; max length: 160 | — |
marketRevision | string | Yes | pattern: ^(?:0|[1-9]\d{0,18})$ | — |
nextMarketRevision | string | Yes | pattern: ^(?:0|[1-9]\d{0,18})$ | — |
payInstrument | object · Schema 10 | Yes | — | — |
receiveInstrument | object · Schema 10 | Yes | — | — |
securityEpoch | string | Yes | pattern: ^(?:0|[1-9]\d{0,18})$ | — |
after | object · Schema 56 | Yes | — | — |
before | object · Schema 56 | Yes | — | — |
formulaId | "supanova-virtual-cpmm-v1" | Yes | — | — |
kind | "virtual-cpmm" | Yes | — | — |
lifecycleStage | string | Yes | allowed: "ignition", "near_escape" | — |
limits | object · Schema 47 | Yes | — | — |
Additional fields are not allowed.
Schema 44
Response 201 variant 2.walletAction.intent.authority.legs item variant 2
Type: object.
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
creatorRevenue | object · Schema 54 | Yes | — | — |
lifecycleEpoch | string | Yes | pattern: ^(?:0|[1-9]\d{0,18})$ | — |
market | object · Schema 55 | Yes | — | — |
marketReference | string | Yes | min length: 1; max length: 160 | — |
marketRevision | string | Yes | pattern: ^(?:0|[1-9]\d{0,18})$ | — |
nextMarketRevision | string | Yes | pattern: ^(?:0|[1-9]\d{0,18})$ | — |
payInstrument | object · Schema 10 | Yes | — | — |
receiveInstrument | object · Schema 10 | Yes | — | — |
securityEpoch | string | Yes | pattern: ^(?:0|[1-9]\d{0,18})$ | — |
after | object · Schema 57 | Yes | — | — |
before | object · Schema 57 | Yes | — | — |
formulaId | "supanova-real-cpmm-v1" | Yes | — | — |
kind | "real-cpmm" | Yes | — | — |
lifecycleStage | "in_orbit" | Yes | — | — |
limits | object · Schema 49 | Yes | — | — |
Additional fields are not allowed.
Schema 45
Response 201 variant 1.walletAction.intent.authority.legs item variant 1.creatorRevenue
Type: exactly one variant.
Exactly one of these variants must match:
Schema 46
Response 201 variant 1.walletAction.intent.authority.legs item variant 1.after
Type: object.
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
formulaId | "supanova-virtual-cpmm-v1" | Yes | — | — |
graduated | boolean | Yes | — | — |
graduationPercent | string | Yes | pattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$ | — |
marginalPriceCcPerToken | string | Yes | pattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$ | — |
netCcReserve | string | Yes | pattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$ | — |
tokensRemaining | string | Yes | pattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$ | — |
tokensSold | string | Yes | pattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$ | — |
Additional fields are not allowed.
Schema 47
Response 201 variant 1.walletAction.intent.authority.legs item variant 1.limits
Type: object.
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
exactFinalGrossCc | one or more variants · Schema 60 | Yes | — | — |
inputAsset | string | Yes | allowed: "cc", "token" | — |
maximumInputAmount | string | Yes | pattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$ | — |
recovery | string | Yes | allowed: "exact-final-gross-or-smaller-buy", "sell-all-or-leave-at-least-minimum" | — |
Additional fields are not allowed.
Schema 48
Response 201 variant 1.walletAction.intent.authority.legs item variant 2.after
Type: object.
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
anchor | string | Yes | allowed: "cc-reserve", "initial", "token-reserve" | — |
ccReserve | string | Yes | pattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$ | — |
formulaId | "supanova-real-cpmm-v1" | Yes | — | — |
invariant | string | Yes | pattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$ | — |
marginalPriceCcPerToken | string | Yes | pattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$ | — |
revision | string | Yes | pattern: ^(?:0|[1-9]\d{0,18})$ | — |
tokenReserve | string | Yes | pattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$ | — |
Additional fields are not allowed.
Schema 49
Response 201 variant 1.walletAction.intent.authority.legs item variant 2.limits
Type: object.
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
exactFinalGrossCc | null | Yes | — | — |
inputAsset | string | Yes | allowed: "cc", "token" | — |
maximumInputAmount | string | Yes | pattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$ | — |
recovery | "refresh-on-revision-change" | Yes | — | — |
Additional fields are not allowed.
Schema 50
Response 201 variant 1.walletAction.intent.authority.legs item variant 3.after
Type: object.
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
priceCcPerToken | string | Yes | pattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$ | — |
revision | string | Yes | pattern: ^(?:0|[1-9]\d{0,18})$ | — |
Additional fields are not allowed.
Schema 51
Response 201 variant 1.walletAction.intent.authority.policy.snapshot.amm.fee
Type: object.
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
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 52
Response 201 variant 1.walletAction.intent.authority.policy.snapshot.amm.invariant
Type: object.
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
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 53
Response 201 variant 1.walletAction.intent.authority.policy.snapshot.amm.rounding
Type: object.
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
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 54
Response 201 variant 2.walletAction.intent.authority.legs item variant 1.creatorRevenue
Type: object.
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
eligibility | "eligible" | Yes | — | — |
launchId | string | Yes | min length: 1; max length: 160 | — |
policy | object · Schema 34 | Yes | — | — |
protocolRootId | string | Yes | min length: 1; max length: 160 | — |
Additional fields are not allowed.
Schema 55
Response 201 variant 2.walletAction.intent.authority.legs item variant 1.market
Type: object.
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
economics | object · Schema 61 | Yes | — | — |
feeConfig | object · Schema 62 | Yes | — | — |
totalSupply | string | Yes | pattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$ | — |
Additional fields are not allowed.
Schema 56
Response 201 variant 2.walletAction.intent.authority.legs item variant 1.after
Type: object.
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
graduated | boolean | Yes | — | — |
netCcReserve | string | Yes | pattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$ | — |
tokensRemaining | string | Yes | pattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$ | — |
tokensSold | string | Yes | pattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$ | — |
Additional fields are not allowed.
Schema 57
Response 201 variant 2.walletAction.intent.authority.legs item variant 2.after
Type: object.
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
anchor | string | Yes | allowed: "cc-reserve", "initial", "token-reserve" | — |
ccReserve | string | Yes | pattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$ | — |
revision | string | Yes | pattern: ^(?:0|[1-9]\d{0,18})$ | — |
tokenReserve | string | Yes | pattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$ | — |
Additional fields are not allowed.
Schema 58
Response 201 variant 1.walletAction.intent.authority.legs item variant 1.creatorRevenue variant 1
Type: object.
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
eligibility | "eligible" | Yes | — | — |
launchId | string | Yes | min length: 1; max length: 96 | — |
policy | object · Schema 42 | Yes | — | — |
protocolRootId | string | Yes | min length: 1; max length: 160 | — |
Additional fields are not allowed.
Schema 59
Response 201 variant 1.walletAction.intent.authority.legs item variant 1.creatorRevenue variant 2
Type: object.
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
eligibility | "ineligible" | Yes | — | — |
reason | string | Yes | allowed: "legacy-no-policy", "not-supanova-launch", "trader-cashback" | — |
Additional fields are not allowed.
Schema 60
Response 201 variant 1.walletAction.intent.authority.legs item variant 1.limits.exactFinalGrossCc
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 61
Response 201 variant 2.walletAction.intent.authority.legs item variant 1.market.economics
Type: object.
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
curveAllocationBps | integer | Yes | minimum: 5001; maximum: 9999 | — |
graduationNetCc | string | Yes | pattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$ | — |
maxFeeBps | integer | Yes | minimum: 0; maximum: 5000 | — |
minFeeClaimCc | string | Yes | pattern: ^(?:0|[1-9]\d{0,27})(?:\.\d{1,10})?$ | — |
Additional fields are not allowed.
Schema 62
Response 201 variant 2.walletAction.intent.authority.legs item variant 1.market.feeConfig
Type: object.
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
feeBps | integer | Yes | minimum: 0; maximum: 10000 | — |
platformShareBps | integer | Yes | minimum: 0; maximum: 10000 | — |
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.