Skip to main content

Providers

The catalogue of supported exchanges, wallets, blockchains and services — what you can connect, which credentials each one needs, and what data it can return.

Base URL: https://api-v2.kryptos.io

EndpointReturns
GET/v1/providersThe catalogue, filtered and paginated
GET/v1/providers/{id}One provider in full

No authentication required. This is a public catalogue, so you can render an integration picker before a user has signed in.

Request

curl -X GET "https://api-v2.kryptos.io/v1/providers?type=exchange&featured=true"

Query Parameters

ParameterTypeDefaultDescription
typestringexchange, blockchain, wallet, service or aggregator
featuredbooleanOnly providers Kryptos highlights
isWorkingbooleanOnly providers currently operational
searchstringMatch on name, public name and slug
pageinteger1Page number
limitinteger501–100, silently clamped

Results are ordered featured first, then working, then alphabetically — so an unfiltered first page is already a sensible default list.

Response

{
"success": true,
"data": {
"providers": [
{
"id": "binance",
"slug": "binance",
"name": "Binance",
"publicName": "Binance",
"description": "Global cryptocurrency exchange",
"type": "exchange",
"logo": "https://...",
"featured": true,
"isWorking": true,
"importMethods": ["api", "csv"],
"credentialFields": {
"apiKey": { "required": true, "type": "string", "label": "API Key", "placeholder": "Enter your API key" },
"secretKey": { "required": true, "type": "password", "label": "Secret Key" }
},
"capabilities": { "trades": true, "deposits": true, "withdrawals": true, "holdings": true, "staking": true },
"walletSupportedChains": null,
"functions": [
{ "name": "fetchTrades", "public_name": "Trades", "is_base": true }
],
"integrationInfo": {},
"walletLimitations": {
"importOptions": [{ "name": "api", "status": true, "isRecommended": true }]
},
"metadata": {},
"createdAt": "2026-01-01T00:00:00.000Z",
"updatedAt": "2026-08-01T00:00:00.000Z"
}
],
"pagination": { "page": 1, "limit": 50, "total": 312, "totalPages": 7, "hasMore": true }
}
}

Response Fields

FieldTypeDescription
idstringProvider id — matches an integration's providerId
slugstringURL-safe identifier
namestringInternal name
publicNamestringDisplay name
descriptionstring | nullShort description
typestringexchange, blockchain, wallet, service or aggregator
logostring | nullLogo URL
featuredbooleanHighlighted by Kryptos
isWorkingbooleanCurrently operational — see below
importMethodsarrayHow data can be imported: api, csv, oauth, address, wallet_connect, manual
credentialFieldsobjectWhich credential inputs to render, see below
capabilitiesobjectData this provider can return
walletSupportedChainsarray | nullFor wallets: supported chains, each { id, onlyManual? }
functionsarray | nullConnector functions available; pass a subset as config.userFunctions
integrationInfoobject | nullSetup hints and known API limitations
walletLimitationsobject | nullImport options, per-method feature lists, step-by-step instructions
metadataobject | nullProvider-specific extras — DeBank id, WalletConnect id, native token
createdAt, updatedAtstringISO 8601

isWorking: false means Kryptos has detected the provider's API as degraded or broken. Connecting is still allowed, but syncs will likely fail — grey the option out rather than hiding it, so users understand why.

Building a credential form

credentialFields is a map of field name to definition, so you can render the right inputs without hard-coding per provider:

FieldTypeDescription
requiredbooleanWhether the field must be filled
typestringstring, password or boolean — drives the input type
labelstringField label to display
placeholderstringOptional placeholder

Possible keys include apiKey, secretKey, password, accountName, address and communityId. The map is open-ended, so iterate it rather than checking for known keys.

Capabilities

trades, deposits, withdrawals, staking, nft, defi, holdings, margin, futures, swap, bridge. Absent means unsupported.

One provider

GET /v1/providers/{id} returns the same object as { success, data }, or 404 NOT_FOUND.

Not in the catalogue

The internal custom-wallet provider is always excluded — it exists only to satisfy a database constraint and is never something a user should pick. A user's own manual wallets appear on GET /v1/integrations with isCustomWallet: true and no meaningful provider.