Saltar al contenido principal

Assets

Supported assets — fiat, stablecoins, crypto and tokenised equities

GET /v2/assets

List supported assets

Reference data, identical for every key. This is the authoritative source for an asset's assetClass (fiat, stablecoin, crypto or tokenised equity) — balances deliberately do not publish one, so join on assetSymbol rather than inferring a kind from the code. It also carries amountIncrement, the operating precision to quantise amounts to before sending them, and the rebase factor for a tokenised equity.

Parámetros

ParámetroEnTipoRequeridoDescripción
pagequeryintegernoDefault: 1.
limitqueryintegernoDefault: 25.

Respuestas

CódigoDescripciónCuerpo
200Éxito.data: AssetResource[] · pagination: PaginationMeta
401application/problem+json (RFC 9457) — branch on code, not on the status: unauthorized (not retryable), key_expired (not retryable), key_revoked (not retryable).
403application/problem+json (RFC 9457) — branch on code, not on the status: insufficient_scope (not retryable), ip_not_allowed (not retryable), api_access_disabled (not retryable).
429application/problem+json (RFC 9457) — branch on code, not on the status: rate_limited (retryable).
500application/problem+json (RFC 9457) — branch on code, not on the status: internal_error (retryable).
502application/problem+json (RFC 9457) — branch on code, not on the status: downstream_unavailable (retryable).
503application/problem+json (RFC 9457) — branch on code, not on the status: maintenance (retryable).

GET /v2/assets/{assetSymbol}

Get a supported asset by its symbol

Reference data is identical for every key, so this response does not depend on who asks. Accepts either spelling of a tokenised equity: the settled SPV code or the rebased ticker.

Parámetros

ParámetroEnTipoRequeridoDescripción
assetSymbolpathstringThe asset code published as assetSymbol by GET /v2/assets (e.g. BTC, NVDASPV). For a tokenised equity the REBASED ticker also resolves here — NVDAX returns the same asset as NVDASPV — so either spelling works. Case-insensitive.

Respuestas

CódigoDescripciónCuerpo
200Éxito.AssetResource
401application/problem+json (RFC 9457) — branch on code, not on the status: unauthorized (not retryable), key_expired (not retryable), key_revoked (not retryable).
403application/problem+json (RFC 9457) — branch on code, not on the status: insufficient_scope (not retryable), ip_not_allowed (not retryable), api_access_disabled (not retryable).
404application/problem+json (RFC 9457) — branch on code, not on the status: not_found (not retryable).
429application/problem+json (RFC 9457) — branch on code, not on the status: rate_limited (retryable).
500application/problem+json (RFC 9457) — branch on code, not on the status: internal_error (retryable).
502application/problem+json (RFC 9457) — branch on code, not on the status: downstream_unavailable (retryable).
503application/problem+json (RFC 9457) — branch on code, not on the status: maintenance (retryable).

Esquemas

AssetResource

CampoTipoDescripción
assetSymbolstringAsset code. This is the value every endpoint takes as assetSymbol — there is no bare asset parameter anywhere on the public API. Ej.: BTC.
rebasedSymbolstringThe REBASED ticker — the name a holder sees for this asset. For a tokenised equity this is the underlying equity code (NVDAX) while assetSymbol stays the settled SPV code (NVDASPV); the two are the same value for every other asset. Always present, so a UI can read this field unconditionally instead of branching. ⚠️ Equal to assetSymbol is NOT a claim that the asset does not rebase — use assetClass. Ej.: BTC.
assetNamestringEj.: Bitcoin.
assetClassFIAT | STABLECOIN | STOCK | CRYPTOWhat kind of asset this is. STOCK is a tokenised equity (xStock) and is the only class whose amounts rebase — see rebaseMultiplier. Do not infer this from any numeric field. Ej.: CRYPTO.
amountIncrementstringSmallest amount step Skipo operates on for this asset. An amount finer than this is TRUNCATED — not rejected, and not rounded up. Ej.: 0.00000001.
displayIncrementstringStep Skipo uses when DISPLAYING this asset — coarser than amountIncrement. Presentation only; never validate an amount against it. Ej.: 0.01.
minimumDepositstringSmallest deposit that will be credited. Ej.: 0.0001.
minimumWithdrawalstringSmallest withdrawal to an external destination, as a PLATFORM-wide floor for this asset. A chain may impose a higher one of its own, and the effective minimum is the larger of the two — so a withdrawal at exactly this figure can still be rejected on a chain with a higher floor. Read networks[].minimumWithdrawal for the figure that applies to a given chain. Ej.: 0.001.
minimumInternalWithdrawalstringSmallest withdrawal to another Skipo account. Usually lower than the external minimum, because no network fee is involved. Ej.: 0.0001.
withdrawalFeestringFlat fee the account pays Skipo for an external withdrawal of this asset, charged in that same asset. "0" for fiat. Deposits are always free. ⚠️ On a multichain asset this is the CHEAPEST chain’s fee, because there is no single answer — USDT costs one thing on BNB Smart Chain and another on Tron. The fee actually charged is the one of the chain your destination contact is on: read networks[].withdrawalFee, matched on the contact’s crypto.networkId. This field is kept for clients written before an asset could have more than one chain, and reports the lowest so that it never OVERstates what a withdrawal costs. Ej.: 0.0005.
maxIndicativeQuoteAmountstringLargest amount Skipo will quote for an account with no balance and no available credit. A quote within this limit is INDICATIVE — priced, but confirming it still requires funds. Ej.: 0.2.
rebaseMultiplierstringRebase factor currently in effect for a tokenised equity. It multiplies the SETTLED quantity to give the underlying shares: shares = settledTokens × rebaseMultiplier, so one settled token is rebaseMultiplier shares. To go the other way, divide. "1" for every non-rebasing asset. This is the CURRENT factor — to render a PAST trade, use the point-in-time multiplier on the fill, never this one. Ej.: 1.
networksNetworkResource[]Networks this asset can be withdrawn over. Empty for fiat.

NetworkResource

CampoTipoDescripción
networkNamestringHuman-readable network name. Ej.: Bitcoin.
networkIdstring | nullThe CANONICAL chain identifier, from maintainers chain registry — BSC, ETH, TRON, BITCOIN, STELLAR_NETWORK. A stable key: one row per chain, unique, and the same value wherever v2 publishes it. ⚠️ This REPLACES the old networkSymbol, which was removed from this resource. That field was never a key — it mixed chain symbols, token standards and prose (Stellar Network, XRP Ledger, Dogecoin) and disagreed with itself. Key on this instead. It is also what the industry uses: Binance identifies BNB Smart Chain as network: "BSC", and so does this. Ej.: BITCOIN.
evmChainIdnumber | nullEIP-155 chain id for an EVM chain — 56 for BNB Smart Chain, 1 for Ethereum. null on a non-EVM chain (Bitcoin, Solana, XRP…). The most portable identifier there is, when it exists. Ej.: 1.
networkNativeAssetstring | nullThe chain NATIVE COIN symbol — BNB for BNB Smart Chain, ETH for Ethereum. This is the asset that pays gas on the chain, NOT an identifier for the chain itself; networkId is that. Published because the two are easy to confuse and both are useful. Ej.: BTC.
assetTypestring | nullThe TOKEN STANDARD on this chain — ERC20, BEP20, TRC20, SOL_ASSET, or BASE_ASSET when the asset is the chain native coin. A different axis from networkId: USDT on BNB Smart Chain is networkId: "BSC" with assetType: "BEP20". The removed networkSymbol collapsed both onto one column, which is why it disagreed with itself. Ej.: BEP20.
withdrawalFeestringFee charged for a withdrawal over THIS network, denominated in the asset itself. It is per-network, so a multichain asset can price each chain differently. This is the authoritative figure — the asset-level withdrawalFee reports the cheapest chain. Ej.: 0.0005.
minimumWithdrawalstringSmallest withdrawal Skipo will send over THIS network — the EFFECTIVE minimum, already resolved as the larger of the platform floor for the asset and the chain’s own floor. Validate against this rather than the asset-level minimumWithdrawal, which reports only the platform half and can therefore be lower than what this chain will accept. It applies to the quantity that is SENT. Under the default feeMode of deduct that is amountwithdrawalFee, so the smallest amount this network accepts is minimumWithdrawal + withdrawalFee. Ej.: 0.001.

PaginationMeta

CampoTipoDescripción
pagenumberEj.: 1.
limitnumberEj.: 25.
totalItemsnumberEj.: 100.
totalPagesnumberEj.: 4.

Problem

CampoTipoDescripción
typestringStable problem-type URI. Resolves to docs for this error. Ej.: https://docs.skipo.com/errors/rate_limited.
titlestringShort, human-readable summary (stable, English). Ej.: Rate limit exceeded.
statusnumberHTTP status code. Ej.: 429.
codestringStable machine-readable error code (equals the last path segment of type). Ej.: rate_limited.
retryablebooleanWhether retrying the identical request may succeed. Ej.: true.
detail (opcional)stringHuman-readable, possibly localized detail.
instance (opcional)stringThe request path that produced the error.
traceId (opcional)stringTrace id — joins BigQuery api_request and Cloud Logging.

Volver a la referencia de endpoints. Ver también: Paginación · Errores · Ids y correlación.