API reference · Account

Balances

GET/v1/balances

Per asset: available, held and total, with indicative USDC and ISK values. USDC is always listed.

Rate-limit class
read
Authentication
Signed

Responses

200 OK

The balances. application/json · Balances

  • as_ofstring (date-time)
  • total_value_usdcstring (decimal)
  • total_value_iskstring (decimal)
  • dataarray of Balance
    6 properties of each item
    • assetstring

      An upper-case asset symbol.

      Matches ^[A-Z0-9]{1,15}$.

    • availablestring (decimal)
    • heldstring (decimal)

      holds + limit order holds + loan collateral holds.

    • totalstring (decimal)
    • value_usdcstring (decimal)nullable

      Indicative.

    • value_iskstring (decimal)nullable

      Indicative.

Every response carries MK-Request-Id, plus RateLimit-Policy and RateLimit.

Errors

Errors use the error envelope. Match on code.

StatusCodeMeaning
400invalid_requestThe request is malformed: bad JSON, an unknown or invalid field, or a missing header.
401invalid_signatureThe MK-* headers are missing or malformed, the key id is unknown, or the signature doesn't match.
401key_expiredThe key has passed its expiry date.
401key_revokedThe key was revoked.
401timestamp_out_of_rangeMK-Timestamp is more than 30 seconds from the server clock.
401nonce_reusedThis key already used this MK-Nonce.
403ip_not_allowedThe request came from an address outside the key's IP allowlist.
403insufficient_scopeThe key doesn't have the scope this endpoint needs.
403account_restrictedThe account can't use the API right now (for example locked, inactive, or onboarding not finished).
403api_access_disabledAPI access is switched off.
429rate_limitedToo many requests. Wait for Retry-After seconds.
429too_many_concurrent_requestsToo many requests in flight for this key or account.
429key_suspendedThe key is suspended, for example after sustained rate limiting.
500internal_errorSomething went wrong on our side.
502bad_gatewayAn upstream service answered unexpectedly.
503overloadedThe service is overloaded. Retry after Retry-After seconds.
503service_unavailableThe service is temporarily unavailable.
504gateway_timeoutAn upstream service didn't answer in time. A POST may still complete; retry with the same Idempotency-Key.

Request

# Signed by sign-headers.sh: see Authentication
curl https://public-api.myntkaup.is/v1/balances \
  $(./sign-headers.sh GET /v1/balances | sed 's/^/-H /')
import { Myntkaup } from "@myntkaup/api";

const client = new Myntkaup(); // reads the key from the environment
const balances = await client.balances.list();
for (const balance of balances.data) {
  console.log(balance.asset, balance.available, balance.held);
}
from myntkaup import Myntkaup

client = Myntkaup()  # reads the key from the environment
balances = client.balances.list()
for balance in balances["data"]:
    print(balance["asset"], balance["available"], balance["held"])

Response

200 OK
{
  "as_of": "2026-11-03T10:15:10Z",
  "total_value_usdc": "1180.31",
  "total_value_isk": "164210",
  "data": [
    {
      "asset": "BTC",
      "available": "0.0123",
      "held": "0",
      "total": "0.0123",
      "value_usdc": "1180.31",
      "value_isk": "164210"
    }
  ]
}

Base URL https://public-api.myntkaup.is