For the complete documentation index, see llms.txt. This page is also available as Markdown.

Market

GetDexQuote returns a cross-chain route quote from the configured DEX provider

post
/market/v1/dex/quote

Quote-only. Does not execute the swap. Response includes the raw route data needed by the client (or a follow-up call) to actually execute it

Body
allowMultiTxbooleanOptional
senderAddressstringOptional

sender_address is the wallet address of the user initiating the swap.

Responses
200

A successful response.

application/json
affiliateAddressstringOptional

affiliate_address is the address that receives the affiliate fee for this route.

affiliateFeeBpsinteger · int32Optional

affiliate_fee_bps is the affiliate fee in basis points applied to this route (e.g. 100 = 1.00%).

approvalAddressstringOptional

approval_address is the spender (LiFi router) that needs ERC-20 allowance.

approvalAmountstringOptional

approval_amount is the minimum token amount (base units) that must be approved.

approvalTokenstringOptional

approval_token is the ERC-20 contract address that must grant allowance before the swap. Empty for native-token swaps (no approval needed).

doesSwapbooleanOptional
estimatedAmountOutstringOptional
evmTxstringOptional

evm_tx is the RLP-serialized unsigned EIP-1559 transaction (hex, 0x-prefixed). Only present when provider is "lifi". Parse with viem's parseTransaction, then pass the extracted fields to sendTransaction (nonce is a placeholder — omit it).

providerstringOptional

provider identifies which DEX routing provider fulfilled this quote ("skip" or "lifi").

routeDataobjectOptional

route_data is the full Skip route object required for swap execution. Contains the complete route including operations, required chain addresses, and all fields needed to call Skip's executeRoute without a separate route() call.

swapPriceImpactPercentstringOptional
txsRequiredinteger · int32Optional
usdAmountInstringOptional
usdAmountOutstringOptional
post/market/v1/dex/quote

GetFiatAssets returns a list of fiat assets

get
/market/v1/fiat-assets

Static reference list of fiat currencies (ISO codes) supported across on-ramp/off-ramp products

Required scopes
This endpoint requires the following scopes:
Authorizations
AuthorizationstringRequired

Send 'Authorization: APIKey ' to authenticate with a API key.

Responses
200

A successful response.

application/json
get/market/v1/fiat-assets

GetFiatAsset returns a fiat asset by id

get
/market/v1/fiat-assets/{code}

code is the 3-letter ISO fiat currency code (e.g. "USD", "BRL")

Required scopes
This endpoint requires the following scopes:
Authorizations
AuthorizationstringRequired

Send 'Authorization: APIKey ' to authenticate with a API key.

Path parameters
codestringRequired

code represents the fiat asset identifier

Responses
200

A successful response.

application/json
get/market/v1/fiat-assets/{code}

ListInstruments lists all the instruments for the users

get
/market/v1/instruments

Scoped to the instruments account_id has access to, not a global list

Required scopes
This endpoint requires the following scopes:
Authorizations
AuthorizationstringRequired

Send 'Authorization: APIKey ' to authenticate with a API key.

Query parameters
accountIdstringRequired

account_id is the account identifier used to validate if the user has access to the provider

Responses
200

A successful response.

application/json
get/market/v1/instruments

GetInstrument retrieves a single instrument by its id

get
/market/v1/instruments/{id}

account_id is checked to confirm the caller has access to this instrument before returning it

Required scopes
This endpoint requires the following scopes:
Authorizations
AuthorizationstringRequired

Send 'Authorization: APIKey ' to authenticate with a API key.

Path parameters
idstringRequired

id is the id of the instrument

Query parameters
accountIdstringRequired

account_id is the account identifier used to validate if the user has access to the instrument

Responses
200

A successful response.

application/json
get/market/v1/instruments/{id}

GetInstrumentLimits retrieves the limits from the provided instrument

get
/market/v1/instruments/{id}/limits

Returns the min/max tradeable amount for the given side (buy or sell)

Required scopes
This endpoint requires the following scopes:
Authorizations
AuthorizationstringRequired

Send 'Authorization: APIKey ' to authenticate with a API key.

Path parameters
idstringRequired

id is the id of the instrument

Query parameters
sidestringRequired

side is the side of the quote (buy or sell)

Responses
200

A successful response.

application/json
get/market/v1/instruments/{id}/limits

GetInstrumentQuote retrieves the quote from the provided instrument

get
/market/v1/instruments/{id}/quote

Applies the instrument's configured spread on top of the underlying provider price for the given side (buy or sell) and amount

Required scopes
This endpoint requires the following scopes:
Authorizations
AuthorizationstringRequired

Send 'Authorization: APIKey ' to authenticate with a API key.

Path parameters
idstringRequired

id is the id of the instrument

Query parameters
amountstringRequired

amount contains the amount to transfer (must be atoms)

accountIdstringRequired

account_id is the ID of the account used to sign the quote

sidestringRequired

side is the side of the quote (buy or sell)

Responses
200

A successful response.

application/json
get/market/v1/instruments/{id}/quote

ListProducts lists all products with optional filtering

get
/market/v1/products

Returns every product regardless of enabled status. Filter client-side if only enabled ones are needed

Required scopes
This endpoint requires the following scopes:
Authorizations
AuthorizationstringRequired

Send 'Authorization: APIKey ' to authenticate with a API key.

Responses
200

A successful response.

application/json
get/market/v1/products

ListProductsProviders returns the store relations products providers

get
/market/v1/products-providers

account_id scopes the list to relations that account is allowed to use

Required scopes
This endpoint requires the following scopes:
Authorizations
AuthorizationstringRequired

Send 'Authorization: APIKey ' to authenticate with a API key.

Query parameters
accountIdstringRequired

account_id is the ID of the account to verify if it's allowed to use the provider

Responses
200

A successful response.

application/json
get/market/v1/products-providers

GetProductsProvider returns a single products provider relation by ID

get
/market/v1/products-providers/{id}

account_id is checked to confirm the caller can use this relation

Required scopes
This endpoint requires the following scopes:
Authorizations
AuthorizationstringRequired

Send 'Authorization: APIKey ' to authenticate with a API key.

Path parameters
idstringRequired

id is the id of the relation products providers to retrieve

Query parameters
accountIdstringRequired

account_id is the ID of the account to verify if it's allowed to use the provider

Responses
200

A successful response.

application/json
get/market/v1/products-providers/{id}

GetProductProviderLimits retrieves the limits for a provider based on the product, fiat and amount

get
/market/v1/products-providers/{id}/limits

Returns the min/max tradeable amount for on-ramp/off-ramp through this relation

Required scopes
This endpoint requires the following scopes:
Authorizations
AuthorizationstringRequired

Send 'Authorization: APIKey ' to authenticate with a API key.

Path parameters
idstringRequired

id is the id of the relation products providers

Responses
200

A successful response.

application/json
get/market/v1/products-providers/{id}/limits

ProcessOnRamp initializes the on-ramp process with the given information

post
/market/v1/products-providers/{id}/onramp

Creates the on-ramp ticket and returns a provider-specific payload Either a redirect URL (e.g. MoonPay widget) or PIX payment details (e.g. Avenia PIX), depending on the provider

Required scopes
This endpoint requires the following scopes:
Authorizations
AuthorizationstringRequired

Send 'Authorization: APIKey ' to authenticate with a API key.

Path parameters
idstringRequired

id is the id of the relation products providers

Body
accountIdstringRequired
destinationIdstringRequired
Responses
200

A successful response.

application/json

ProcessOnRampResponse is the response message for the ProcessOnRamp method. Exactly one of url_payload or deposit_payload is set, depending on the on-ramp type.

ticketIdstringRequired
post/market/v1/products-providers/{id}/onramp

GetProductProviderQuote retrieves the quote for a product based on the provider, fiat and amount

get
/market/v1/products-providers/{id}/quote

Quote-only. Use ProcessOnRamp separately to act on it. amount can be crypto (atoms) or fiat (decimal) depending on the relation's direction

Required scopes
This endpoint requires the following scopes:
Authorizations
AuthorizationstringRequired

Send 'Authorization: APIKey ' to authenticate with a API key.

Path parameters
idstringRequired

id is the id of the relation products providers

Query parameters
amountstringRequired

amount contains the amount to transfer (can be crypto in atoms or fiat in decimals)

accountIdstringRequired

account_id is the ID of the account used to sign the quote

Responses
200

A successful response.

application/json
get/market/v1/products-providers/{id}/quote

GetProduct retrieves a product by its ID

get
/market/v1/products/{productId}

Includes the product's chain/token, fee spec and AML check flag

Required scopes
This endpoint requires the following scopes:
Authorizations
AuthorizationstringRequired

Send 'Authorization: APIKey ' to authenticate with a API key.

Path parameters
productIdstringRequired

product_id is the ID of the product to retrieve

Responses
200

A successful response.

application/json
get/market/v1/products/{productId}

ListProviders returns all registered providers

get
/market/v1/providers

DB-registered providers only. Use ListRegistryProviders to see providers implemented in code but not yet registered

Required scopes
This endpoint requires the following scopes:
Authorizations
AuthorizationstringRequired

Send 'Authorization: APIKey ' to authenticate with a API key.

Query parameters
accountIdstringRequired

account_id is the ID of the account to verify if it's allowed to use the provider

Responses
200

A successful response.

application/json
get/market/v1/providers

GetProvider returns the provided information from the Id

get
/market/v1/providers/{providerId}

account_id is used to resolve is_user_allowed and kyc_status for that specific account on this provider

Required scopes
This endpoint requires the following scopes:
Authorizations
AuthorizationstringRequired

Send 'Authorization: APIKey ' to authenticate with a API key.

Path parameters
providerIdstringRequired

provider_id is the ID of the provider to retrieve

Query parameters
accountIdstringRequired

account_id is the ID of the account associated to the provider

Responses
200

A successful response.

application/json
get/market/v1/providers/{providerId}

GetProviderKyc returns the KYC data for the user on the given provider

post
/market/v1/providers/{providerId}/kyc/{accountId}

Always fetches a fresh status from the provider and persists a history record. It doesn't just read the last known status from the DB

Required scopes
This endpoint requires the following scopes:
Authorizations
AuthorizationstringRequired

Send 'Authorization: APIKey ' to authenticate with a API key.

Path parameters
providerIdstringRequired

provider_id is the DB ID of the provider

accountIdstringRequired

account_id is the ID of the account to retrieve KYC data for

Body
object · GetProviderKycRequest is the request message for the GetProviderKyc methodOptional
Responses
200

A successful response.

application/json
basicCompanyDataUrlstringOptional

basic_company_data_url is the second URL for KYB (company) accounts only. Present when the sub-account is a company; absent for individual KYC.

metadataobject · metadata contains provider-specific KYC metadataOptional
nextUrlstringOptional

next_url is the redirect URL to continue the KYC process (when applicable). For KYB (company) accounts this is the authorized representative URL.

providerAccountIdstringOptional
reasonstringOptional
statusstringRequired

status is the current KYC status for the account on this provider. Possible values: "pending", "processing", "verified", "rejected".

post/market/v1/providers/{providerId}/kyc/{accountId}

StartProviderKyc initiates the KYC process for the user on the given provider

post
/market/v1/providers/{providerId}/kyc/{accountId}/start

Creates the provider sub-account and returns the KYC redirect URL. Must be called explicitly by the user. GetProviderKyc no longer auto-triggers this

Required scopes
This endpoint requires the following scopes:
Authorizations
AuthorizationstringRequired

Send 'Authorization: APIKey ' to authenticate with a API key.

Path parameters
providerIdstringRequired

provider_id is the DB ID of the provider

accountIdstringRequired

account_id is the ID of the account to initiate KYC for

Body
object · StartProviderKycRequest is the request message for the StartProviderKyc methodOptional
Responses
200

A successful response.

application/json
basicCompanyDataUrlstringOptional

basic_company_data_url is the second URL for KYB (company) accounts only. Present when the sub-account is a company; absent for individual KYC.

nextUrlstringOptional

next_url is the redirect URL the user must follow to complete the KYC process. For KYB (company) accounts this is the authorized representative URL.

statusstringRequired

status is the current KYC status after initiating the flow. Possible values: "pending", "processing", "verified", "rejected".

post/market/v1/providers/{providerId}/kyc/{accountId}/start

ListTradeInstruments lists the trade instruments available to the account

get
/market/v1/trade-instruments

Each instrument carries its hydrated products so the caller can render the pair picker that GetTradeInstrumentQuote expects

Required scopes
This endpoint requires the following scopes:
Authorizations
AuthorizationstringRequired

Send 'Authorization: APIKey ' to authenticate with a API key.

Query parameters
accountIdstringRequired

account_id is the identifier of the account listing the instruments

Responses
200

A successful response.

application/json
get/market/v1/trade-instruments

GetTradeInstrumentQuote returns a quote for a pair inside a trade instrument

get
/market/v1/trade-instruments/{id}/quote

Both legs are named explicitly. Exactly one of them must be the instrument's quote product, which is what determines the side of the trade

Required scopes
This endpoint requires the following scopes:
Authorizations
AuthorizationstringRequired

Send 'Authorization: APIKey ' to authenticate with a API key.

Path parameters
idstringRequired

id contains the identifier of the trade instrument

Query parameters
accountIdstringRequired

account_id is the identifier of the account requesting the quote

productInIdstringRequired

product_in_id is the product the user gives up

productOutIdstringRequired

product_out_id is the product the user receives

amountstringRequired

amount contains the amount of product_in in atoms

Responses
200

A successful response.

application/json
get/market/v1/trade-instruments/{id}/quote

Last updated