CRISP partnersEndpoint reference

Get funding

GET /v1/accounts/{externalUserId}/wallet/funding

Read display cash with details = 'summary', independently of getTradingAvailability for progressive UI. The compatible 'trading' mode returns both. balance.formatted is display cash; availableToTrade.formatted is available cash. Null means unavailable, not zero.

Balances and deposits guide · All endpoints · SDK: getFunding

Authentication

Server-to-server HMAC. Your key selects the partner; your backend must authorize the end user.

CRISP enables access to the features agreed for your integration. Contact CRISP if an enabled feature returns an access error.

Idempotency-Key: Not required by this operation. Signing and authentication →

Request fields

Required means the field must be present. Nullable means an explicit JSON null is allowed; it does not mean optional.

Path parameters

FieldType / presenceDescription and constraints
externalUserIdstring
Required
Non-null

Your stable user ID within the authenticated partner. Derive it from your authorized server session.

Validation pattern^[A-Za-z0-9._:@-]{1,200}$

Query parameters

FieldType / presenceDescription and constraints
detailsstring
Optional
Non-null
Allowed: "summary", "trading", "full"

Header parameters

No operation-specific headers. The HMAC headers above still apply.

JSON body

No request body.

Request example

Illustrative identifiers only: replace them with resources from your integration. Keep credentials on your backend. HTTP placeholders must be signed; the SDK signs automatically. Financial intent keys must be persisted and unique per new action.

GET /v1/accounts/user-123/wallet/funding?details=trading
Host: partner-api.crisp.trade
X-Crisp-Partner-Key: <server-key-id>
X-Crisp-Timestamp: <fresh-ISO-8601-UTC-timestamp>
X-Crisp-Nonce: <fresh-unique-nonce>
X-Crisp-Signature: <computed-base64-HMAC>

Response fields

HTTP responses use the envelope below. SDK calls expose its payload as result.data, with HTTP status and request metadata on the SDK wrapper.

200 · Success

Data payload

FieldType / presenceDescription and constraints
crispAccountIdstring
Required
Non-null

CRISP's account identifier; distinct from your external user ID.

Format: uuid
externalUserIdstring
Required
Non-null

Your stable user ID within the authenticated partner. Derive it from your authorized server session.

Validation pattern^[A-Za-z0-9._:@-]{1,200}$
walletobject
Required
Non-null
Expand the structure below.
wallet: expand fields
FieldType / presenceDescription and constraints
tradingAddressstring
Required
Non-null
—

Additional fields are not allowed in this object.

balanceobject | null
Required
Nullable

Cash balance snapshot. Null means unavailable, not zero.

balance: expand fields
FieldType / presenceDescription and constraints
baseUnitstring
Required
Non-null

Token amount as an integer string in its smallest units. Preserve string precision.

formattedstring
Required
Non-null

Human-readable amount as a decimal string. Preserve precision for arithmetic.

symbolstring
Optional
Non-null

Token or asset symbol.

decimalsinteger
Optional
Non-null

Number of decimal places used by the token.

minimum: 0

Additional extension fields are allowed; do not assume undocumented fields are stable.

balanceStatusstring
Required
Non-null

Whether the balance read was available; handle unavailable values explicitly.

Allowed: "available", "temporarily_unavailable"
availableToTradeobject | null
Required
Nullable

Spendable amount reported by CRISP; may differ from cash balance. Null means unavailable.

availableToTrade: expand fields
FieldType / presenceDescription and constraints
formattedstring
Required
Non-null

Human-readable amount as a decimal string. Preserve precision for arithmetic.

symbolstring
Required
Non-null

Token or asset symbol.

Additional fields are not allowed in this object.

detailsstring
Required
Non-null
Allowed: "summary", "trading", "full"
depositobject
Required
Non-null
Expand the structure below.
deposit: expand fields
FieldType / presenceDescription and constraints
instructionsobject | null
Required
Nullable
Expand the structure below.
instructions: expand fields

Venue-owned JSON extension; fields are not a stable CRISP contract. Handle missing fields.

Additional fields are not allowed in this object.

withdrawalobject
Required
Non-null
Expand the structure below.
withdrawal: expand fields
FieldType / presenceDescription and constraints
sourceobject | null
Required
Nullable
Expand the structure below.
source: expand fields
FieldType / presenceDescription and constraints
baseUnitstring
Required
Non-null

Token amount as an integer string in its smallest units. Preserve string precision.

formattedstring
Required
Non-null

Human-readable amount as a decimal string. Preserve precision for arithmetic.

symbolstring
Optional
Non-null

Token or asset symbol.

decimalsinteger
Optional
Non-null

Number of decimal places used by the token.

minimum: 0

Additional extension fields are allowed; do not assume undocumented fields are stable.

enabledboolean
Required
Non-null
—
authorizationstring
Required
Non-null
—
availabilitystring
Optional
Non-null
—

Additional fields are not allowed in this object.

Additional fields are not allowed in this object.

Full HTTP envelope
FieldType / presenceDescription and constraints
dataobject
Required
Non-null
Expand the structure below.
data: expand fields
FieldType / presenceDescription and constraints
crispAccountIdstring
Required
Non-null

CRISP's account identifier; distinct from your external user ID.

Format: uuid
externalUserIdstring
Required
Non-null

Your stable user ID within the authenticated partner. Derive it from your authorized server session.

Validation pattern^[A-Za-z0-9._:@-]{1,200}$
walletobject
Required
Non-null
Expand the structure below.
wallet: expand fields
FieldType / presenceDescription and constraints
tradingAddressstring
Required
Non-null
—

Additional fields are not allowed in this object.

balanceobject | null
Required
Nullable

Cash balance snapshot. Null means unavailable, not zero.

balance: expand fields
FieldType / presenceDescription and constraints
baseUnitstring
Required
Non-null

Token amount as an integer string in its smallest units. Preserve string precision.

formattedstring
Required
Non-null

Human-readable amount as a decimal string. Preserve precision for arithmetic.

symbolstring
Optional
Non-null

Token or asset symbol.

decimalsinteger
Optional
Non-null

Number of decimal places used by the token.

minimum: 0

Additional extension fields are allowed; do not assume undocumented fields are stable.

balanceStatusstring
Required
Non-null

Whether the balance read was available; handle unavailable values explicitly.

Allowed: "available", "temporarily_unavailable"
availableToTradeobject | null
Required
Nullable

Spendable amount reported by CRISP; may differ from cash balance. Null means unavailable.

availableToTrade: expand fields
FieldType / presenceDescription and constraints
formattedstring
Required
Non-null

Human-readable amount as a decimal string. Preserve precision for arithmetic.

symbolstring
Required
Non-null

Token or asset symbol.

Additional fields are not allowed in this object.

detailsstring
Required
Non-null
Allowed: "summary", "trading", "full"
depositobject
Required
Non-null
Expand the structure below.
deposit: expand fields
FieldType / presenceDescription and constraints
instructionsobject | null
Required
Nullable
Expand the structure below.
instructions: expand fields

Venue-owned JSON extension; fields are not a stable CRISP contract. Handle missing fields.

Additional fields are not allowed in this object.

withdrawalobject
Required
Non-null
Expand the structure below.
withdrawal: expand fields
FieldType / presenceDescription and constraints
sourceobject | null
Required
Nullable
Expand the structure below.
source: expand fields
FieldType / presenceDescription and constraints
baseUnitstring
Required
Non-null

Token amount as an integer string in its smallest units. Preserve string precision.

formattedstring
Required
Non-null

Human-readable amount as a decimal string. Preserve precision for arithmetic.

symbolstring
Optional
Non-null

Token or asset symbol.

decimalsinteger
Optional
Non-null

Number of decimal places used by the token.

minimum: 0

Additional extension fields are allowed; do not assume undocumented fields are stable.

enabledboolean
Required
Non-null
—
authorizationstring
Required
Non-null
—
availabilitystring
Optional
Non-null
—

Additional fields are not allowed in this object.

Additional fields are not allowed in this object.

requestIdstring
Required
Non-null

Request correlation ID for debugging and support.

Additional fields are not allowed in this object.

Response example

Schema illustration, not live account data. Null means unavailable or not applicable, never an invented zero. Empty arrays do not imply the endpoint always returns no results.

200 response JSON
{
  "data": {
    "crispAccountId": "11111111-1111-4111-8111-111111111111",
    "externalUserId": "user-123",
    "wallet": {
      "tradingAddress": "0x1111111111111111111111111111111111111111"
    },
    "balance": null,
    "balanceStatus": "temporarily_unavailable",
    "availableToTrade": null,
    "details": "trading",
    "deposit": {
      "instructions": null
    },
    "withdrawal": {
      "source": null,
      "enabled": false,
      "authorization": "example"
    }
  },
  "requestId": "example-request-id"
}

Errors and recovery

StatusMeaning
400Inspect error.code and retain the original financial intent.
401Inspect error.code and retain the original financial intent.
403Inspect error.code and retain the original financial intent.
404Not visible for this account. A recovery lookup miss is not proof that an in-flight submission failed.
409Inspect error.code and retain the original financial intent.
429Inspect error.code and retain the original financial intent.
500Inspect error.code and retain the original financial intent.
502Inspect error.code and retain the original financial intent.
503Inspect error.code and retain the original financial intent.

Inspect the error code and outcomeUnknown, not just the HTTP status. Preserve the original intent after financial uncertainty. Read-only retries should honor Retry-After. Recovery workflow →

Error response fields
FieldType / presenceDescription and constraints
errorobject
Required
Non-null
Expand the structure below.
error: expand fields
FieldType / presenceDescription and constraints
codestring
Required
Non-null
—
messagestring
Required
Non-null
—
requestIdstring
Required
Non-null

Request correlation ID for debugging and support.

Additional fields are not allowed in this object.

Additional fields are not allowed in this object.

Raw contract

OpenAPI download · Advanced schema and legacy anchor

CRISP Partner Documentation