Concepts
Amounts, times and versions
The conventions every endpoint follows: JSON bodies, decimal strings, UTC times, prefixed ids and a stable v1.
Requests
- The base URL is
https://public-api.myntkaup.is, and every path starts with/v1. - Request bodies are JSON, sent with
Content-Type: application/json, and at most 8 KB. - Unknown fields in a body and unknown query parameters are rejected with
400 invalid_request. The message names the field. - Every response carries an
MK-Request-Idheader,req_followed by 26 characters. Log it.
Environments
| Environment | Base URL | Keys |
|---|---|---|
| Production | https://public-api.myntkaup.is | mk_live_… |
| Staging | https://public-api.staging.myntkaup.is | mk_test_… |
Staging is for Myntkaup's own testing for now. A public sandbox for developers is planned.
Amounts
- Amounts are decimal strings:
"0.00104210","100.00","-100.00". They are never JSON numbers, which would lose precision. - Parse them with a decimal type, such as
decimal.Decimalin Python or a decimal library in JavaScript, or keep them as strings. Don't convert them to floating point to do arithmetic. - Amounts you send are positive, with up to 20 digits before the point and 18 after. Trade amounts are rounded to the asset's
base_increment(see GET/v1/assets). - Trades settle in USDC (
quote_currency). Values in ISK (value_isk,total_value_isk,isk_estimate) are indicative only.
Assets
Asset symbols are upper case: "BTC", "ETH", "USDC". GET/v1/assets lists the ones you can trade, with their sizes and precision. A delisted asset can still be sold.
Times
- Times in responses are ISO 8601 in UTC with a
Z:"2026-11-03T10:15:10Z". - The
fromandtofilters also accept an offset:2026-11-03T00:00:00+00:00. MK-Timestampis different: milliseconds since the Unix epoch.- A "day" in limits is the UTC day.
Ids
Ids are opaque strings with a prefix that tells you what they are:
| Prefix | Object |
|---|---|
qt_ | Quote |
tr_ | Trade |
tx_ | Ledger entry (transaction) |
gc_ | Gift card |
req_ | Request id |
mk_live_, mk_test_ | API key |
Store them as strings of up to 70 characters. Don't parse what comes after the prefix.
Versioning
The version is in the path: /v1. Within v1, changes are only additive:
- new endpoints;
- new optional request fields and parameters;
- new fields in responses.
So ignore response fields you don't know, rather than rejecting them. Removing or changing something would come with Deprecation and Sunset headers on the affected endpoints, and a new version. The changelog lists every change.