Paxos Quote Executions API

Quote Executions buy or sell assets using a Quote obtained from the [Quotes](#tag/Quotes) flow.

Business capability
Trading Order Management BC-1370.30

Operations 3

GET /profiles/{profile_id}/quote-executions List Quote Executions #
POST /profiles/{profile_id}/quote-executions Create Quote Execution #
GET /profiles/{profile_id}/quote-executions/{id} Get Quote Execution #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/paxos-quote-executions-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

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 Specification

paxos-quote-executions-api-openapi.yml Raw ↑
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