Paxos Quote Executions API
Quote Executions buy or sell assets using a Quote obtained from the [Quotes](#tag/Quotes) flow.
Quote Executions buy or sell assets using a Quote obtained from the [Quotes](#tag/Quotes) flow.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/paxos-quote-executions-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Paxos Quote Executions API
version: '2.0'
description: Welcome to Paxos APIs.
x-logo:
url: /docs/paxos.svg
backgroundColor: '#FFFFFF'
altText: Paxos logo
servers:
- url: https://api.paxos.com/v2
description: Production
- url: https://api.sandbox.paxos.com/v2
description: Sandbox
tags:
- name: Quote Executions
description: 'Quote Executions buy or sell assets using a Quote obtained from
the Quotes flow.'
paths:
/profiles/{profile_id}/quote-executions:
get:
summary: List Quote Executions
description: List quote executions within a particular profile.
operationId: ListQuoteExecutions
responses:
'200':
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/ListQuoteExecutionsResponse'
parameters:
- name: profile_id
description: The profile ID associated with the orders.
in: path
required: true
schema:
type: string
- name: side
description: Filter by buy or sell side.
in: query
required: false
schema:
type: string
enum:
- BUY
- SELL
- name: market
description: Filter by the trading pair.
in: query
required: false
schema:
type: string
enum:
- ETHEUR
- ETHSGD
- ETHUSD
- BTCEUR
- BTCSGD
- BTCUSD
- PAXGUSD
- BCHUSD
- LTCUSD
- USDPUSD
- LINKUSD
- AAVEUSD
- UNIUSD
- PEPEUSD
- TRUMPUSD
- SHIBUSD
- ARBUSD
- BONKUSD
- ENAUSD
- MNTUSD
- ONDOUSD
- PENGUUSD
- QNTUSD
- RENDERUSD
- SKYUSD
- WIFUSD
- WLDUSD
- DOGEUSD
- AVAXUSD
- SUIUSD
- POLUSD
- XLMUSD
- BNBUSD
- name: status
description: Filter by the status of the order.
in: query
required: false
schema:
type: string
enum:
- CREATED
- SETTLED
- name: created_at.begin
description: Only return records after this timestamp, inclusive. RFC3339 format, like `2006-01-02T15:04:05Z`.
in: query
required: false
schema:
type: string
format: date-time
- name: created_at.end
description: Only return records before this timestamp, inclusive. RFC3339 format, like `2006-01-02T15:04:05Z`.
in: query
required: false
schema:
type: string
format: date-time
- name: limit
description: Number of results to return.
in: query
required: false
schema:
type: integer
format: int32
- name: order
description: 'Return items in ascending (ASC) or descending (DESC) order.
Default order is descending (DESC).'
in: query
required: false
schema:
type: string
enum:
- DESC
- ASC
- name: order_by
description: The specific method by which the returned results will be ordered.
in: query
required: false
schema:
type: string
enum:
- CREATED_AT
- name: page_cursor
description: Cursor token for fetching the next page. If using this then do not use `pagination.limit` and `pagination.offset` fields.
in: query
required: false
schema:
type: string
tags:
- Quote Executions
security:
- OAuth2:
- exchange:read_quote_execution
post:
summary: Create Quote Execution
description: 'Execute on a quote for buying or selling an asset.
The side, market, and guaranteed price of the execution are specified by the quote
with ID `quote_id`.
The amount to buy or sell must be specified in either fiat or crypto by setting
exactly one of:
- `base_amount` to specify the amount of crypto to buy or sell.
- `quote_amount` to specify the amount of fiat to spend or acquire.
An otherwise-valid request to create a quote execution may fail with the following
types of errors:
- Expired if the quote
with ID `quote_id` has expired.
- Insufficient Funds
if the profile with ID `profile_id` has insufficient available balance to
fund the execution.
- Rejected if extreme
market conditions (e.g. a very large price swing) have invalidated the quote.
- Already Exists
if a Quote Execution with the same `ref_id` has already been created.'
operationId: CreateQuoteExecution
responses:
'200':
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/QuoteExecution'
examples:
Buy $100 BTC:
value:
id: 43a59965-be3a-45ab-841d-c55386e0ff90
profile_id: b7b77d82-e6a7-4ae9-9904-36231aedf985
quote_id: 366a26d2-3098-4226-a520-4bb43ae4d922
status: CREATED
market: BTCUSD
side: BUY
price: '6001.2'
base_amount: '0.016663334'
base_asset: BTC
quote_amount: '100.00'
quote_asset: USD
created_at: '2020-01-17T18:36:31.345Z'
metadata:
customer_id: 9b8c9cba-801e-4418-adc0-ede709df6339
Sell 2 ETH:
value:
id: 43a59965-be3a-45ab-841d-c55386e0ff90
profile_id: b7b77d82-e6a7-4ae9-9904-36231aedf985
quote_id: 5a336768-5bc1-4401-9d95-9cb251ce4b58
status: CREATED
market: ETHUSD
side: SELL
price: '224.11'
base_amount: '2'
base_asset: ETH
quote_amount: '448.22'
quote_asset: USD
created_at: '2020-01-17T18:36:31.345Z'
metadata:
customer_id: 9b8c9cba-801e-4418-adc0-ede709df6339
'403':
description: Could not create quote execution
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
examples:
Expired:
$ref: '#/components/examples/Problem_expired_quote'
Insufficient Funds:
$ref: '#/components/examples/Problem_insufficient_funds'
Rejected:
$ref: '#/components/examples/Problem_rejected'
'404':
description: Could not find quote
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
examples:
Not Found:
$ref: '#/components/examples/Problem_not_found_quote'
'409':
description: Quote Execution Already Exists
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
examples:
Already Exists:
$ref: '#/components/examples/Problem_already_exists_quote_execution'
parameters:
- name: profile_id
description: The ID of the profile under which to execute this order.
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ExchangePublicCreateQuoteExecutionBody'
examples:
Buy $100 BTC:
value:
quote_id: 366a26d2-3098-4226-a520-4bb43ae4d922
quote_amount: '100'
metadata:
customer_id: 9b8c9cba-801e-4418-adc0-ede709df6339
Sell 2 ETH:
value:
quote_id: 5a336768-5bc1-4401-9d95-9cb251ce4b58
base_amount: '2'
metadata:
customer_id: 9b8c9cba-801e-4418-adc0-ede709df6339
required: true
tags:
- Quote Executions
security:
- OAuth2:
- exchange:write_quote_execution
/profiles/{profile_id}/quote-executions/{id}:
get:
summary: Get Quote Execution
description: Get an existing quote execution for buying or selling an asset.
operationId: GetQuoteExecution
responses:
'200':
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/QuoteExecution'
parameters:
- name: profile_id
in: path
required: true
schema:
type: string
- name: id
in: path
required: true
schema:
type: string
tags:
- Quote Executions
security:
- OAuth2:
- exchange:read_quote_execution
components:
examples:
Problem_insufficient_funds:
value:
type: https://developer.paxos.com/docs/v2/problems/insufficient-funds
title: Insufficient Funds
status: 403
detail: 'insufficient USD funds in profile b7b77d82-e6a7-4ae9-9904-36231aedf985: 100 needed, 50 available'
meta:
profile_id: b7b77d82-e6a7-4ae9-9904-36231aedf985
asset: USD
available: '50'
needed: '100'
Problem_expired_quote:
value:
type: https://developer.paxos.com/docs/v2/problems/expired
title: Expired
status: 403
detail: quote 366a26d2-3098-4226-a520-4bb43ae4d922 expired at 2020-01-17T18:36:38Z
meta:
expired_at: '2020-01-17T18:36:38Z'
Problem_already_exists_quote_execution:
value:
type: https://developer.paxos.com/docs/v2/problems/already-exists
title: Already Exists
status: 409
detail: quote execution already exists with ref_id 'already_used_ref_id'
meta:
existing:
id: f190b163-208f-4d73-8deb-4fb8b24add00
profile_id: b7b77d82-e6a7-4ae9-9904-36231aedf985
quote_id: 366a26d2-3098-4226-a520-4bb43ae4d922
ref_id: already_used_ref_id
status: CREATED
market: BTCUSD
side: BUY
price: '6001.2'
base_amount: '0.016663334'
base_asset: BTC
quote_amount: '100.00'
quote_asset: USD
created_at: '2020-01-17T18:36:31.345Z'
metadata:
customer_id: 9b8c9cba-801e-4418-adc0-ede709df6339
Problem_not_found_quote:
value:
type: about:blank
title: Not Found
status: 404
detail: quote not found with id 366a26d2-3098-4226-a520-4bb43ae4d922
Problem_rejected:
value:
type: https://developer.paxos.com/docs/v2/problems/rejected
title: Rejected
status: 403
detail: extreme market conditions have invalidated this quote execution
meta: {}
schemas:
ExchangePublicCreateQuoteExecutionBody:
type: object
example:
quote_id: 366a26d2-3098-4226-a520-4bb43ae4d922
quote_amount: '14102.82'
metadata:
customer_id: 9b8c9cba-801e-4418-adc0-ede709df6339
properties:
quote_id:
type: string
description: The ID of the held Quote for buying or selling some asset.
ref_id:
type: string
description: A unique identifier for the quote execution (for idempotence).
base_amount:
type: string
description: The amount of the base asset (crypto) to buy or sell using the specified quote. The maximum precision is 8 decimals.
pattern: ^[0-9]*\.?[0-9]+$
quote_amount:
type: string
description: The amount of the quote asset (fiat) to spend or acquire using the specified quote. The maximum precision is 2 decimals.
pattern: ^[0-9]*\.?[0-9]+$
metadata:
type: object
additionalProperties:
type: string
description: 'Metadata to store on the quote execution.
Up to 6 key/value pairs may be stored, with each key and value at most 100 characters.'
identity_id:
type: string
description: The end user that requests the quote execution.
account_id:
type: string
description: The account under which this quote execution is placed. The provided identity must be allowed to trade on behalf of this account.
recipient_profile_id:
type: string
description: The ID of the profile under which to deposit the funds.
title: Create Quote Execution Request
required:
- quote_id
QuoteExecution:
type: object
example:
id: 43a59965-be3a-45ab-841d-c55386e0ff90
profile_id: b7b77d82-e6a7-4ae9-9904-36231aedf985
quote_id: 366a26d2-3098-4226-a520-4bb43ae4d922
status: SETTLED
market: BTCUSD
side: BUY
price: '6001.2'
base_amount: '2.35'
base_asset: BTC
quote_amount: '14102.82'
quote_asset: USD
created_at: '2020-01-17T18:36:31.345Z'
settled_at: '2020-01-17T18:36:32.123Z'
metadata:
customer_id: 9b8c9cba-801e-4418-adc0-ede709df6339
properties:
id:
type: string
description: The UUID of the quote execution.
profile_id:
type: string
description: The ID of the profile under which this order executed.
quote_id:
type: string
description: The ID of the quote used to create this quote execution.
ref_id:
type: string
description: A unique identifier for the quote execution creation (for idempotence).
status:
$ref: '#/components/schemas/QuoteExecutionStatus'
market:
$ref: '#/components/schemas/Market'
side:
$ref: '#/components/schemas/OrderSide'
price:
type: string
format: decimal
description: The guaranteed price of the quote.
base_amount:
type: string
format: decimal
description: The amount of assets (crypto) in the transaction.
base_asset:
type: string
description: The "base" side of the trading pair (crypto - like BTC, ETH, PAXG).
quote_amount:
type: string
format: decimal
description: The amount of quote currency (cash) in the transaction.
quote_asset:
type: string
description: The "quote" side of the trading pair (fiat - like USD, EUR, SGD).
created_at:
type: string
format: date-time
description: The time at which the quote execution was created.
settled_at:
type: string
format: date-time
description: The time at which the quote execution was settled, completing its lifecycle.
metadata:
type: object
additionalProperties:
type: string
description: Client-specified metadata.
identity_id:
type: string
description: The identity under which this quote execution is placed.
account_id:
type: string
description: The account under which this quote execution is placed.
recipient_profile_id:
type: string
description: The ID of the profile under which to deposit the funds.
description: A QuoteExecution is an order to buy or sell an asset at a particular held Quote.
required:
- id
- profile_id
- quote_id
- status
- market
- side
- price
- base_amount
- base_asset
- quote_amount
- quote_asset
- created_at
OrderSide:
type: string
enum:
- BUY
- SELL
description: Trade side.
Market:
type: string
enum:
- ETHEUR
- ETHSGD
- ETHUSD
- BTCEUR
- BTCSGD
- BTCUSD
- PAXGUSD
- BCHUSD
- LTCUSD
- USDPUSD
- LINKUSD
- AAVEUSD
- UNIUSD
- PEPEUSD
- TRUMPUSD
- SHIBUSD
- ARBUSD
- BONKUSD
- ENAUSD
- MNTUSD
- ONDOUSD
- PENGUUSD
- QNTUSD
- RENDERUSD
- SKYUSD
- WIFUSD
- WLDUSD
- DOGEUSD
- AVAXUSD
- SUIUSD
- POLUSD
- XLMUSD
- BNBUSD
title: ''
Problem:
type: object
properties:
type:
type: string
format: uri
description: 'An absolute URI that identifies the problem type. When dereferenced,
it SHOULD provide human-readable documentation for the problem type
(e.g., using HTML).
'
default: about:blank
example: https://api.paxos.com/v2/problems/insufficient_funds
title:
type: string
description: 'A short, summary of the problem type. Written in english and readable
for engineers (usually not suited for non technical stakeholders and
not localized); example: Service Unavailable
'
example: Insufficient Funds
status:
type: integer
format: int32
description: 'The HTTP status code generated by the origin server for this occurrence
of the problem.
'
minimum: 100
example: 403
exclusiveMaximum: 600
detail:
type: string
description: 'A human readable explanation specific to this occurrence of the
problem.
'
example: Not enough funds in account.
meta:
type: object
description: 'Additional structured metadata about the error.
'
ListQuoteExecutionsResponse:
type: object
properties:
total_count:
type: integer
format: int32
items:
type: array
items:
$ref: '#/components/schemas/QuoteExecution'
next_page_cursor:
type: string
description: Cursor token required for fetching the next page.
QuoteExecutionStatus:
type: string
enum:
- CREATED
- SETTLED
description: 'A QuoteExecution begins in state `CREATED` and transitions to end state `SETTLED`
when all accounting movements are complete.'
securitySchemes:
OAuth2:
type: oauth2
description: 'Paxos APIs use [OAuth 2](https://tools.ietf.org/html/rfc6749) with the [client credentials](https://tools.ietf.org/html/rfc6749#section-4.4) grant flow.
**Token URLs:**
- Production: https://oauth.paxos.com/oauth2/token
- Sandbox: https://oauth.sandbox.paxos.com/oauth2/token
Learn more in the [API credentials guide →](https://docs.paxos.com/developer/credentials)
'
flows:
clientCredentials:
tokenUrl: https://oauth.paxos.com/oauth2/token
scopes:
conversion:read_conversion_stablecoin: Retrieve stablecoin conversion details
conversion:write_conversion_stablecoin: Create or cancel a stablecoin conversion
exchange:historical_prices: Retrieve marketnaverage prices at a certain time increment
exchange:read_order: Retrieve order or order execution details
exchange:read_quote: Retrieve quote details for buying or selling an asset
exchange:read_quote_execution: Retrieve quote execution details
exchange:write_quote_execution: Create a quote execution for buying or selling an asset
exchange:write_order: Create or cancel an order for buying or selling an asset
fee:write_crypto_withdrawal_fee: Create a guaranteed fee for crypto withdrawal
funding:read_bank_balance: Retrieve Paxos dedicated bank account balance
funding:read_profile: Retrieve Profile details and deposit funds in Sandbox
funding:write_profile: Create a Profile
identity:read_account: Retrieve Account details
identity:read_identity: Retrieve Identity details or documents
identity:write_account: Create or update Account and Account Members
identity:write_identity: Create or update Identity details and set Sandbox Identify Status
settlement:read_transaction: Retrieve settlement transaction details
settlement:write_transaction: Create, affirm or cancel a settlement transaction
tax:read_tax_form: Retrieve tax details
tax:read_tax_lot: Retrieve tax lot details
tax:write_tax_lot: Update the given tax-lot ID
transfer:read_deposit_address: Retrieve deposit address details
transfer:read_fiat_account: Retrieve Fiat Account details
transfer:read_fiat_deposit_instructions: Retrieve fiat deposit instruction details
transfer:read_transfer: Retrieve transfer details
transfer:read_transfer_limit: Retrieve limits for the given transaction type
transfer:reject_crypto_deposit: Reject a crypto deposit (travel rule)
transfer:update_crypto_deposit: Provide required travel-rule details
transfer:write_crypto_withdrawal: Withdraw asset to a specified destination address
transfer:write_deposit_address: Create an deposit address on a blockchain network
transfer:write_fiat_account: Create, update or delete a Fiat Account
transfer:write_fiat_deposit_instructions: Create, update or delete fiat deposit instructions
transfer:write_internal_transfer: Transfer assets between two Profiles
transfer:write_sandbox_fiat_deposit: Initiate a test fiat deposit in the Sandbox environment
transfer:write_fiat_withdrawal: Withdraw fiat to the given destination
events:read_event: Retrieve events
x-tagGroups:
- name: Deposits and Withdrawals
tags:
- Transfers
- Fiat Transfers
- Deposit Addresses
- Crypto Deposits
- Crypto Withdrawals
- Fees
- Internal Transfers
- Paxos Transfers
- Limits
- name: Identity
tags:
- Identity
- Institution Members
- Accounts
- Account Members
- Identity Documents
- name: API Credentials
tags:
- API Credentials
- name: Profiles
tags:
- Profiles
- name: Sandbox
tags:
- Sandbox Deposits
- Sandbox Identity
- Sandbox Fiat Transfers
- name: Settlements
tags:
- Settlement
- name: Stablecoin Conversion
tags:
- Stablecoin Conversion
- name: Taxes
tags:
- Tax Forms
- name: Trading
tags:
- Market Data
- Orders
- Quotes
- Quote Executions
- Pricing
- Issuer Quotes
- name: Rewards
tags:
- Monitoring Addresses
- Statements
- Payments
- name: Rewards (Alpha)
tags:
- Reward Addresses
- Claims
- Payout Groups
- Rewards
- name: Events
tags:
- Events
- Event Types
- Event Objects