API reference · Market data

Tradable assets

GET/v1/assets

Every listed asset with its trade sizes and precision. Cached for up to 30 s.

Scope
Any valid key.
Rate-limit class
market
Authentication
Signed

Responses

200 OK

The assets. application/json · AssetList

  • dataarray of Asset
    10 properties of each item
    • assetstring

      An upper-case asset symbol.

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

    • namestring
    • statusstring (enum)

      A delisted coin can still be sold.

      One of live, delisted.

    • buy_enabledboolean
    • sell_enabledboolean
    • base_incrementstring (decimal)
    • price_decimalsinteger

      At least 0.

    • min_trade_usdcstring (decimal)
    • max_trade_usdcstring (decimal)
    • logo_urlstring | null

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.
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/assets \
  $(./sign-headers.sh GET /v1/assets | sed 's/^/-H /')
import { Myntkaup } from "@myntkaup/api";

const client = new Myntkaup(); // reads the key from the environment
const { data: assets } = await client.assets.list();
console.log(assets.filter((asset) => asset.buy_enabled).map((asset) => asset.asset));
from myntkaup import Myntkaup

client = Myntkaup()  # reads the key from the environment
assets = client.assets.list()["data"]
print([asset["asset"] for asset in assets if asset["buy_enabled"]])

Response

200 OK
{
  "data": [
    {
      "asset": "BTC",
      "name": "Bitcoin",
      "status": "live",
      "buy_enabled": true,
      "sell_enabled": true,
      "base_increment": "0.00000001",
      "price_decimals": 2,
      "min_trade_usdc": "2",
      "max_trade_usdc": "10000",
      "logo_url": "https://…"
    }
  ]
}

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