Request and response schemas
Exact contracts shared by HTTP endpoints and typed SDK operations.
Find an operation in the endpoint catalogue, follow a task guide for working examples, or read the SDK reference. This reference is generated from the same contract as the SDK types and OpenAPI.
The input schema describes SDK arguments: path becomes URL segments, query becomes query parameters, body is the HTTP JSON body, and idempotencyKey becomes the Idempotency-Key header. Do not send the entire SDK input wrapper as an HTTP body. Response schemas describe data inside the success envelope, not the full HTTP response. See HTTP conventions.
JSON below is a schema, not a request example. Exact money uses decimal strings; venue-owned extensions are explicitly open objects.
getCapabilities
GET /v1/capabilities
SDK: crisp.call('getCapabilities', input). Idempotency-Key: not required.
SDK input schema (path, query, body and key)
{
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
}Response data schema (HTTP 200)
{
"type": "object",
"properties": {
"venue": {
"type": "string"
},
"accounts": {
"type": "string"
},
"profile": {
"type": "string"
},
"wallet": {
"type": "string"
},
"orders": {
"type": "string"
},
"tradingStatus": {
"type": "string"
},
"orderPrewarm": {
"type": "string"
},
"orderRequirements": {
"type": "string"
},
"positions": {
"type": "string"
},
"trades": {
"type": "string"
},
"eventsMarketsBooks": {
"type": "string"
},
"localization": {
"type": "string"
},
"depositInstructions": {
"type": "string"
},
"depositQuotes": {
"type": "string"
},
"withdrawalQuotes": {
"type": "string"
},
"transfers": {
"type": "string"
},
"withdrawals": {
"type": "string"
},
"partnerFees": {
"type": "string"
},
"analytics": {
"type": "string"
},
"trafficAnalytics": {
"type": "string"
}
},
"required": [
"venue",
"accounts",
"profile",
"wallet",
"orders",
"tradingStatus",
"orderPrewarm",
"orderRequirements",
"positions",
"trades",
"eventsMarketsBooks",
"localization",
"depositInstructions",
"depositQuotes",
"withdrawalQuotes",
"transfers",
"withdrawals",
"partnerFees",
"analytics",
"trafficAnalytics"
],
"additionalProperties": false
}getTradingStatus
GET /v1/trading-status
SDK: crisp.call('getTradingStatus', input). Idempotency-Key: not required.
SDK input schema (path, query, body and key)
{
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
}Response data schema (HTTP 200)
{
"type": "object",
"properties": {
"mode": {
"type": "string",
"enum": [
"normal",
"cancel-only",
"disabled"
]
},
"provider": {
"type": "object",
"properties": {
"available": {
"type": "boolean"
},
"pageStatus": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"activeIncidents": {
"type": "integer",
"minimum": 0
},
"activeMaintenances": {
"type": "integer",
"minimum": 0
},
"checkedAt": {
"type": "string",
"format": "date-time"
}
},
"required": [
"available",
"pageStatus",
"activeIncidents",
"activeMaintenances",
"checkedAt"
],
"additionalProperties": false
},
"banner": {
"anyOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"visible": {
"type": "boolean"
},
"severity": {
"type": "string",
"enum": [
"info",
"warning",
"critical"
]
},
"message": {
"type": "string"
},
"statusPageUrl": {
"type": "string"
}
},
"required": [
"id",
"visible",
"severity",
"message",
"statusPageUrl"
],
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"required": [
"mode",
"provider",
"banner"
],
"additionalProperties": false
}createAccount
POST /v1/accounts
SDK: crisp.call('createAccount', input). Idempotency-Key: required.
SDK input schema (path, query, body and key)
{
"type": "object",
"properties": {
"body": {
"type": "object",
"properties": {
"externalUserId": {
"type": "string",
"pattern": "^[A-Za-z0-9._:@-]{1,200}$"
},
"email": {
"type": "string",
"format": "email",
"maxLength": 254
},
"externalWalletAddress": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{40}$"
},
"externalIdentity": {
"type": "object",
"properties": {
"label": {
"type": "string",
"pattern": "^[A-Za-z][A-Za-z0-9 _-]{0,63}$"
},
"value": {
"type": "string",
"minLength": 1,
"maxLength": 320
}
},
"required": [
"label",
"value"
],
"additionalProperties": false
},
"referrerExternalUserId": {
"type": "string",
"pattern": "^[A-Za-z0-9._:@-]{1,200}$"
}
},
"required": [
"externalUserId"
],
"additionalProperties": false
},
"idempotencyKey": {
"type": "string",
"pattern": "^[A-Za-z0-9._:-]{8,200}$"
}
},
"required": [
"body",
"idempotencyKey"
],
"additionalProperties": false
}Response data schema (HTTP 202)
{
"type": "object",
"properties": {
"crispAccountId": {
"type": "string",
"format": "uuid"
},
"externalUserId": {
"type": "string",
"pattern": "^[A-Za-z0-9._:@-]{1,200}$"
},
"status": {
"type": "string",
"enum": [
"provisioning",
"wallet_pending",
"polymarket_pending",
"identity_pending",
"ready",
"failed",
"revoked"
],
"description": "identity_pending is a legacy read state, not a supported new onboarding flow."
},
"failureCode": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
}
},
"required": [
"crispAccountId",
"externalUserId",
"status",
"failureCode",
"createdAt",
"updatedAt"
],
"additionalProperties": false
}listAccounts
GET /v1/accounts
SDK: crisp.call('listAccounts', input). Idempotency-Key: not required.
SDK input schema (path, query, body and key)
{
"type": "object",
"properties": {
"query": {
"type": "object",
"properties": {
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 200,
"default": 50
},
"offset": {
"type": "integer",
"minimum": 0
},
"status": {
"type": "string",
"enum": [
"provisioning",
"wallet_pending",
"polymarket_pending",
"identity_pending",
"ready",
"failed",
"revoked"
],
"description": "identity_pending is a legacy read state, not a supported new onboarding flow."
}
},
"required": [],
"additionalProperties": false
}
},
"required": [],
"additionalProperties": false
}Response data schema (HTTP 200)
{
"type": "object",
"properties": {
"accounts": {
"type": "array",
"items": {
"type": "object",
"properties": {
"crispAccountId": {
"type": "string",
"format": "uuid"
},
"externalUserId": {
"type": "string",
"pattern": "^[A-Za-z0-9._:@-]{1,200}$"
},
"status": {
"type": "string",
"enum": [
"provisioning",
"wallet_pending",
"polymarket_pending",
"identity_pending",
"ready",
"failed",
"revoked"
],
"description": "identity_pending is a legacy read state, not a supported new onboarding flow."
},
"failureCode": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
}
},
"required": [
"crispAccountId",
"externalUserId",
"status",
"failureCode",
"createdAt",
"updatedAt"
],
"additionalProperties": false
}
},
"total": {
"type": "integer",
"minimum": 0
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 200,
"default": 50
},
"offset": {
"type": "integer",
"minimum": 0
}
},
"required": [
"accounts",
"total",
"limit",
"offset"
],
"additionalProperties": false
}getAccount
GET /v1/accounts/{externalUserId}
SDK: crisp.call('getAccount', input). Idempotency-Key: not required.
SDK input schema (path, query, body and key)
{
"type": "object",
"properties": {
"path": {
"type": "object",
"properties": {
"externalUserId": {
"type": "string",
"pattern": "^[A-Za-z0-9._:@-]{1,200}$"
}
},
"required": [
"externalUserId"
],
"additionalProperties": false
}
},
"required": [
"path"
],
"additionalProperties": false
}Response data schema (HTTP 200)
{
"type": "object",
"properties": {
"crispAccountId": {
"type": "string",
"format": "uuid"
},
"externalUserId": {
"type": "string",
"pattern": "^[A-Za-z0-9._:@-]{1,200}$"
},
"status": {
"type": "string",
"enum": [
"provisioning",
"wallet_pending",
"polymarket_pending",
"identity_pending",
"ready",
"failed",
"revoked"
],
"description": "identity_pending is a legacy read state, not a supported new onboarding flow."
},
"failureCode": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
}
},
"required": [
"crispAccountId",
"externalUserId",
"status",
"failureCode",
"createdAt",
"updatedAt"
],
"additionalProperties": false
}getProfile
GET /v1/accounts/{externalUserId}/profile
SDK: crisp.call('getProfile', input). Idempotency-Key: not required.
SDK input schema (path, query, body and key)
{
"type": "object",
"properties": {
"path": {
"type": "object",
"properties": {
"externalUserId": {
"type": "string",
"pattern": "^[A-Za-z0-9._:@-]{1,200}$"
}
},
"required": [
"externalUserId"
],
"additionalProperties": false
}
},
"required": [
"path"
],
"additionalProperties": false
}Response data schema (HTTP 200)
{
"type": "object",
"properties": {
"crispAccountId": {
"type": "string",
"format": "uuid"
},
"externalUserId": {
"type": "string",
"pattern": "^[A-Za-z0-9._:@-]{1,200}$"
},
"externalIdentity": {
"anyOf": [
{
"type": "object",
"properties": {
"label": {
"type": "string",
"pattern": "^[A-Za-z][A-Za-z0-9 _-]{0,63}$"
},
"value": {
"type": "string",
"minLength": 1,
"maxLength": 320
}
},
"required": [
"label",
"value"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"profile": {
"type": "object",
"properties": {
"email": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"emailVerified": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"username": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"displayName": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"externalWalletAddress": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"externalWalletAddressVerified": {
"type": "boolean"
}
},
"required": [
"email",
"emailVerified",
"username",
"displayName",
"externalWalletAddress",
"externalWalletAddressVerified"
],
"additionalProperties": false
}
},
"required": [
"crispAccountId",
"externalUserId",
"externalIdentity",
"profile"
],
"additionalProperties": false
}getWallet
GET /v1/accounts/{externalUserId}/wallet
SDK: crisp.call('getWallet', input). Idempotency-Key: not required.
SDK input schema (path, query, body and key)
{
"type": "object",
"properties": {
"path": {
"type": "object",
"properties": {
"externalUserId": {
"type": "string",
"pattern": "^[A-Za-z0-9._:@-]{1,200}$"
}
},
"required": [
"externalUserId"
],
"additionalProperties": false
}
},
"required": [
"path"
],
"additionalProperties": false
}Response data schema (HTTP 200)
{
"type": "object",
"properties": {
"crispAccountId": {
"type": "string",
"format": "uuid"
},
"externalUserId": {
"type": "string",
"pattern": "^[A-Za-z0-9._:@-]{1,200}$"
},
"status": {
"type": "string",
"enum": [
"provisioning",
"wallet_pending",
"polymarket_pending",
"identity_pending",
"ready",
"failed",
"revoked"
],
"description": "identity_pending is a legacy read state, not a supported new onboarding flow."
},
"wallet": {
"anyOf": [
{
"type": "object",
"properties": {
"address": {
"type": "string"
},
"tradingAddress": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"type": {
"type": "string"
},
"onboardingStatus": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"tradeBlockedAt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"tradeBlockReason": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"address",
"tradingAddress",
"type",
"onboardingStatus",
"tradeBlockedAt",
"tradeBlockReason"
],
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"required": [
"crispAccountId",
"externalUserId",
"status",
"wallet"
],
"additionalProperties": false
}createOrderCellCapability
POST /v1/accounts/{externalUserId}/order-cell-capability
SDK: crisp.call('createOrderCellCapability', input). Idempotency-Key: not required.
SDK input schema (path, query, body and key)
{
"type": "object",
"properties": {
"path": {
"type": "object",
"properties": {
"externalUserId": {
"type": "string",
"pattern": "^[A-Za-z0-9._:@-]{1,200}$"
}
},
"required": [
"externalUserId"
],
"additionalProperties": false
}
},
"required": [
"path"
],
"additionalProperties": false
}Response data schema (HTTP 200)
{
"type": "object",
"properties": {
"execution": {
"type": "object",
"properties": {
"endpoint": {
"type": "string"
},
"capability": {
"type": "string"
},
"expiresAt": {
"type": "string",
"format": "date-time"
}
},
"required": [
"endpoint",
"capability",
"expiresAt"
],
"additionalProperties": false
}
},
"required": [
"execution"
],
"additionalProperties": false
}placeOrder
POST /v1/accounts/{externalUserId}/orders
SDK: crisp.call('placeOrder', input). Idempotency-Key: required.
SDK input schema (path, query, body and key)
{
"type": "object",
"properties": {
"path": {
"type": "object",
"properties": {
"externalUserId": {
"type": "string",
"pattern": "^[A-Za-z0-9._:@-]{1,200}$"
}
},
"required": [
"externalUserId"
],
"additionalProperties": false
},
"body": {
"oneOf": [
{
"type": "object",
"properties": {
"marketId": {
"type": "string"
},
"tokenId": {
"type": "string",
"pattern": "^(0|[1-9]\\d{0,100})$"
},
"side": {
"type": "string",
"enum": [
"BUY",
"SELL"
]
},
"type": {
"type": "string",
"enum": [
"market"
]
},
"amount": {
"type": "string",
"pattern": "^(?=\\d+(?:\\.\\d+)?$)(?=.*[1-9]).+$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
},
"price": {
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
},
"size": {
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
},
"priceLimit": {
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
},
"orderType": {
"type": "string"
},
"expiresInSeconds": {
"type": "integer",
"minimum": 0
},
"outcomeIndex": {
"type": "integer",
"minimum": 0
},
"tickSize": {
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
},
"negRisk": {
"type": "boolean"
}
},
"required": [
"marketId",
"tokenId",
"side",
"type",
"amount"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"marketId": {
"type": "string"
},
"tokenId": {
"type": "string",
"pattern": "^(0|[1-9]\\d{0,100})$"
},
"side": {
"type": "string",
"enum": [
"BUY",
"SELL"
]
},
"type": {
"type": "string",
"enum": [
"limit"
]
},
"amount": {
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
},
"price": {
"type": "string",
"pattern": "^0?\\.(?=\\d*[1-9])\\d+$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
},
"size": {
"type": "string",
"pattern": "^(?=\\d+(?:\\.\\d+)?$)(?=.*[1-9]).+$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
},
"priceLimit": {
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
},
"orderType": {
"type": "string"
},
"expiresInSeconds": {
"type": "integer",
"minimum": 0
},
"outcomeIndex": {
"type": "integer",
"minimum": 0
},
"tickSize": {
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
},
"negRisk": {
"type": "boolean"
}
},
"required": [
"marketId",
"tokenId",
"side",
"type",
"price",
"size"
],
"additionalProperties": false
}
],
"description": "Market BUY amount is a cash budget; market SELL amount is shares. Limit requires price and size. priceLimit is optional market slippage protection. Legacy numeric monetary inputs are accepted by the API; new clients use decimal strings."
},
"idempotencyKey": {
"type": "string",
"pattern": "^[A-Za-z0-9._:-]{8,200}$"
}
},
"required": [
"path",
"body",
"idempotencyKey"
],
"additionalProperties": false
}Response data schema (HTTP 202)
{
"type": "object",
"properties": {
"crispAccountId": {
"type": "string",
"format": "uuid"
},
"externalUserId": {
"type": "string",
"pattern": "^[A-Za-z0-9._:@-]{1,200}$"
},
"command": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"state": {
"type": "string",
"enum": [
"queued",
"running",
"retryable",
"succeeded",
"failed",
"ambiguous"
]
},
"failureCode": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"state",
"failureCode"
],
"additionalProperties": false
},
"order": {
"type": "object",
"properties": {
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"marketId": {
"type": "string"
},
"tokenId": {
"type": "string"
},
"side": {
"type": "string"
},
"type": {
"type": "string"
},
"status": {
"type": "string"
},
"fill": {
"anyOf": [
{
"type": "object",
"additionalProperties": true,
"description": "Venue-owned JSON extension; fields are not a stable CRISP contract. Handle missing fields."
},
{
"type": "null"
}
]
},
"priceLimit": {
"anyOf": [
{
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
]
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"marketId",
"tokenId",
"side",
"type",
"status",
"fill",
"priceLimit"
],
"additionalProperties": false
}
},
"required": [
"crispAccountId",
"externalUserId",
"command",
"order"
],
"additionalProperties": false
}prewarmOrders
POST /v1/accounts/{externalUserId}/orders/prewarm
SDK: crisp.call('prewarmOrders', input). Idempotency-Key: not required.
SDK input schema (path, query, body and key)
{
"type": "object",
"properties": {
"path": {
"type": "object",
"properties": {
"externalUserId": {
"type": "string",
"pattern": "^[A-Za-z0-9._:@-]{1,200}$"
}
},
"required": [
"externalUserId"
],
"additionalProperties": false
},
"body": {
"type": "object",
"properties": {
"tokenIds": {
"type": "array",
"items": {
"type": "string",
"pattern": "^(0|[1-9]\\d{0,100})$"
},
"minItems": 1,
"maxItems": 2
}
},
"required": [
"tokenIds"
],
"additionalProperties": false
}
},
"required": [
"path",
"body"
],
"additionalProperties": false
}Response data schema (HTTP 200)
{
"type": "object",
"properties": {
"tokenIds": {
"type": "array",
"items": {
"type": "string",
"pattern": "^(0|[1-9]\\d{0,100})$"
}
},
"warmed": {
"type": "boolean"
},
"skipped": {
"type": "string"
}
},
"required": [
"tokenIds",
"warmed"
],
"additionalProperties": false
}listOrders
GET /v1/accounts/{externalUserId}/orders
SDK: crisp.call('listOrders', input). Idempotency-Key: not required.
SDK input schema (path, query, body and key)
{
"type": "object",
"properties": {
"path": {
"type": "object",
"properties": {
"externalUserId": {
"type": "string",
"pattern": "^[A-Za-z0-9._:@-]{1,200}$"
}
},
"required": [
"externalUserId"
],
"additionalProperties": false
}
},
"required": [
"path"
],
"additionalProperties": false
}Response data schema (HTTP 200)
{
"type": "object",
"properties": {
"crispAccountId": {
"type": "string",
"format": "uuid"
},
"externalUserId": {
"type": "string",
"pattern": "^[A-Za-z0-9._:@-]{1,200}$"
},
"orders": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true,
"description": "Venue-owned JSON extension; fields are not a stable CRISP contract. Handle missing fields."
}
}
},
"required": [
"crispAccountId",
"externalUserId",
"orders"
],
"additionalProperties": false
}getOperation
GET /v1/accounts/{externalUserId}/operations/{operationId}
SDK: crisp.call('getOperation', input). Idempotency-Key: not required.
SDK input schema (path, query, body and key)
{
"type": "object",
"properties": {
"path": {
"type": "object",
"properties": {
"externalUserId": {
"type": "string",
"pattern": "^[A-Za-z0-9._:@-]{1,200}$"
},
"operationId": {
"type": "string",
"format": "uuid"
}
},
"required": [
"externalUserId",
"operationId"
],
"additionalProperties": false
}
},
"required": [
"path"
],
"additionalProperties": false
}Response data schema (HTTP 200)
{
"type": "object",
"properties": {
"operation": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"operation": {
"type": "string",
"enum": [
"order.place",
"order.cancel",
"position.redeem"
]
},
"state": {
"type": "string",
"enum": [
"queued",
"running",
"retryable",
"succeeded",
"failed",
"ambiguous"
]
},
"terminal": {
"type": "boolean"
},
"outcomeUnknown": {
"type": "boolean"
},
"failureCode": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"orderId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"redemption": {
"anyOf": [
{
"type": "object",
"properties": {
"transactionHash": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"count": {
"type": "integer",
"minimum": 0
},
"total": {
"type": "integer",
"minimum": 0
},
"conditionIds": {
"type": "array",
"items": {
"type": "string"
}
},
"fallback": {
"type": "boolean"
}
},
"required": [
"transactionHash",
"count",
"total",
"conditionIds",
"fallback"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
}
},
"required": [
"id",
"operation",
"state",
"terminal",
"outcomeUnknown",
"failureCode",
"orderId",
"redemption",
"createdAt",
"updatedAt"
],
"additionalProperties": false
}
},
"required": [
"operation"
],
"additionalProperties": false
}findOperation
GET /v1/accounts/{externalUserId}/operations
SDK: crisp.call('findOperation', input). Idempotency-Key: not required.
SDK input schema (path, query, body and key)
{
"type": "object",
"properties": {
"path": {
"type": "object",
"properties": {
"externalUserId": {
"type": "string",
"pattern": "^[A-Za-z0-9._:@-]{1,200}$"
}
},
"required": [
"externalUserId"
],
"additionalProperties": false
},
"query": {
"type": "object",
"properties": {
"operation": {
"type": "string",
"enum": [
"order.place",
"order.cancel",
"position.redeem"
]
},
"idempotencyKey": {
"type": "string",
"pattern": "^[A-Za-z0-9._:-]{8,200}$"
}
},
"required": [
"operation",
"idempotencyKey"
],
"additionalProperties": false
}
},
"required": [
"path",
"query"
],
"additionalProperties": false
}Response data schema (HTTP 200)
{
"type": "object",
"properties": {
"operation": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"operation": {
"type": "string",
"enum": [
"order.place",
"order.cancel",
"position.redeem"
]
},
"state": {
"type": "string",
"enum": [
"queued",
"running",
"retryable",
"succeeded",
"failed",
"ambiguous"
]
},
"terminal": {
"type": "boolean"
},
"outcomeUnknown": {
"type": "boolean"
},
"failureCode": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"orderId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"redemption": {
"anyOf": [
{
"type": "object",
"properties": {
"transactionHash": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"count": {
"type": "integer",
"minimum": 0
},
"total": {
"type": "integer",
"minimum": 0
},
"conditionIds": {
"type": "array",
"items": {
"type": "string"
}
},
"fallback": {
"type": "boolean"
}
},
"required": [
"transactionHash",
"count",
"total",
"conditionIds",
"fallback"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
}
},
"required": [
"id",
"operation",
"state",
"terminal",
"outcomeUnknown",
"failureCode",
"orderId",
"redemption",
"createdAt",
"updatedAt"
],
"additionalProperties": false
}
},
"required": [
"operation"
],
"additionalProperties": false
}listTradeFills
GET /v1/accounts/{externalUserId}/trade-fills
SDK: crisp.call('listTradeFills', input). Idempotency-Key: not required.
SDK input schema (path, query, body and key)
{
"type": "object",
"properties": {
"path": {
"type": "object",
"properties": {
"externalUserId": {
"type": "string",
"pattern": "^[A-Za-z0-9._:@-]{1,200}$"
}
},
"required": [
"externalUserId"
],
"additionalProperties": false
},
"query": {
"type": "object",
"properties": {
"from": {
"type": "string",
"format": "date-time"
},
"to": {
"type": "string",
"format": "date-time"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 50
},
"cursor": {
"type": "string"
}
},
"required": [
"from",
"to"
],
"additionalProperties": false
}
},
"required": [
"path",
"query"
],
"additionalProperties": false
}Response data schema (HTTP 200)
{
"type": "object",
"properties": {
"crispAccountId": {
"type": "string",
"format": "uuid"
},
"externalUserId": {
"type": "string",
"pattern": "^[A-Za-z0-9._:@-]{1,200}$"
},
"window": {
"type": "object",
"properties": {
"from": {
"type": "string",
"format": "date-time"
},
"to": {
"type": "string",
"format": "date-time"
}
},
"required": [
"from",
"to"
],
"additionalProperties": false
},
"fills": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"venue": {
"type": "string"
},
"upstreamFillId": {
"type": "string"
},
"clobOrderId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"clientOrderId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"matchedAt": {
"type": "string",
"format": "date-time"
},
"marketId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"marketTitle": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"assetId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"outcome": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"side": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"price": {
"anyOf": [
{
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
},
{
"type": "null"
}
]
},
"shares": {
"anyOf": [
{
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
},
{
"type": "null"
}
]
},
"notionalUsdc": {
"anyOf": [
{
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
},
{
"type": "null"
}
]
},
"venueFeeUsdc": {
"anyOf": [
{
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
},
{
"type": "null"
}
]
},
"venueTransactionHash": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"venueStatus": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"fee": {
"anyOf": [
{
"type": "object",
"properties": {
"collectionId": {
"type": "string",
"format": "uuid"
},
"amountUsdc": {
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
},
"state": {
"type": "string",
"enum": [
"queued",
"submitting",
"submitted",
"settled",
"manual_review"
]
},
"transactionHash": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"allocations": {
"type": "array",
"items": {
"type": "object",
"properties": {
"recipientType": {
"type": "string",
"enum": [
"crisp_revenue",
"partner_treasury",
"referral"
]
},
"referralLevel": {
"anyOf": [
{
"type": "integer",
"minimum": 0
},
{
"type": "null"
}
]
},
"beneficiaryAccountId": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
]
},
"amountUsdc": {
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
},
"destinationAddress": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"payout": {
"anyOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"state": {
"type": "string",
"enum": [
"queued",
"submitting",
"submitted",
"settled",
"manual_review"
]
},
"batchAmountUsdc": {
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
},
"transactionHash": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"state",
"batchAmountUsdc",
"transactionHash"
],
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"required": [
"recipientType",
"referralLevel",
"beneficiaryAccountId",
"amountUsdc",
"destinationAddress",
"payout"
],
"additionalProperties": false
}
}
},
"required": [
"collectionId",
"amountUsdc",
"state",
"transactionHash",
"allocations"
],
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"venue",
"upstreamFillId",
"clobOrderId",
"clientOrderId",
"matchedAt",
"marketId",
"marketTitle",
"assetId",
"outcome",
"side",
"price",
"shares",
"notionalUsdc",
"venueFeeUsdc",
"venueTransactionHash",
"venueStatus",
"fee"
],
"additionalProperties": false
}
},
"cursor": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"hasMore": {
"type": "boolean"
}
},
"required": [
"crispAccountId",
"externalUserId",
"window",
"fills",
"cursor",
"hasMore"
],
"additionalProperties": false
}listOrderTradeFills
GET /v1/accounts/{externalUserId}/orders/{orderId}/trade-fills
SDK: crisp.call('listOrderTradeFills', input). Idempotency-Key: not required.
SDK input schema (path, query, body and key)
{
"type": "object",
"properties": {
"path": {
"type": "object",
"properties": {
"externalUserId": {
"type": "string",
"pattern": "^[A-Za-z0-9._:@-]{1,200}$"
},
"orderId": {
"type": "string"
}
},
"required": [
"externalUserId",
"orderId"
],
"additionalProperties": false
},
"query": {
"type": "object",
"properties": {
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 200,
"default": 100
},
"cursor": {
"type": "string"
}
},
"required": [],
"additionalProperties": false
}
},
"required": [
"path"
],
"additionalProperties": false
}Response data schema (HTTP 200)
{
"type": "object",
"properties": {
"crispAccountId": {
"type": "string",
"format": "uuid"
},
"externalUserId": {
"type": "string",
"pattern": "^[A-Za-z0-9._:@-]{1,200}$"
},
"orderId": {
"type": "string"
},
"fills": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"venue": {
"type": "string"
},
"upstreamFillId": {
"type": "string"
},
"clobOrderId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"clientOrderId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"matchedAt": {
"type": "string",
"format": "date-time"
},
"marketId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"marketTitle": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"assetId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"outcome": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"side": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"price": {
"anyOf": [
{
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
},
{
"type": "null"
}
]
},
"shares": {
"anyOf": [
{
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
},
{
"type": "null"
}
]
},
"notionalUsdc": {
"anyOf": [
{
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
},
{
"type": "null"
}
]
},
"venueFeeUsdc": {
"anyOf": [
{
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
},
{
"type": "null"
}
]
},
"venueTransactionHash": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"venueStatus": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"fee": {
"anyOf": [
{
"type": "object",
"properties": {
"collectionId": {
"type": "string",
"format": "uuid"
},
"amountUsdc": {
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
},
"state": {
"type": "string",
"enum": [
"queued",
"submitting",
"submitted",
"settled",
"manual_review"
]
},
"transactionHash": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"allocations": {
"type": "array",
"items": {
"type": "object",
"properties": {
"recipientType": {
"type": "string",
"enum": [
"crisp_revenue",
"partner_treasury",
"referral"
]
},
"referralLevel": {
"anyOf": [
{
"type": "integer",
"minimum": 0
},
{
"type": "null"
}
]
},
"beneficiaryAccountId": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
]
},
"amountUsdc": {
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
},
"destinationAddress": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"payout": {
"anyOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"state": {
"type": "string",
"enum": [
"queued",
"submitting",
"submitted",
"settled",
"manual_review"
]
},
"batchAmountUsdc": {
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
},
"transactionHash": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"state",
"batchAmountUsdc",
"transactionHash"
],
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"required": [
"recipientType",
"referralLevel",
"beneficiaryAccountId",
"amountUsdc",
"destinationAddress",
"payout"
],
"additionalProperties": false
}
}
},
"required": [
"collectionId",
"amountUsdc",
"state",
"transactionHash",
"allocations"
],
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"venue",
"upstreamFillId",
"clobOrderId",
"clientOrderId",
"matchedAt",
"marketId",
"marketTitle",
"assetId",
"outcome",
"side",
"price",
"shares",
"notionalUsdc",
"venueFeeUsdc",
"venueTransactionHash",
"venueStatus",
"fee"
],
"additionalProperties": false
}
},
"cursor": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"hasMore": {
"type": "boolean"
}
},
"required": [
"crispAccountId",
"externalUserId",
"orderId",
"fills",
"cursor",
"hasMore"
],
"additionalProperties": false
}listUpdates
GET /v1/accounts/{externalUserId}/updates
SDK: crisp.call('listUpdates', input). Idempotency-Key: not required.
SDK input schema (path, query, body and key)
{
"type": "object",
"properties": {
"path": {
"type": "object",
"properties": {
"externalUserId": {
"type": "string",
"pattern": "^[A-Za-z0-9._:@-]{1,200}$"
}
},
"required": [
"externalUserId"
],
"additionalProperties": false
},
"query": {
"type": "object",
"properties": {
"cursor": {
"type": "string",
"pattern": "^\\d+$"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 200,
"default": 100
}
},
"required": [],
"additionalProperties": false
}
},
"required": [
"path"
],
"additionalProperties": false
}Response data schema (HTTP 200)
{
"type": "object",
"properties": {
"crispAccountId": {
"type": "string",
"format": "uuid"
},
"externalUserId": {
"type": "string",
"pattern": "^[A-Za-z0-9._:@-]{1,200}$"
},
"events": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"cursor": {
"type": "string"
},
"version": {
"type": "integer",
"enum": [
1
]
},
"type": {
"type": "string",
"enum": [
"account.status_changed",
"order.updated",
"trade.recorded",
"balance.updated",
"funding.updated",
"withdrawal.updated",
"position.redeemed",
"settlement.updated",
"reconciliation.completed"
]
},
"externalUserId": {
"type": "string",
"pattern": "^[A-Za-z0-9._:@-]{1,200}$"
},
"accountId": {
"type": "string",
"format": "uuid"
},
"occurredAt": {
"type": "string",
"format": "date-time"
},
"data": {
"type": "object",
"additionalProperties": true,
"description": "Venue-owned JSON extension; fields are not a stable CRISP contract. Handle missing fields."
}
},
"required": [
"id",
"cursor",
"version",
"type",
"externalUserId",
"accountId",
"occurredAt",
"data"
],
"additionalProperties": false
}
},
"updates": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"cursor": {
"type": "string"
},
"version": {
"type": "integer",
"enum": [
1
]
},
"type": {
"type": "string",
"enum": [
"account.status_changed",
"order.updated",
"trade.recorded",
"balance.updated",
"funding.updated",
"withdrawal.updated",
"position.redeemed",
"settlement.updated",
"reconciliation.completed"
]
},
"externalUserId": {
"type": "string",
"pattern": "^[A-Za-z0-9._:@-]{1,200}$"
},
"accountId": {
"type": "string",
"format": "uuid"
},
"occurredAt": {
"type": "string",
"format": "date-time"
},
"data": {
"type": "object",
"additionalProperties": true,
"description": "Venue-owned JSON extension; fields are not a stable CRISP contract. Handle missing fields."
}
},
"required": [
"id",
"cursor",
"version",
"type",
"externalUserId",
"accountId",
"occurredAt",
"data"
],
"additionalProperties": false
}
},
"cursor": {
"type": "string"
},
"hasMore": {
"type": "boolean"
}
},
"required": [
"crispAccountId",
"externalUserId",
"events",
"updates",
"cursor",
"hasMore"
],
"additionalProperties": false
}createRealtimeSession
POST /v1/accounts/{externalUserId}/realtime-session
SDK: crisp.call('createRealtimeSession', input). Idempotency-Key: not required.
SDK input schema (path, query, body and key)
{
"type": "object",
"properties": {
"path": {
"type": "object",
"properties": {
"externalUserId": {
"type": "string",
"pattern": "^[A-Za-z0-9._:@-]{1,200}$"
}
},
"required": [
"externalUserId"
],
"additionalProperties": false
}
},
"required": [
"path"
],
"additionalProperties": false
}Response data schema (HTTP 201)
{
"type": "object",
"properties": {
"crispAccountId": {
"type": "string",
"format": "uuid"
},
"session": {
"type": "object",
"properties": {
"transport": {
"type": "string",
"enum": [
"websocket"
]
},
"protocol": {
"type": "string",
"enum": [
"crisp-partner-realtime.v1"
]
},
"endpoint": {
"type": "string"
},
"token": {
"type": "string"
},
"expiresAt": {
"type": "string",
"format": "date-time"
},
"cursorKey": {
"type": "string"
}
},
"required": [
"transport",
"protocol",
"endpoint",
"token",
"expiresAt",
"cursorKey"
],
"additionalProperties": false
}
},
"required": [
"crispAccountId",
"session"
],
"additionalProperties": false
}getSellableShares
GET /v1/accounts/{externalUserId}/sellable-shares
SDK: crisp.call('getSellableShares', input). Idempotency-Key: not required.
SDK input schema (path, query, body and key)
{
"type": "object",
"properties": {
"path": {
"type": "object",
"properties": {
"externalUserId": {
"type": "string",
"pattern": "^[A-Za-z0-9._:@-]{1,200}$"
}
},
"required": [
"externalUserId"
],
"additionalProperties": false
},
"query": {
"type": "object",
"properties": {
"tokenId": {
"type": "string",
"pattern": "^(0|[1-9]\\d{0,100})$"
}
},
"required": [
"tokenId"
],
"additionalProperties": false
}
},
"required": [
"path",
"query"
],
"additionalProperties": false
}Response data schema (HTTP 200)
{
"type": "object",
"properties": {
"tokenId": {
"type": "string",
"pattern": "^(0|[1-9]\\d{0,100})$"
},
"availableShares": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"asOf": {
"type": "string",
"format": "date-time"
}
},
"required": [
"tokenId",
"availableShares",
"asOf"
],
"additionalProperties": false
}cancelOrder
POST /v1/accounts/{externalUserId}/orders/{orderId}/cancel
SDK: crisp.call('cancelOrder', input). Idempotency-Key: required.
SDK input schema (path, query, body and key)
{
"type": "object",
"properties": {
"path": {
"type": "object",
"properties": {
"externalUserId": {
"type": "string",
"pattern": "^[A-Za-z0-9._:@-]{1,200}$"
},
"orderId": {
"type": "string"
}
},
"required": [
"externalUserId",
"orderId"
],
"additionalProperties": false
},
"idempotencyKey": {
"type": "string",
"pattern": "^[A-Za-z0-9._:-]{8,200}$"
}
},
"required": [
"path",
"idempotencyKey"
],
"additionalProperties": false
}Response data schema (HTTP 202)
{
"type": "object",
"properties": {
"crispAccountId": {
"type": "string",
"format": "uuid"
},
"externalUserId": {
"type": "string",
"pattern": "^[A-Za-z0-9._:@-]{1,200}$"
},
"command": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"state": {
"type": "string",
"enum": [
"queued",
"running",
"retryable",
"succeeded",
"failed",
"ambiguous"
]
},
"failureCode": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"state",
"failureCode"
],
"additionalProperties": false
},
"orderId": {
"type": "string"
},
"response": {
"anyOf": [
{
"type": "object",
"additionalProperties": true,
"description": "Venue-owned JSON extension; fields are not a stable CRISP contract. Handle missing fields."
},
{
"type": "null"
}
]
}
},
"required": [
"crispAccountId",
"externalUserId",
"command",
"orderId",
"response"
],
"additionalProperties": false
}listPositions
GET /v1/accounts/{externalUserId}/positions
SDK: crisp.call('listPositions', input). Idempotency-Key: not required.
SDK input schema (path, query, body and key)
{
"type": "object",
"properties": {
"path": {
"type": "object",
"properties": {
"externalUserId": {
"type": "string",
"pattern": "^[A-Za-z0-9._:@-]{1,200}$"
}
},
"required": [
"externalUserId"
],
"additionalProperties": false
},
"query": {
"type": "object",
"properties": {
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 200,
"default": 50
},
"offset": {
"type": "integer",
"minimum": 0
},
"closed": {
"type": "boolean"
}
},
"required": [],
"additionalProperties": false
}
},
"required": [
"path"
],
"additionalProperties": false
}Response data schema (HTTP 200)
{
"type": "object",
"properties": {
"crispAccountId": {
"type": "string",
"format": "uuid"
},
"externalUserId": {
"type": "string",
"pattern": "^[A-Za-z0-9._:@-]{1,200}$"
},
"positions": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true,
"description": "Venue-owned JSON extension; fields are not a stable CRISP contract. Handle missing fields."
}
},
"normalized": {
"type": "array",
"items": {
"type": "object",
"properties": {
"marketId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"tokenId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"outcome": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"outcomeIndex": {
"anyOf": [
{
"type": "integer",
"minimum": 0
},
{
"type": "null"
}
]
},
"shares": {
"anyOf": [
{
"type": "string",
"pattern": "^-?\\d+(?:\\.\\d+)?$",
"description": "Venue display snapshot, not spendable balance or ledger authority."
},
{
"type": "null"
}
]
},
"averagePrice": {
"anyOf": [
{
"type": "string",
"pattern": "^-?\\d+(?:\\.\\d+)?$",
"description": "Venue display snapshot, not spendable balance or ledger authority."
},
{
"type": "null"
}
]
},
"currentPrice": {
"anyOf": [
{
"type": "string",
"pattern": "^-?\\d+(?:\\.\\d+)?$",
"description": "Venue display snapshot, not spendable balance or ledger authority."
},
{
"type": "null"
}
]
},
"costUsd": {
"anyOf": [
{
"type": "string",
"pattern": "^-?\\d+(?:\\.\\d+)?$",
"description": "Venue display snapshot, not spendable balance or ledger authority."
},
{
"type": "null"
}
]
},
"currentValueUsd": {
"anyOf": [
{
"type": "string",
"pattern": "^-?\\d+(?:\\.\\d+)?$",
"description": "Venue display snapshot, not spendable balance or ledger authority."
},
{
"type": "null"
}
]
},
"cashPnlUsd": {
"anyOf": [
{
"type": "string",
"pattern": "^-?\\d+(?:\\.\\d+)?$",
"description": "Venue display snapshot, not spendable balance or ledger authority."
},
{
"type": "null"
}
]
},
"realizedPnlUsd": {
"anyOf": [
{
"type": "string",
"pattern": "^-?\\d+(?:\\.\\d+)?$",
"description": "Venue display snapshot, not spendable balance or ledger authority."
},
{
"type": "null"
}
]
},
"redeemable": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"negRisk": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
}
},
"required": [
"marketId",
"tokenId",
"title",
"outcome",
"outcomeIndex",
"shares",
"averagePrice",
"currentPrice",
"costUsd",
"currentValueUsd",
"cashPnlUsd",
"realizedPnlUsd",
"redeemable",
"negRisk"
],
"additionalProperties": false
}
}
},
"required": [
"crispAccountId",
"externalUserId",
"positions",
"normalized"
],
"additionalProperties": false
}redeemPositions
POST /v1/accounts/{externalUserId}/positions/redeem
SDK: crisp.call('redeemPositions', input). Idempotency-Key: required.
SDK input schema (path, query, body and key)
{
"type": "object",
"properties": {
"path": {
"type": "object",
"properties": {
"externalUserId": {
"type": "string",
"pattern": "^[A-Za-z0-9._:@-]{1,200}$"
}
},
"required": [
"externalUserId"
],
"additionalProperties": false
},
"body": {
"type": "object",
"properties": {
"positions": {
"type": "array",
"minItems": 1,
"maxItems": 20,
"items": {
"type": "object",
"properties": {
"conditionId": {
"type": "string"
},
"size": {
"type": "number"
},
"outcomeIndex": {
"type": "integer",
"enum": [
0,
1
]
},
"negRisk": {
"type": "boolean"
}
},
"required": [
"conditionId",
"size",
"outcomeIndex",
"negRisk"
],
"additionalProperties": false
}
}
},
"required": [
"positions"
],
"additionalProperties": false
},
"idempotencyKey": {
"type": "string",
"pattern": "^[A-Za-z0-9._:-]{8,200}$"
}
},
"required": [
"path",
"body",
"idempotencyKey"
],
"additionalProperties": false
}Response data schema (HTTP 202)
{
"type": "object",
"properties": {
"crispAccountId": {
"type": "string",
"format": "uuid"
},
"externalUserId": {
"type": "string",
"pattern": "^[A-Za-z0-9._:@-]{1,200}$"
},
"command": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"state": {
"type": "string",
"enum": [
"queued",
"running",
"retryable",
"succeeded",
"failed",
"ambiguous"
]
},
"failureCode": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"state",
"failureCode"
],
"additionalProperties": false
},
"redemption": {
"type": "object",
"properties": {
"transactionHash": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"count": {
"type": "integer",
"minimum": 0
},
"total": {
"type": "integer",
"minimum": 0
},
"conditionIds": {
"type": "array",
"items": {
"type": "string"
}
},
"fallback": {
"type": "boolean"
}
},
"required": [
"transactionHash",
"count",
"total",
"conditionIds",
"fallback"
],
"additionalProperties": false
}
},
"required": [
"crispAccountId",
"externalUserId",
"command",
"redemption"
],
"additionalProperties": false
}listTrades
GET /v1/accounts/{externalUserId}/trades
SDK: crisp.call('listTrades', input). Idempotency-Key: not required.
SDK input schema (path, query, body and key)
{
"type": "object",
"properties": {
"path": {
"type": "object",
"properties": {
"externalUserId": {
"type": "string",
"pattern": "^[A-Za-z0-9._:@-]{1,200}$"
}
},
"required": [
"externalUserId"
],
"additionalProperties": false
},
"query": {
"type": "object",
"properties": {
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 200,
"default": 50
},
"offset": {
"type": "integer",
"minimum": 0
},
"conditionId": {
"type": "string"
}
},
"required": [],
"additionalProperties": false
}
},
"required": [
"path"
],
"additionalProperties": false
}Response data schema (HTTP 200)
{
"type": "object",
"properties": {
"crispAccountId": {
"type": "string",
"format": "uuid"
},
"externalUserId": {
"type": "string",
"pattern": "^[A-Za-z0-9._:@-]{1,200}$"
},
"trades": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true,
"description": "Venue-owned JSON extension; fields are not a stable CRISP contract. Handle missing fields."
}
},
"normalized": {
"type": "array",
"items": {
"type": "object",
"properties": {
"marketId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"tokenId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"outcome": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"side": {
"anyOf": [
{
"type": "string",
"enum": [
"BUY",
"SELL"
]
},
{
"type": "null"
}
]
},
"shares": {
"anyOf": [
{
"type": "string",
"pattern": "^-?\\d+(?:\\.\\d+)?$",
"description": "Venue display snapshot, not spendable balance or ledger authority."
},
{
"type": "null"
}
]
},
"price": {
"anyOf": [
{
"type": "string",
"pattern": "^-?\\d+(?:\\.\\d+)?$",
"description": "Venue display snapshot, not spendable balance or ledger authority."
},
{
"type": "null"
}
]
},
"timestampSeconds": {
"anyOf": [
{
"type": "integer",
"minimum": 0
},
{
"type": "null"
}
]
},
"transactionHash": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"marketId",
"tokenId",
"title",
"outcome",
"side",
"shares",
"price",
"timestampSeconds",
"transactionHash"
],
"additionalProperties": false
}
}
},
"required": [
"crispAccountId",
"externalUserId",
"trades",
"normalized"
],
"additionalProperties": false
}getDiscoveryLocalization
GET /v1/localization/discovery
SDK: crisp.call('getDiscoveryLocalization', input). Idempotency-Key: not required.
SDK input schema (path, query, body and key)
{
"type": "object",
"properties": {
"query": {
"type": "object",
"properties": {
"locale": {
"type": "string",
"enum": [
"en",
"zh",
"zh-hant",
"ja"
]
}
},
"required": [],
"additionalProperties": false
}
},
"required": [],
"additionalProperties": false
}Response data schema (HTTP 200)
{
"type": "object",
"properties": {
"locale": {
"type": "string",
"enum": [
"en",
"zh",
"zh-hant",
"ja"
]
},
"fallbackLocale": {
"type": "string",
"enum": [
"en"
]
},
"source": {
"type": "string",
"enum": [
"upstream",
"unavailable"
]
},
"topics": {
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"label": {
"type": "string"
}
},
"required": [
"key",
"label"
],
"additionalProperties": false
}
},
"tags": {
"type": "array",
"items": {
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"label": {
"type": "string"
}
},
"required": [
"slug",
"label"
],
"additionalProperties": false
}
}
},
"required": [
"locale",
"fallbackLocale",
"source",
"topics",
"tags"
],
"additionalProperties": false
}getLocalizationLocales
GET /v1/localization/locales
SDK: crisp.call('getLocalizationLocales', input). Idempotency-Key: not required.
SDK input schema (path, query, body and key)
{
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
}Response data schema (HTTP 200)
{
"type": "object",
"properties": {
"locales": {
"type": "array",
"items": {
"type": "string",
"enum": [
"en",
"zh",
"zh-hant",
"ja"
]
}
},
"defaultLocale": {
"type": "string",
"enum": [
"en"
]
},
"maxBatchSize": {
"type": "integer",
"minimum": 0
},
"rulesPolicy": {
"type": "string",
"enum": [
"original_only"
]
}
},
"required": [
"locales",
"defaultLocale",
"maxBatchSize",
"rulesPolicy"
],
"additionalProperties": false
}getCatalogLocalization
GET /v1/localization/catalog
SDK: crisp.call('getCatalogLocalization', input). Idempotency-Key: not required.
SDK input schema (path, query, body and key)
{
"type": "object",
"properties": {
"query": {
"type": "object",
"properties": {
"locale": {
"type": "string",
"enum": [
"en",
"zh",
"zh-hant",
"ja"
]
},
"eventId": {
"type": "array",
"items": {
"type": "string",
"pattern": "^\\d{1,64}$"
},
"maxItems": 25
},
"marketId": {
"type": "array",
"items": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{64}$"
},
"maxItems": 25
}
},
"required": [],
"additionalProperties": false
}
},
"required": [],
"additionalProperties": false
}Response data schema (HTTP 200)
{
"type": "object",
"properties": {
"locale": {
"type": "string",
"enum": [
"en",
"zh",
"zh-hant",
"ja"
]
},
"fallbackLocale": {
"type": "string",
"enum": [
"en"
]
},
"source": {
"type": "string",
"enum": [
"upstream",
"unavailable"
]
},
"events": {
"type": "array",
"items": {
"type": "object",
"properties": {
"eventId": {
"type": "string"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"seriesTitle": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"markets": {
"type": "array",
"items": {
"type": "object",
"properties": {
"marketId": {
"type": "string"
},
"sourceMarketId": {
"type": "string"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"groupItemTitle": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"outcomes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"tokenId": {
"type": "string",
"pattern": "^(0|[1-9]\\d{0,100})$"
},
"index": {
"type": "integer",
"minimum": 0
},
"label": {
"type": "string"
}
},
"required": [
"tokenId",
"index",
"label"
],
"additionalProperties": false
}
}
},
"required": [
"marketId",
"sourceMarketId",
"title",
"groupItemTitle",
"outcomes"
],
"additionalProperties": false
}
},
"tags": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"label": {
"type": "string"
}
},
"required": [
"id",
"label"
],
"additionalProperties": false
}
}
},
"required": [
"eventId",
"title",
"markets",
"tags"
],
"additionalProperties": false
}
},
"markets": {
"type": "array",
"items": {
"type": "object",
"properties": {
"marketId": {
"type": "string"
},
"sourceMarketId": {
"type": "string"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"groupItemTitle": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"outcomes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"tokenId": {
"type": "string",
"pattern": "^(0|[1-9]\\d{0,100})$"
},
"index": {
"type": "integer",
"minimum": 0
},
"label": {
"type": "string"
}
},
"required": [
"tokenId",
"index",
"label"
],
"additionalProperties": false
}
}
},
"required": [
"marketId",
"sourceMarketId",
"title",
"groupItemTitle",
"outcomes"
],
"additionalProperties": false
}
},
"missingEventIds": {
"type": "array",
"items": {
"type": "string"
}
},
"missingMarketIds": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"locale",
"fallbackLocale",
"source",
"events",
"markets",
"missingEventIds",
"missingMarketIds"
],
"additionalProperties": false
}listEvents
GET /v1/events
SDK: crisp.call('listEvents', input). Idempotency-Key: not required.
SDK input schema (path, query, body and key)
{
"type": "object",
"properties": {
"query": {
"type": "object",
"properties": {
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 200,
"default": 50
},
"offset": {
"type": "integer",
"minimum": 0
},
"active": {
"type": "boolean"
},
"closed": {
"type": "boolean"
},
"tag": {
"type": "string"
},
"locale": {
"type": "string",
"enum": [
"en",
"zh",
"zh-hant",
"ja"
]
}
},
"required": [],
"additionalProperties": false
}
},
"required": [],
"additionalProperties": false
}Response data schema (HTTP 200)
{
"type": "object",
"properties": {
"events": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true,
"description": "Venue-owned JSON extension; fields are not a stable CRISP contract. Handle missing fields."
}
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 200,
"default": 50
},
"offset": {
"type": "integer",
"minimum": 0
},
"localization": {
"type": "object",
"properties": {
"locale": {
"type": "string",
"enum": [
"en",
"zh",
"zh-hant",
"ja"
]
},
"fallbackLocale": {
"type": "string",
"enum": [
"en"
]
},
"source": {
"type": "string",
"enum": [
"upstream",
"unavailable"
]
},
"events": {
"type": "array",
"items": {
"type": "object",
"properties": {
"eventId": {
"type": "string"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"seriesTitle": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"markets": {
"type": "array",
"items": {
"type": "object",
"properties": {
"marketId": {
"type": "string"
},
"sourceMarketId": {
"type": "string"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"groupItemTitle": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"outcomes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"tokenId": {
"type": "string",
"pattern": "^(0|[1-9]\\d{0,100})$"
},
"index": {
"type": "integer",
"minimum": 0
},
"label": {
"type": "string"
}
},
"required": [
"tokenId",
"index",
"label"
],
"additionalProperties": false
}
}
},
"required": [
"marketId",
"sourceMarketId",
"title",
"groupItemTitle",
"outcomes"
],
"additionalProperties": false
}
},
"tags": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"label": {
"type": "string"
}
},
"required": [
"id",
"label"
],
"additionalProperties": false
}
}
},
"required": [
"eventId",
"title",
"markets",
"tags"
],
"additionalProperties": false
}
},
"markets": {
"type": "array",
"items": {
"type": "object",
"properties": {
"marketId": {
"type": "string"
},
"sourceMarketId": {
"type": "string"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"groupItemTitle": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"outcomes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"tokenId": {
"type": "string",
"pattern": "^(0|[1-9]\\d{0,100})$"
},
"index": {
"type": "integer",
"minimum": 0
},
"label": {
"type": "string"
}
},
"required": [
"tokenId",
"index",
"label"
],
"additionalProperties": false
}
}
},
"required": [
"marketId",
"sourceMarketId",
"title",
"groupItemTitle",
"outcomes"
],
"additionalProperties": false
}
},
"missingEventIds": {
"type": "array",
"items": {
"type": "string"
}
},
"missingMarketIds": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"locale",
"fallbackLocale",
"source",
"events",
"markets",
"missingEventIds",
"missingMarketIds"
],
"additionalProperties": false
}
},
"required": [
"events",
"limit",
"offset"
],
"additionalProperties": false
}getEvent
GET /v1/events/{id}
SDK: crisp.call('getEvent', input). Idempotency-Key: not required.
SDK input schema (path, query, body and key)
{
"type": "object",
"properties": {
"path": {
"type": "object",
"properties": {
"id": {
"type": "string"
}
},
"required": [
"id"
],
"additionalProperties": false
},
"query": {
"type": "object",
"properties": {
"locale": {
"type": "string",
"enum": [
"en",
"zh",
"zh-hant",
"ja"
]
}
},
"required": [],
"additionalProperties": false
}
},
"required": [
"path"
],
"additionalProperties": false
}Response data schema (HTTP 200)
{
"type": "object",
"properties": {
"event": {
"type": "object",
"additionalProperties": true,
"description": "Venue-owned JSON extension; fields are not a stable CRISP contract. Handle missing fields."
},
"localization": {
"type": "object",
"properties": {
"locale": {
"type": "string",
"enum": [
"en",
"zh",
"zh-hant",
"ja"
]
},
"fallbackLocale": {
"type": "string",
"enum": [
"en"
]
},
"source": {
"type": "string",
"enum": [
"upstream",
"unavailable"
]
},
"events": {
"type": "array",
"items": {
"type": "object",
"properties": {
"eventId": {
"type": "string"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"seriesTitle": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"markets": {
"type": "array",
"items": {
"type": "object",
"properties": {
"marketId": {
"type": "string"
},
"sourceMarketId": {
"type": "string"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"groupItemTitle": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"outcomes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"tokenId": {
"type": "string",
"pattern": "^(0|[1-9]\\d{0,100})$"
},
"index": {
"type": "integer",
"minimum": 0
},
"label": {
"type": "string"
}
},
"required": [
"tokenId",
"index",
"label"
],
"additionalProperties": false
}
}
},
"required": [
"marketId",
"sourceMarketId",
"title",
"groupItemTitle",
"outcomes"
],
"additionalProperties": false
}
},
"tags": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"label": {
"type": "string"
}
},
"required": [
"id",
"label"
],
"additionalProperties": false
}
}
},
"required": [
"eventId",
"title",
"markets",
"tags"
],
"additionalProperties": false
}
},
"markets": {
"type": "array",
"items": {
"type": "object",
"properties": {
"marketId": {
"type": "string"
},
"sourceMarketId": {
"type": "string"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"groupItemTitle": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"outcomes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"tokenId": {
"type": "string",
"pattern": "^(0|[1-9]\\d{0,100})$"
},
"index": {
"type": "integer",
"minimum": 0
},
"label": {
"type": "string"
}
},
"required": [
"tokenId",
"index",
"label"
],
"additionalProperties": false
}
}
},
"required": [
"marketId",
"sourceMarketId",
"title",
"groupItemTitle",
"outcomes"
],
"additionalProperties": false
}
},
"missingEventIds": {
"type": "array",
"items": {
"type": "string"
}
},
"missingMarketIds": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"locale",
"fallbackLocale",
"source",
"events",
"markets",
"missingEventIds",
"missingMarketIds"
],
"additionalProperties": false
}
},
"required": [
"event"
],
"additionalProperties": false
}listMarkets
GET /v1/markets
SDK: crisp.call('listMarkets', input). Idempotency-Key: not required.
SDK input schema (path, query, body and key)
{
"type": "object",
"properties": {
"query": {
"type": "object",
"properties": {
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 200,
"default": 50
},
"offset": {
"type": "integer",
"minimum": 0
},
"active": {
"type": "boolean"
},
"closed": {
"type": "boolean"
},
"conditionId": {
"type": "array",
"items": {
"type": "string"
}
},
"locale": {
"type": "string",
"enum": [
"en",
"zh",
"zh-hant",
"ja"
]
}
},
"required": [],
"additionalProperties": false
}
},
"required": [],
"additionalProperties": false
}Response data schema (HTTP 200)
{
"type": "object",
"properties": {
"markets": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true,
"description": "Venue-owned JSON extension; fields are not a stable CRISP contract. Handle missing fields."
}
},
"normalized": {
"type": "array",
"items": {
"type": "object",
"properties": {
"marketId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"slug": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"imageUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"active": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"closed": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"acceptingOrders": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"outcomes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"tokenId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"label": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"index": {
"type": "integer",
"minimum": 0
},
"price": {
"anyOf": [
{
"type": "string",
"pattern": "^-?\\d+(?:\\.\\d+)?$",
"description": "Venue display snapshot, not spendable balance or ledger authority."
},
{
"type": "null"
}
]
}
},
"required": [
"tokenId",
"label",
"index",
"price"
],
"additionalProperties": false
}
}
},
"required": [
"marketId",
"title",
"slug",
"imageUrl",
"active",
"closed",
"acceptingOrders",
"outcomes"
],
"additionalProperties": false
}
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 200,
"default": 50
},
"offset": {
"type": "integer",
"minimum": 0
},
"localization": {
"type": "object",
"properties": {
"locale": {
"type": "string",
"enum": [
"en",
"zh",
"zh-hant",
"ja"
]
},
"fallbackLocale": {
"type": "string",
"enum": [
"en"
]
},
"source": {
"type": "string",
"enum": [
"upstream",
"unavailable"
]
},
"events": {
"type": "array",
"items": {
"type": "object",
"properties": {
"eventId": {
"type": "string"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"seriesTitle": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"markets": {
"type": "array",
"items": {
"type": "object",
"properties": {
"marketId": {
"type": "string"
},
"sourceMarketId": {
"type": "string"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"groupItemTitle": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"outcomes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"tokenId": {
"type": "string",
"pattern": "^(0|[1-9]\\d{0,100})$"
},
"index": {
"type": "integer",
"minimum": 0
},
"label": {
"type": "string"
}
},
"required": [
"tokenId",
"index",
"label"
],
"additionalProperties": false
}
}
},
"required": [
"marketId",
"sourceMarketId",
"title",
"groupItemTitle",
"outcomes"
],
"additionalProperties": false
}
},
"tags": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"label": {
"type": "string"
}
},
"required": [
"id",
"label"
],
"additionalProperties": false
}
}
},
"required": [
"eventId",
"title",
"markets",
"tags"
],
"additionalProperties": false
}
},
"markets": {
"type": "array",
"items": {
"type": "object",
"properties": {
"marketId": {
"type": "string"
},
"sourceMarketId": {
"type": "string"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"groupItemTitle": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"outcomes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"tokenId": {
"type": "string",
"pattern": "^(0|[1-9]\\d{0,100})$"
},
"index": {
"type": "integer",
"minimum": 0
},
"label": {
"type": "string"
}
},
"required": [
"tokenId",
"index",
"label"
],
"additionalProperties": false
}
}
},
"required": [
"marketId",
"sourceMarketId",
"title",
"groupItemTitle",
"outcomes"
],
"additionalProperties": false
}
},
"missingEventIds": {
"type": "array",
"items": {
"type": "string"
}
},
"missingMarketIds": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"locale",
"fallbackLocale",
"source",
"events",
"markets",
"missingEventIds",
"missingMarketIds"
],
"additionalProperties": false
}
},
"required": [
"markets",
"normalized",
"limit",
"offset"
],
"additionalProperties": false
}getMarket
GET /v1/markets/{conditionId}
SDK: crisp.call('getMarket', input). Idempotency-Key: not required.
SDK input schema (path, query, body and key)
{
"type": "object",
"properties": {
"path": {
"type": "object",
"properties": {
"conditionId": {
"type": "string"
}
},
"required": [
"conditionId"
],
"additionalProperties": false
},
"query": {
"type": "object",
"properties": {
"locale": {
"type": "string",
"enum": [
"en",
"zh",
"zh-hant",
"ja"
]
}
},
"required": [],
"additionalProperties": false
}
},
"required": [
"path"
],
"additionalProperties": false
}Response data schema (HTTP 200)
{
"type": "object",
"properties": {
"conditionId": {
"type": "string"
},
"markets": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true,
"description": "Venue-owned JSON extension; fields are not a stable CRISP contract. Handle missing fields."
}
},
"normalized": {
"type": "array",
"items": {
"type": "object",
"properties": {
"marketId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"slug": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"imageUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"active": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"closed": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"acceptingOrders": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"outcomes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"tokenId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"label": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"index": {
"type": "integer",
"minimum": 0
},
"price": {
"anyOf": [
{
"type": "string",
"pattern": "^-?\\d+(?:\\.\\d+)?$",
"description": "Venue display snapshot, not spendable balance or ledger authority."
},
{
"type": "null"
}
]
}
},
"required": [
"tokenId",
"label",
"index",
"price"
],
"additionalProperties": false
}
}
},
"required": [
"marketId",
"title",
"slug",
"imageUrl",
"active",
"closed",
"acceptingOrders",
"outcomes"
],
"additionalProperties": false
}
},
"localization": {
"type": "object",
"properties": {
"locale": {
"type": "string",
"enum": [
"en",
"zh",
"zh-hant",
"ja"
]
},
"fallbackLocale": {
"type": "string",
"enum": [
"en"
]
},
"source": {
"type": "string",
"enum": [
"upstream",
"unavailable"
]
},
"events": {
"type": "array",
"items": {
"type": "object",
"properties": {
"eventId": {
"type": "string"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"seriesTitle": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"markets": {
"type": "array",
"items": {
"type": "object",
"properties": {
"marketId": {
"type": "string"
},
"sourceMarketId": {
"type": "string"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"groupItemTitle": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"outcomes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"tokenId": {
"type": "string",
"pattern": "^(0|[1-9]\\d{0,100})$"
},
"index": {
"type": "integer",
"minimum": 0
},
"label": {
"type": "string"
}
},
"required": [
"tokenId",
"index",
"label"
],
"additionalProperties": false
}
}
},
"required": [
"marketId",
"sourceMarketId",
"title",
"groupItemTitle",
"outcomes"
],
"additionalProperties": false
}
},
"tags": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"label": {
"type": "string"
}
},
"required": [
"id",
"label"
],
"additionalProperties": false
}
}
},
"required": [
"eventId",
"title",
"markets",
"tags"
],
"additionalProperties": false
}
},
"markets": {
"type": "array",
"items": {
"type": "object",
"properties": {
"marketId": {
"type": "string"
},
"sourceMarketId": {
"type": "string"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"groupItemTitle": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"outcomes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"tokenId": {
"type": "string",
"pattern": "^(0|[1-9]\\d{0,100})$"
},
"index": {
"type": "integer",
"minimum": 0
},
"label": {
"type": "string"
}
},
"required": [
"tokenId",
"index",
"label"
],
"additionalProperties": false
}
}
},
"required": [
"marketId",
"sourceMarketId",
"title",
"groupItemTitle",
"outcomes"
],
"additionalProperties": false
}
},
"missingEventIds": {
"type": "array",
"items": {
"type": "string"
}
},
"missingMarketIds": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"locale",
"fallbackLocale",
"source",
"events",
"markets",
"missingEventIds",
"missingMarketIds"
],
"additionalProperties": false
}
},
"required": [
"conditionId",
"markets",
"normalized"
],
"additionalProperties": false
}getBook
GET /v1/books/{tokenId}
SDK: crisp.call('getBook', input). Idempotency-Key: not required.
SDK input schema (path, query, body and key)
{
"type": "object",
"properties": {
"path": {
"type": "object",
"properties": {
"tokenId": {
"type": "string",
"pattern": "^(0|[1-9]\\d{0,100})$"
}
},
"required": [
"tokenId"
],
"additionalProperties": false
}
},
"required": [
"path"
],
"additionalProperties": false
}Response data schema (HTTP 200)
{
"type": "object",
"properties": {
"tokenId": {
"type": "string",
"pattern": "^(0|[1-9]\\d{0,100})$"
},
"book": {
"type": "object",
"additionalProperties": true,
"description": "Venue-owned JSON extension; fields are not a stable CRISP contract. Handle missing fields."
},
"normalized": {
"type": "object",
"properties": {
"tokenId": {
"type": "string"
},
"marketId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"bids": {
"type": "array",
"items": {
"type": "object",
"properties": {
"price": {
"anyOf": [
{
"type": "string",
"pattern": "^-?\\d+(?:\\.\\d+)?$",
"description": "Venue display snapshot, not spendable balance or ledger authority."
},
{
"type": "null"
}
]
},
"shares": {
"anyOf": [
{
"type": "string",
"pattern": "^-?\\d+(?:\\.\\d+)?$",
"description": "Venue display snapshot, not spendable balance or ledger authority."
},
{
"type": "null"
}
]
}
},
"required": [
"price",
"shares"
],
"additionalProperties": false
}
},
"asks": {
"type": "array",
"items": {
"type": "object",
"properties": {
"price": {
"anyOf": [
{
"type": "string",
"pattern": "^-?\\d+(?:\\.\\d+)?$",
"description": "Venue display snapshot, not spendable balance or ledger authority."
},
{
"type": "null"
}
]
},
"shares": {
"anyOf": [
{
"type": "string",
"pattern": "^-?\\d+(?:\\.\\d+)?$",
"description": "Venue display snapshot, not spendable balance or ledger authority."
},
{
"type": "null"
}
]
}
},
"required": [
"price",
"shares"
],
"additionalProperties": false
}
},
"minimumOrderShares": {
"anyOf": [
{
"type": "string",
"pattern": "^-?\\d+(?:\\.\\d+)?$",
"description": "Venue display snapshot, not spendable balance or ledger authority."
},
{
"type": "null"
}
]
},
"tickSize": {
"anyOf": [
{
"type": "string",
"pattern": "^-?\\d+(?:\\.\\d+)?$",
"description": "Venue display snapshot, not spendable balance or ledger authority."
},
{
"type": "null"
}
]
},
"negRisk": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
}
},
"required": [
"tokenId",
"marketId",
"bids",
"asks",
"minimumOrderShares",
"tickSize",
"negRisk"
],
"additionalProperties": false
}
},
"required": [
"tokenId",
"book",
"normalized"
],
"additionalProperties": false
}getOrderRequirements
GET /v1/order-requirements
SDK: crisp.call('getOrderRequirements', input). Idempotency-Key: not required.
SDK input schema (path, query, body and key)
{
"type": "object",
"properties": {
"query": {
"type": "object",
"properties": {
"tokenId": {
"type": "string",
"pattern": "^(0|[1-9]\\d{0,100})$"
},
"side": {
"type": "string",
"enum": [
"BUY",
"SELL"
]
},
"type": {
"type": "string",
"enum": [
"market",
"limit"
]
},
"amount": {
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
},
"amounts": {
"type": "string"
},
"price": {
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
},
"size": {
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
}
},
"required": [
"tokenId",
"side"
],
"additionalProperties": false
}
},
"required": [
"query"
],
"additionalProperties": false
}Response data schema (HTTP 200)
{
"type": "object",
"properties": {
"requirements": {
"type": "object",
"properties": {
"tokenId": {
"type": "string",
"pattern": "^(0|[1-9]\\d{0,100})$"
},
"side": {
"type": "string",
"enum": [
"BUY",
"SELL"
]
},
"type": {
"type": "string",
"enum": [
"market",
"limit"
]
},
"minOrderSize": {
"type": "number"
},
"tickSize": {
"type": "number"
},
"minimumBuyAmount": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"allInBuyAmount": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"payoutIfWon": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"averagePrice": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"marketBuyQuotes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"allInAmount": {
"type": "number"
},
"payoutIfWon": {
"type": "number"
},
"averagePrice": {
"type": "number"
}
},
"required": [
"allInAmount",
"payoutIfWon",
"averagePrice"
],
"additionalProperties": false
}
},
"asOf": {
"type": "string",
"format": "date-time"
}
},
"required": [
"tokenId",
"side",
"type",
"minOrderSize",
"tickSize",
"minimumBuyAmount",
"allInBuyAmount",
"payoutIfWon",
"averagePrice",
"marketBuyQuotes",
"asOf"
],
"additionalProperties": false
}
},
"required": [
"requirements"
],
"additionalProperties": false
}getDepositInstructions
GET /v1/accounts/{externalUserId}/wallet/deposit-instructions
SDK: crisp.call('getDepositInstructions', input). Idempotency-Key: not required.
SDK input schema (path, query, body and key)
{
"type": "object",
"properties": {
"path": {
"type": "object",
"properties": {
"externalUserId": {
"type": "string",
"pattern": "^[A-Za-z0-9._:@-]{1,200}$"
}
},
"required": [
"externalUserId"
],
"additionalProperties": false
}
},
"required": [
"path"
],
"additionalProperties": false
}Response data schema (HTTP 200)
{
"type": "object",
"properties": {
"crispAccountId": {
"type": "string",
"format": "uuid"
},
"externalUserId": {
"type": "string",
"pattern": "^[A-Za-z0-9._:@-]{1,200}$"
},
"instructions": {
"type": "object",
"additionalProperties": true,
"description": "Venue-owned JSON extension; fields are not a stable CRISP contract. Handle missing fields."
},
"normalized": {
"type": "object",
"properties": {
"addresses": {
"type": "array",
"items": {
"type": "object",
"properties": {
"networkFamily": {
"type": "string"
},
"address": {
"type": "string"
}
},
"required": [
"networkFamily",
"address"
],
"additionalProperties": false
}
},
"assets": {
"type": "array",
"items": {
"type": "object",
"properties": {
"chainId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"chainName": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"tokenAddress": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"symbol": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"decimals": {
"anyOf": [
{
"type": "integer",
"minimum": 0
},
{
"type": "null"
}
]
},
"minimumDepositUsd": {
"anyOf": [
{
"type": "string",
"pattern": "^-?\\d+(?:\\.\\d+)?$",
"description": "Venue display snapshot, not spendable balance or ledger authority."
},
{
"type": "null"
}
]
}
},
"required": [
"chainId",
"chainName",
"tokenAddress",
"symbol",
"name",
"decimals",
"minimumDepositUsd"
],
"additionalProperties": false
}
}
},
"required": [
"addresses",
"assets"
],
"additionalProperties": false
}
},
"required": [
"crispAccountId",
"externalUserId",
"instructions",
"normalized"
],
"additionalProperties": false
}getTradingAvailability
GET /v1/accounts/{externalUserId}/wallet/trading-availability
SDK: crisp.call('getTradingAvailability', input). Idempotency-Key: not required.
SDK input schema (path, query, body and key)
{
"type": "object",
"properties": {
"path": {
"type": "object",
"properties": {
"externalUserId": {
"type": "string",
"pattern": "^[A-Za-z0-9._:@-]{1,200}$"
}
},
"required": [
"externalUserId"
],
"additionalProperties": false
}
},
"required": [
"path"
],
"additionalProperties": false
}Response data schema (HTTP 200)
{
"type": "object",
"properties": {
"crispAccountId": {
"type": "string",
"format": "uuid"
},
"externalUserId": {
"type": "string",
"pattern": "^[A-Za-z0-9._:@-]{1,200}$"
},
"availableToTrade": {
"anyOf": [
{
"type": "object",
"properties": {
"formatted": {
"type": "string"
},
"symbol": {
"type": "string"
}
},
"required": [
"formatted",
"symbol"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"asOf": {
"type": "string"
}
},
"required": [
"crispAccountId",
"externalUserId",
"availableToTrade",
"asOf"
],
"additionalProperties": false
}getFunding
GET /v1/accounts/{externalUserId}/wallet/funding
SDK: crisp.call('getFunding', input). Idempotency-Key: not required.
SDK input schema (path, query, body and key)
{
"type": "object",
"properties": {
"path": {
"type": "object",
"properties": {
"externalUserId": {
"type": "string",
"pattern": "^[A-Za-z0-9._:@-]{1,200}$"
}
},
"required": [
"externalUserId"
],
"additionalProperties": false
},
"query": {
"type": "object",
"properties": {
"details": {
"type": "string",
"enum": [
"summary",
"trading",
"full"
]
}
},
"required": [],
"additionalProperties": false
}
},
"required": [
"path"
],
"additionalProperties": false
}Response data schema (HTTP 200)
{
"type": "object",
"properties": {
"crispAccountId": {
"type": "string",
"format": "uuid"
},
"externalUserId": {
"type": "string",
"pattern": "^[A-Za-z0-9._:@-]{1,200}$"
},
"wallet": {
"type": "object",
"properties": {
"tradingAddress": {
"type": "string"
}
},
"required": [
"tradingAddress"
],
"additionalProperties": false
},
"balance": {
"anyOf": [
{
"type": "object",
"properties": {
"baseUnit": {
"type": "string"
},
"formatted": {
"type": "string"
},
"symbol": {
"type": "string"
},
"decimals": {
"type": "integer",
"minimum": 0
}
},
"required": [
"baseUnit",
"formatted"
],
"additionalProperties": true
},
{
"type": "null"
}
]
},
"balanceStatus": {
"type": "string",
"enum": [
"available",
"temporarily_unavailable"
]
},
"availableToTrade": {
"anyOf": [
{
"type": "object",
"properties": {
"formatted": {
"type": "string"
},
"symbol": {
"type": "string"
}
},
"required": [
"formatted",
"symbol"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"details": {
"type": "string",
"enum": [
"summary",
"trading",
"full"
]
},
"deposit": {
"type": "object",
"properties": {
"instructions": {
"anyOf": [
{
"type": "object",
"additionalProperties": true,
"description": "Venue-owned JSON extension; fields are not a stable CRISP contract. Handle missing fields."
},
{
"type": "null"
}
]
}
},
"required": [
"instructions"
],
"additionalProperties": false
},
"withdrawal": {
"type": "object",
"properties": {
"source": {
"anyOf": [
{
"type": "object",
"properties": {
"baseUnit": {
"type": "string"
},
"formatted": {
"type": "string"
},
"symbol": {
"type": "string"
},
"decimals": {
"type": "integer",
"minimum": 0
}
},
"required": [
"baseUnit",
"formatted"
],
"additionalProperties": true
},
{
"type": "null"
}
]
},
"enabled": {
"type": "boolean"
},
"authorization": {
"type": "string"
},
"availability": {
"type": "string"
}
},
"required": [
"source",
"enabled",
"authorization"
],
"additionalProperties": false
}
},
"required": [
"crispAccountId",
"externalUserId",
"wallet",
"balance",
"balanceStatus",
"availableToTrade",
"details",
"deposit",
"withdrawal"
],
"additionalProperties": false
}listTransfers
GET /v1/accounts/{externalUserId}/wallet/transfers
SDK: crisp.call('listTransfers', input). Idempotency-Key: not required.
SDK input schema (path, query, body and key)
{
"type": "object",
"properties": {
"path": {
"type": "object",
"properties": {
"externalUserId": {
"type": "string",
"pattern": "^[A-Za-z0-9._:@-]{1,200}$"
}
},
"required": [
"externalUserId"
],
"additionalProperties": false
},
"query": {
"type": "object",
"properties": {
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 50
},
"cursor": {
"type": "string"
}
},
"required": [],
"additionalProperties": false
}
},
"required": [
"path"
],
"additionalProperties": false
}Response data schema (HTTP 200)
{
"type": "object",
"properties": {
"crispAccountId": {
"type": "string",
"format": "uuid"
},
"externalUserId": {
"type": "string",
"pattern": "^[A-Za-z0-9._:@-]{1,200}$"
},
"transfers": {
"type": "object",
"additionalProperties": true,
"description": "Venue-owned JSON extension; fields are not a stable CRISP contract. Handle missing fields."
}
},
"required": [
"crispAccountId",
"externalUserId",
"transfers"
],
"additionalProperties": false
}quoteDeposit
POST /v1/accounts/{externalUserId}/wallet/deposit-quote
SDK: crisp.call('quoteDeposit', input). Idempotency-Key: not required.
SDK input schema (path, query, body and key)
{
"type": "object",
"properties": {
"path": {
"type": "object",
"properties": {
"externalUserId": {
"type": "string",
"pattern": "^[A-Za-z0-9._:@-]{1,200}$"
}
},
"required": [
"externalUserId"
],
"additionalProperties": false
},
"body": {
"type": "object",
"properties": {
"fromAmountBaseUnit": {
"type": "string",
"pattern": "^(?=\\d{1,100}$)0*[1-9]\\d*$",
"description": "Positive integer in the source token base units."
},
"fromChainId": {
"type": "string"
},
"fromTokenAddress": {
"type": "string"
}
},
"required": [
"fromAmountBaseUnit",
"fromChainId",
"fromTokenAddress"
],
"additionalProperties": false
}
},
"required": [
"path",
"body"
],
"additionalProperties": false
}Response data schema (HTTP 200)
{
"type": "object",
"properties": {
"crispAccountId": {
"type": "string",
"format": "uuid"
},
"externalUserId": {
"type": "string",
"pattern": "^[A-Za-z0-9._:@-]{1,200}$"
},
"quote": {
"type": "object",
"additionalProperties": true,
"description": "Venue-owned JSON extension; fields are not a stable CRISP contract. Handle missing fields."
}
},
"required": [
"crispAccountId",
"externalUserId",
"quote"
],
"additionalProperties": false
}quoteWithdrawal
POST /v1/accounts/{externalUserId}/wallet/withdrawal-quote
SDK: crisp.call('quoteWithdrawal', input). Idempotency-Key: not required.
SDK input schema (path, query, body and key)
{
"type": "object",
"properties": {
"path": {
"type": "object",
"properties": {
"externalUserId": {
"type": "string",
"pattern": "^[A-Za-z0-9._:@-]{1,200}$"
}
},
"required": [
"externalUserId"
],
"additionalProperties": false
},
"body": {
"type": "object",
"properties": {
"amountBaseUnit": {
"type": "string",
"pattern": "^(?=\\d{1,100}$)0*[1-9]\\d*$",
"description": "Positive integer in the source token base units."
},
"recipientAddress": {
"type": "string"
},
"toChainId": {
"type": "string"
},
"toTokenAddress": {
"type": "string"
}
},
"required": [
"amountBaseUnit",
"recipientAddress",
"toChainId",
"toTokenAddress"
],
"additionalProperties": false
}
},
"required": [
"path",
"body"
],
"additionalProperties": false
}Response data schema (HTTP 200)
{
"type": "object",
"properties": {
"externalUserId": {
"type": "string",
"pattern": "^[A-Za-z0-9._:@-]{1,200}$"
},
"quote": {
"type": "object",
"additionalProperties": true,
"description": "Venue-owned JSON extension; fields are not a stable CRISP contract. Handle missing fields."
}
},
"required": [
"externalUserId",
"quote"
],
"additionalProperties": false
}listWithdrawals
GET /v1/accounts/{externalUserId}/withdrawals
SDK: crisp.call('listWithdrawals', input). Idempotency-Key: not required.
SDK input schema (path, query, body and key)
{
"type": "object",
"properties": {
"path": {
"type": "object",
"properties": {
"externalUserId": {
"type": "string",
"pattern": "^[A-Za-z0-9._:@-]{1,200}$"
}
},
"required": [
"externalUserId"
],
"additionalProperties": false
},
"query": {
"type": "object",
"properties": {
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 200,
"default": 50
},
"offset": {
"type": "integer",
"minimum": 0
}
},
"required": [],
"additionalProperties": false
}
},
"required": [
"path"
],
"additionalProperties": false
}Response data schema (HTTP 200)
{
"type": "object",
"properties": {
"crispAccountId": {
"type": "string",
"format": "uuid"
},
"externalUserId": {
"type": "string",
"pattern": "^[A-Za-z0-9._:@-]{1,200}$"
},
"withdrawals": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"amountBaseUnit": {
"type": "string",
"pattern": "^(?=\\d{1,100}$)0*[1-9]\\d*$",
"description": "Positive integer in the source token base units."
},
"recipientAddress": {
"type": "string"
},
"toChainId": {
"type": "string"
},
"toTokenAddress": {
"type": "string"
},
"bridgeAddress": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"state": {
"type": "string",
"enum": [
"queued",
"submitting",
"submitted",
"confirmed",
"failed",
"manual_review"
]
},
"relayTransactionId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"transactionHash": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"failureCode": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"finalDestinationStatus": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
},
"submittedAt": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
]
},
"confirmedAt": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"amountBaseUnit",
"recipientAddress",
"toChainId",
"toTokenAddress",
"bridgeAddress",
"state",
"relayTransactionId",
"transactionHash",
"failureCode",
"finalDestinationStatus",
"createdAt",
"updatedAt",
"submittedAt",
"confirmedAt"
],
"additionalProperties": false
}
},
"total": {
"type": "integer",
"minimum": 0
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 200,
"default": 50
},
"offset": {
"type": "integer",
"minimum": 0
}
},
"required": [
"crispAccountId",
"externalUserId",
"withdrawals",
"total",
"limit",
"offset"
],
"additionalProperties": false
}getWithdrawal
GET /v1/accounts/{externalUserId}/withdrawals/{withdrawalId}
SDK: crisp.call('getWithdrawal', input). Idempotency-Key: not required.
SDK input schema (path, query, body and key)
{
"type": "object",
"properties": {
"path": {
"type": "object",
"properties": {
"externalUserId": {
"type": "string",
"pattern": "^[A-Za-z0-9._:@-]{1,200}$"
},
"withdrawalId": {
"type": "string",
"format": "uuid"
}
},
"required": [
"externalUserId",
"withdrawalId"
],
"additionalProperties": false
}
},
"required": [
"path"
],
"additionalProperties": false
}Response data schema (HTTP 200)
{
"type": "object",
"properties": {
"crispAccountId": {
"type": "string",
"format": "uuid"
},
"externalUserId": {
"type": "string",
"pattern": "^[A-Za-z0-9._:@-]{1,200}$"
},
"withdrawal": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"amountBaseUnit": {
"type": "string",
"pattern": "^(?=\\d{1,100}$)0*[1-9]\\d*$",
"description": "Positive integer in the source token base units."
},
"recipientAddress": {
"type": "string"
},
"toChainId": {
"type": "string"
},
"toTokenAddress": {
"type": "string"
},
"bridgeAddress": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"state": {
"type": "string",
"enum": [
"queued",
"submitting",
"submitted",
"confirmed",
"failed",
"manual_review"
]
},
"relayTransactionId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"transactionHash": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"failureCode": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"finalDestinationStatus": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
},
"submittedAt": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
]
},
"confirmedAt": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"amountBaseUnit",
"recipientAddress",
"toChainId",
"toTokenAddress",
"bridgeAddress",
"state",
"relayTransactionId",
"transactionHash",
"failureCode",
"finalDestinationStatus",
"createdAt",
"updatedAt",
"submittedAt",
"confirmedAt"
],
"additionalProperties": false
}
},
"required": [
"crispAccountId",
"externalUserId",
"withdrawal"
],
"additionalProperties": false
}findWithdrawal
GET /v1/accounts/{externalUserId}/withdrawal-intents/{idempotencyKey}
SDK: crisp.call('findWithdrawal', input). Idempotency-Key: not required.
SDK input schema (path, query, body and key)
{
"type": "object",
"properties": {
"path": {
"type": "object",
"properties": {
"externalUserId": {
"type": "string",
"pattern": "^[A-Za-z0-9._:@-]{1,200}$"
},
"idempotencyKey": {
"type": "string",
"pattern": "^[A-Za-z0-9._:-]{8,200}$"
}
},
"required": [
"externalUserId",
"idempotencyKey"
],
"additionalProperties": false
}
},
"required": [
"path"
],
"additionalProperties": false
}Response data schema (HTTP 200)
{
"type": "object",
"properties": {
"crispAccountId": {
"type": "string",
"format": "uuid"
},
"externalUserId": {
"type": "string",
"pattern": "^[A-Za-z0-9._:@-]{1,200}$"
},
"withdrawal": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"amountBaseUnit": {
"type": "string",
"pattern": "^(?=\\d{1,100}$)0*[1-9]\\d*$",
"description": "Positive integer in the source token base units."
},
"recipientAddress": {
"type": "string"
},
"toChainId": {
"type": "string"
},
"toTokenAddress": {
"type": "string"
},
"bridgeAddress": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"state": {
"type": "string",
"enum": [
"queued",
"submitting",
"submitted",
"confirmed",
"failed",
"manual_review"
]
},
"relayTransactionId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"transactionHash": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"failureCode": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"finalDestinationStatus": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
},
"submittedAt": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
]
},
"confirmedAt": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"amountBaseUnit",
"recipientAddress",
"toChainId",
"toTokenAddress",
"bridgeAddress",
"state",
"relayTransactionId",
"transactionHash",
"failureCode",
"finalDestinationStatus",
"createdAt",
"updatedAt",
"submittedAt",
"confirmedAt"
],
"additionalProperties": false
}
},
"required": [
"crispAccountId",
"externalUserId",
"withdrawal"
],
"additionalProperties": false
}getReferralClaim
GET /v1/accounts/{externalUserId}/referral-claims/{claimId}
SDK: crisp.call('getReferralClaim', input). Idempotency-Key: not required.
SDK input schema (path, query, body and key)
{
"type": "object",
"properties": {
"path": {
"type": "object",
"properties": {
"externalUserId": {
"type": "string",
"pattern": "^[A-Za-z0-9._:@-]{1,200}$"
},
"claimId": {
"type": "string",
"format": "uuid"
}
},
"required": [
"externalUserId",
"claimId"
],
"additionalProperties": false
}
},
"required": [
"path"
],
"additionalProperties": false
}Response data schema (HTTP 200)
{
"type": "object",
"properties": {
"claim": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"state": {
"type": "string",
"enum": [
"queued",
"submitting",
"submitted",
"settled",
"manual_review"
]
},
"amountUsdc": {
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
},
"transactionHash": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"terminal": {
"type": "boolean"
},
"needsReview": {
"type": "boolean"
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
}
},
"required": [
"id",
"state",
"amountUsdc",
"transactionHash",
"terminal",
"needsReview",
"createdAt",
"updatedAt"
],
"additionalProperties": false
}
},
"required": [
"claim"
],
"additionalProperties": false
}createWithdrawal
POST /v1/accounts/{externalUserId}/withdrawals
SDK: crisp.call('createWithdrawal', input). Idempotency-Key: required.
SDK input schema (path, query, body and key)
{
"type": "object",
"properties": {
"path": {
"type": "object",
"properties": {
"externalUserId": {
"type": "string",
"pattern": "^[A-Za-z0-9._:@-]{1,200}$"
}
},
"required": [
"externalUserId"
],
"additionalProperties": false
},
"body": {
"type": "object",
"properties": {
"amountBaseUnit": {
"type": "string",
"pattern": "^(?=\\d{1,100}$)0*[1-9]\\d*$",
"description": "Positive integer in the source token base units."
},
"recipientAddress": {
"type": "string"
},
"toChainId": {
"type": "string"
},
"toTokenAddress": {
"type": "string"
}
},
"required": [
"amountBaseUnit",
"recipientAddress",
"toChainId",
"toTokenAddress"
],
"additionalProperties": false
},
"idempotencyKey": {
"type": "string",
"pattern": "^[A-Za-z0-9._:-]{8,200}$"
}
},
"required": [
"path",
"body",
"idempotencyKey"
],
"additionalProperties": false
}Response data schema (HTTP 202)
{
"type": "object",
"properties": {
"crispAccountId": {
"type": "string",
"format": "uuid"
},
"externalUserId": {
"type": "string",
"pattern": "^[A-Za-z0-9._:@-]{1,200}$"
},
"withdrawal": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"amountBaseUnit": {
"type": "string",
"pattern": "^(?=\\d{1,100}$)0*[1-9]\\d*$",
"description": "Positive integer in the source token base units."
},
"recipientAddress": {
"type": "string"
},
"toChainId": {
"type": "string"
},
"toTokenAddress": {
"type": "string"
},
"bridgeAddress": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"state": {
"type": "string",
"enum": [
"queued",
"submitting",
"submitted",
"confirmed",
"failed",
"manual_review"
]
},
"relayTransactionId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"transactionHash": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"failureCode": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"finalDestinationStatus": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
},
"submittedAt": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
]
},
"confirmedAt": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"amountBaseUnit",
"recipientAddress",
"toChainId",
"toTokenAddress",
"bridgeAddress",
"state",
"relayTransactionId",
"transactionHash",
"failureCode",
"finalDestinationStatus",
"createdAt",
"updatedAt",
"submittedAt",
"confirmedAt"
],
"additionalProperties": false
}
},
"required": [
"crispAccountId",
"externalUserId",
"withdrawal"
],
"additionalProperties": false
}getTradingAnalytics
GET /v1/analytics/trading
SDK: crisp.call('getTradingAnalytics', input). Idempotency-Key: not required.
SDK input schema (path, query, body and key)
{
"type": "object",
"properties": {
"query": {
"type": "object",
"properties": {
"from": {
"type": "string",
"format": "date"
},
"to": {
"type": "string",
"format": "date"
}
},
"required": [],
"additionalProperties": false
}
},
"required": [],
"additionalProperties": false
}Response data schema (HTTP 200)
{
"type": "object",
"properties": {
"venue": {
"type": "string"
},
"period": {
"type": "object",
"properties": {
"from": {
"type": "string",
"format": "date-time"
},
"to": {
"type": "string",
"format": "date-time"
}
},
"required": [
"from",
"to"
],
"additionalProperties": false
},
"source": {
"type": "string"
},
"consistency": {
"type": "string"
},
"ingestion": {
"type": "object",
"properties": {
"lastCompletedAt": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
]
},
"inProgress": {
"type": "boolean"
},
"lastError": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"lastCompletedAt",
"inProgress",
"lastError"
],
"additionalProperties": false
},
"accounts": {
"type": "object",
"properties": {
"ready": {
"type": "integer",
"minimum": 0
},
"withMatchedTrades": {
"type": "integer",
"minimum": 0
},
"displayedWithMatchedTrades": {
"type": "integer",
"minimum": 0
},
"userMetricsTruncated": {
"type": "boolean"
}
},
"required": [
"ready",
"withMatchedTrades",
"displayedWithMatchedTrades",
"userMetricsTruncated"
],
"additionalProperties": false
},
"totals": {
"type": "object",
"properties": {
"tradingVolumeUsdc": {
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
},
"polymarketTakerFeesUsdc": {
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
},
"platformFeesUsdc": {
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
},
"platformFeesSettledUsdc": {
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
},
"partnerTreasuryFeesUsdc": {
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
},
"partnerTreasuryFeesSettledUsdc": {
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
},
"partnerFeesUsdc": {
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
},
"partnerFeesSettledUsdc": {
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
},
"partnerFeesClaimedUsdc": {
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
},
"partnerFeesOutstandingUsdc": {
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
}
},
"required": [
"tradingVolumeUsdc",
"polymarketTakerFeesUsdc",
"platformFeesUsdc",
"platformFeesSettledUsdc",
"partnerTreasuryFeesUsdc",
"partnerTreasuryFeesSettledUsdc",
"partnerFeesUsdc",
"partnerFeesSettledUsdc",
"partnerFeesClaimedUsdc",
"partnerFeesOutstandingUsdc"
],
"additionalProperties": false
},
"users": {
"type": "array",
"items": {
"type": "object",
"properties": {
"crispAccountId": {
"type": "string",
"format": "uuid"
},
"externalUserId": {
"type": "string",
"pattern": "^[A-Za-z0-9._:@-]{1,200}$"
},
"tradeCount": {
"type": "integer",
"minimum": 0
},
"tradingVolumeUsdc": {
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
},
"polymarketTakerFeesUsdc": {
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
},
"partnerFeesUsdc": {
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
},
"partnerFeesSettledUsdc": {
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
},
"partnerFeesClaimedUsdc": {
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
},
"partnerFeesOutstandingUsdc": {
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
}
},
"required": [
"crispAccountId",
"externalUserId",
"tradeCount",
"tradingVolumeUsdc",
"polymarketTakerFeesUsdc",
"partnerFeesUsdc",
"partnerFeesSettledUsdc",
"partnerFeesClaimedUsdc",
"partnerFeesOutstandingUsdc"
],
"additionalProperties": false
}
}
},
"required": [
"venue",
"period",
"source",
"consistency",
"ingestion",
"accounts",
"totals",
"users"
],
"additionalProperties": false
}recordPageView
POST /v1/traffic/page-views
SDK: crisp.call('recordPageView', input). Idempotency-Key: not required.
SDK input schema (path, query, body and key)
{
"type": "object",
"properties": {
"body": {
"type": "object",
"properties": {
"eventId": {
"type": "string",
"format": "uuid"
},
"projectSlug": {
"type": "string"
},
"visitorToken": {
"type": "string"
},
"pagePath": {
"type": "string"
},
"referrerHost": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"countryCode": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"isLanding": {
"type": "boolean"
}
},
"required": [
"eventId",
"projectSlug",
"visitorToken",
"pagePath"
],
"additionalProperties": false
}
},
"required": [
"body"
],
"additionalProperties": false
}Response data schema (HTTP 202)
{
"type": "object",
"properties": {
"recorded": {
"type": "boolean"
}
},
"required": [
"recorded"
],
"additionalProperties": false
}listFeeClaims
GET /v1/fee-claims
SDK: crisp.call('listFeeClaims', input). Idempotency-Key: not required.
SDK input schema (path, query, body and key)
{
"type": "object",
"properties": {
"query": {
"type": "object",
"properties": {
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 90,
"default": 31
}
},
"required": [],
"additionalProperties": false
}
},
"required": [],
"additionalProperties": false
}Response data schema (HTTP 200)
{
"type": "object",
"properties": {
"venue": {
"type": "string"
},
"cadence": {
"type": "string"
},
"claims": {
"type": "array",
"items": {
"type": "object",
"properties": {
"feeDay": {
"type": "string",
"format": "date"
},
"recipientAddress": {
"type": "string"
},
"accruedUsdc": {
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
},
"collectedUsdc": {
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
},
"claimableUsdc": {
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
},
"claim": {
"anyOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"state": {
"type": "string",
"enum": [
"queued",
"submitting",
"submitted",
"settled",
"manual_review"
]
},
"amountUsdc": {
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
},
"transactionHash": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"requestedAt": {
"type": "string",
"format": "date-time"
},
"settledAt": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"state",
"amountUsdc",
"transactionHash",
"requestedAt",
"settledAt"
],
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"required": [
"feeDay",
"recipientAddress",
"accruedUsdc",
"collectedUsdc",
"claimableUsdc",
"claim"
],
"additionalProperties": false
}
}
},
"required": [
"venue",
"cadence",
"claims"
],
"additionalProperties": false
}createFeeClaim
POST /v1/fee-claims
SDK: crisp.call('createFeeClaim', input). Idempotency-Key: required.
SDK input schema (path, query, body and key)
{
"type": "object",
"properties": {
"body": {
"type": "object",
"properties": {
"feeDay": {
"type": "string",
"format": "date"
},
"recipientAddress": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{40}$"
}
},
"required": [
"feeDay",
"recipientAddress"
],
"additionalProperties": false
},
"idempotencyKey": {
"type": "string",
"pattern": "^[A-Za-z0-9._:-]{8,200}$"
}
},
"required": [
"body",
"idempotencyKey"
],
"additionalProperties": false
}Response data schema (HTTP 202)
{
"type": "object",
"properties": {
"venue": {
"type": "string"
},
"claim": {
"type": "object",
"properties": {
"feeDay": {
"type": "string",
"format": "date"
},
"recipientAddress": {
"type": "string"
},
"accruedUsdc": {
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
},
"collectedUsdc": {
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
},
"claimableUsdc": {
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
},
"claim": {
"anyOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"state": {
"type": "string",
"enum": [
"queued",
"submitting",
"submitted",
"settled",
"manual_review"
]
},
"amountUsdc": {
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
},
"transactionHash": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"requestedAt": {
"type": "string",
"format": "date-time"
},
"settledAt": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"state",
"amountUsdc",
"transactionHash",
"requestedAt",
"settledAt"
],
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"required": [
"feeDay",
"recipientAddress",
"accruedUsdc",
"collectedUsdc",
"claimableUsdc",
"claim"
],
"additionalProperties": false
}
},
"required": [
"venue",
"claim"
],
"additionalProperties": false
}setReferrer
PUT /v1/accounts/{externalUserId}/referrer
SDK: crisp.call('setReferrer', input). Idempotency-Key: required.
SDK input schema (path, query, body and key)
{
"type": "object",
"properties": {
"path": {
"type": "object",
"properties": {
"externalUserId": {
"type": "string",
"pattern": "^[A-Za-z0-9._:@-]{1,200}$"
}
},
"required": [
"externalUserId"
],
"additionalProperties": false
},
"body": {
"type": "object",
"properties": {
"referrerExternalUserId": {
"type": "string",
"pattern": "^[A-Za-z0-9._:@-]{1,200}$"
}
},
"required": [
"referrerExternalUserId"
],
"additionalProperties": false
},
"idempotencyKey": {
"type": "string",
"pattern": "^[A-Za-z0-9._:-]{8,200}$"
}
},
"required": [
"path",
"body",
"idempotencyKey"
],
"additionalProperties": false
}Response data schema (HTTP 200)
{
"type": "object",
"properties": {
"externalUserId": {
"type": "string",
"pattern": "^[A-Za-z0-9._:@-]{1,200}$"
},
"referrerExternalUserId": {
"type": "string",
"pattern": "^[A-Za-z0-9._:@-]{1,200}$"
},
"created": {
"type": "boolean"
}
},
"required": [
"externalUserId",
"referrerExternalUserId",
"created"
],
"additionalProperties": false
}getReferralEarnings
GET /v1/accounts/{externalUserId}/referral-earnings
SDK: crisp.call('getReferralEarnings', input). Idempotency-Key: not required.
SDK input schema (path, query, body and key)
{
"type": "object",
"properties": {
"path": {
"type": "object",
"properties": {
"externalUserId": {
"type": "string",
"pattern": "^[A-Za-z0-9._:@-]{1,200}$"
}
},
"required": [
"externalUserId"
],
"additionalProperties": false
},
"query": {
"type": "object",
"properties": {
"from": {
"type": "string",
"format": "date"
},
"to": {
"type": "string",
"format": "date"
},
"granularity": {
"type": "string",
"enum": [
"daily",
"weekly",
"monthly"
]
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 366,
"default": 31
}
},
"required": [],
"additionalProperties": false
}
},
"required": [
"path"
],
"additionalProperties": false
}Response data schema (HTTP 200)
{
"type": "object",
"properties": {
"cadence": {
"type": "string"
},
"from": {
"anyOf": [
{
"type": "string",
"format": "date"
},
{
"type": "null"
}
]
},
"to": {
"anyOf": [
{
"type": "string",
"format": "date"
},
{
"type": "null"
}
]
},
"granularity": {
"type": "string"
},
"earnings": {
"type": "array",
"items": {
"type": "object",
"properties": {
"feeDay": {
"type": "string",
"format": "date"
},
"accruedUsdc": {
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
},
"collectedUsdc": {
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
},
"feeDayConcluded": {
"type": "boolean"
},
"claimableUsdc": {
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
},
"claim": {
"anyOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"state": {
"type": "string",
"enum": [
"queued",
"submitting",
"submitted",
"settled",
"manual_review"
]
},
"amountUsdc": {
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
},
"totalAmountUsdc": {
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
},
"transactionHash": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"state",
"amountUsdc",
"transactionHash"
],
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"required": [
"feeDay",
"accruedUsdc",
"collectedUsdc",
"feeDayConcluded",
"claimableUsdc",
"claim"
],
"additionalProperties": false
}
},
"series": {
"type": "array",
"items": {
"type": "object",
"properties": {
"periodStart": {
"type": "string",
"format": "date"
},
"accruedUsdc": {
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
},
"collectedUsdc": {
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
},
"claimableUsdc": {
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
}
},
"required": [
"periodStart",
"accruedUsdc",
"collectedUsdc",
"claimableUsdc"
],
"additionalProperties": false
}
},
"levels": {
"type": "array",
"items": {
"type": "object",
"properties": {
"level": {
"type": "integer",
"minimum": 0
},
"accruedUsdc": {
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
}
},
"required": [
"level",
"accruedUsdc"
],
"additionalProperties": false
}
},
"claimEarnings": {
"type": "array",
"items": {
"type": "object",
"properties": {
"feeDay": {
"type": "string",
"format": "date"
},
"accruedUsdc": {
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
},
"collectedUsdc": {
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
},
"feeDayConcluded": {
"type": "boolean"
},
"claimableUsdc": {
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
},
"claim": {
"anyOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"state": {
"type": "string",
"enum": [
"queued",
"submitting",
"submitted",
"settled",
"manual_review"
]
},
"amountUsdc": {
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
},
"totalAmountUsdc": {
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
},
"transactionHash": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"state",
"amountUsdc",
"transactionHash"
],
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"required": [
"feeDay",
"accruedUsdc",
"collectedUsdc",
"feeDayConcluded",
"claimableUsdc",
"claim"
],
"additionalProperties": false
}
}
},
"required": [
"cadence",
"from",
"to",
"granularity",
"earnings",
"series",
"levels",
"claimEarnings"
],
"additionalProperties": false
}getReferralSummary
GET /v1/accounts/{externalUserId}/referral-summary
SDK: crisp.call('getReferralSummary', input). Idempotency-Key: not required.
SDK input schema (path, query, body and key)
{
"type": "object",
"properties": {
"path": {
"type": "object",
"properties": {
"externalUserId": {
"type": "string",
"pattern": "^[A-Za-z0-9._:@-]{1,200}$"
}
},
"required": [
"externalUserId"
],
"additionalProperties": false
},
"query": {
"type": "object",
"properties": {
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 200,
"default": 50
},
"offset": {
"type": "integer",
"minimum": 0
}
},
"required": [],
"additionalProperties": false
}
},
"required": [
"path"
],
"additionalProperties": false
}Response data schema (HTTP 200)
{
"type": "object",
"properties": {
"summary": {
"type": "object",
"properties": {
"accruedUsdc": {
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
},
"claimableUsdc": {
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
},
"pendingSettlementUsdc": {
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
},
"payoutPendingUsdc": {
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
},
"paidOutUsdc": {
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
}
},
"required": [
"accruedUsdc",
"claimableUsdc",
"pendingSettlementUsdc",
"payoutPendingUsdc",
"paidOutUsdc"
],
"additionalProperties": false
},
"payouts": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"state": {
"type": "string",
"enum": [
"queued",
"submitting",
"submitted",
"settled",
"manual_review"
]
},
"amountUsdc": {
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
},
"transactionHash": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"feeDays": {
"type": "array",
"items": {
"type": "string",
"format": "date"
}
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
}
},
"required": [
"id",
"state",
"amountUsdc",
"transactionHash",
"feeDays",
"createdAt",
"updatedAt"
],
"additionalProperties": false
}
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 200,
"default": 50
},
"offset": {
"type": "integer",
"minimum": 0
},
"hasMore": {
"type": "boolean"
}
},
"required": [
"summary",
"payouts",
"limit",
"offset",
"hasMore"
],
"additionalProperties": false
}claimReferralRewards
POST /v1/accounts/{externalUserId}/referral-claims
SDK: crisp.call('claimReferralRewards', input). Idempotency-Key: required.
SDK input schema (path, query, body and key)
{
"type": "object",
"properties": {
"path": {
"type": "object",
"properties": {
"externalUserId": {
"type": "string",
"pattern": "^[A-Za-z0-9._:@-]{1,200}$"
}
},
"required": [
"externalUserId"
],
"additionalProperties": false
},
"body": {
"oneOf": [
{
"type": "object",
"properties": {
"all": {
"type": "boolean",
"enum": [
true
]
}
},
"required": [
"all"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"feeDay": {
"type": "string",
"format": "date"
}
},
"required": [
"feeDay"
],
"additionalProperties": false
}
]
},
"idempotencyKey": {
"type": "string",
"pattern": "^[A-Za-z0-9._:-]{8,200}$"
}
},
"required": [
"path",
"body",
"idempotencyKey"
],
"additionalProperties": false
}Response data schema (HTTP 202)
{
"anyOf": [
{
"type": "object",
"properties": {
"claims": {
"type": "array",
"items": {
"type": "object",
"properties": {
"feeDay": {
"type": "string",
"format": "date"
},
"accruedUsdc": {
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
},
"collectedUsdc": {
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
},
"feeDayConcluded": {
"type": "boolean"
},
"claimableUsdc": {
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
},
"claim": {
"anyOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"state": {
"type": "string",
"enum": [
"queued",
"submitting",
"submitted",
"settled",
"manual_review"
]
},
"amountUsdc": {
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
},
"totalAmountUsdc": {
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
},
"transactionHash": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"state",
"amountUsdc",
"transactionHash"
],
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"required": [
"feeDay",
"accruedUsdc",
"collectedUsdc",
"feeDayConcluded",
"claimableUsdc",
"claim"
],
"additionalProperties": false
}
},
"amountUsdc": {
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
},
"dayCount": {
"type": "integer",
"minimum": 0
}
},
"required": [
"claims",
"amountUsdc",
"dayCount"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"claim": {
"type": "object",
"properties": {
"feeDay": {
"type": "string",
"format": "date"
},
"accruedUsdc": {
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
},
"collectedUsdc": {
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
},
"feeDayConcluded": {
"type": "boolean"
},
"claimableUsdc": {
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
},
"claim": {
"anyOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"state": {
"type": "string",
"enum": [
"queued",
"submitting",
"submitted",
"settled",
"manual_review"
]
},
"amountUsdc": {
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
},
"totalAmountUsdc": {
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?$",
"description": "Exact decimal string. Never use floating point for ledger arithmetic."
},
"transactionHash": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"state",
"amountUsdc",
"transactionHash"
],
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"required": [
"feeDay",
"accruedUsdc",
"collectedUsdc",
"feeDayConcluded",
"claimableUsdc",
"claim"
],
"additionalProperties": false
}
},
"required": [
"claim"
],
"additionalProperties": false
}
]
}getFeeProgram
GET /v1/fee-program
SDK: crisp.call('getFeeProgram', input). Idempotency-Key: not required.
SDK input schema (path, query, body and key)
{
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
}Response data schema (HTTP 200)
{
"type": "object",
"properties": {
"program": {
"anyOf": [
{
"type": "object",
"properties": {
"version": {
"type": "integer",
"minimum": 0
},
"effectiveAt": {
"type": "string",
"format": "date-time"
},
"consentVersion": {
"type": "string"
},
"totalFeeBps": {
"type": "integer",
"minimum": 0
},
"chargeSides": {
"type": "array",
"items": {
"type": "string",
"enum": [
"buy",
"sell"
]
}
},
"levels": {
"type": "array",
"items": {
"type": "object",
"properties": {
"recipient": {
"type": "string",
"enum": [
"crisp_revenue",
"partner_treasury",
"referral"
]
},
"level": {
"anyOf": [
{
"type": "integer",
"minimum": 0
},
{
"type": "null"
}
]
},
"bps": {
"type": "integer",
"minimum": 0
}
},
"required": [
"recipient",
"level",
"bps"
],
"additionalProperties": false
}
}
},
"required": [
"version",
"effectiveAt",
"consentVersion",
"totalFeeBps",
"chargeSides",
"levels"
],
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"required": [
"program"
],
"additionalProperties": false
}