Skip to main content
Funds cap how much capital a strategy can commit. Credentials are the exchange API keys Krisis uses to place live orders on your behalf. Both are optional at create time — but a strategy that places real orders needs credentials for its exchange, and linking a fund is how you bound its risk. Set both up before you arm anything you expect to trade. All endpoints require Authorization: Bearer <jwt>.

How a funding or credential failure surfaces

Gotcha: a missing fund or credential does not fail any request. Because both are optional at create time, a strategy arms happily without them and the shortfall only surfaces when it tries to fire. The engine records that attempt as an execution with action_taken: false and a skip_reason, and returns no error to anyone. A strategy can sit “armed” for days and never trade.
Poll GET /api/v1/executions or watch the trigger events on the SSE stream — both carry skip_reason — to see why a strategy is armed but not trading.

Funds

A fund is a named spending limit. When a strategy with a fund_id fires, the order cost is reserved against the fund; the reservation is released on a terminal order state. A strategy can only fire while its fund has headroom.
Gotcha: a fund is not the only cap. A strategy can also carry its own allocation in action_config.total_capital, which is what the strategy_capital_remaining and strategy_spent DSL variables read. Absent, that allocation is uncapped and only the fund (if any) bounds the strategy — so a strategy with neither is unbounded.

List funds

Response

Array of fund objects.

Create fund

Returns 201 Created with the fund object.

Request

Example

Get fund

Returns one fund object, or 404.

Update fund

Returns the updated fund object.

Request

All fields optional. Disabling a fund makes every strategy linked to it skip with no_fund — see the table above.

Delete fund

Returns 204 No Content.

Credentials

Credentials are per-exchange API keys. Krisis encrypts the secret material at rest and only ever returns a redacted hint — the raw key and secret are never echoed back, so store your own copy.

List credentials

Response

Array of credential objects.

Add or update a credential

Upserts the credential for an exchange — posting again for the same exchange_id replaces the stored key, it does not create a second one. Returns 201 Created with the credential object (redacted hint only).

Request

Example

Delete a credential

Returns 204 No Content. Strategies on that exchange then skip with no_credentials.