Paxos Profiles API

Profiles hold asset balances, and every Paxos transaction is on a particular profile. Depending on your integration type, Profiles may be used to reflect both corporate balances or individual user balances. There are two types of Profiles: - `DEFAULT` Profiles are system-generated. - `NORMAL` Profiles are created using the [Create Profile](#operation/CreateProfile) endpoint and are the only type of Profile you can create.

Operations 7

GET /profiles List Profiles #
POST /profiles Create Profile #
GET /profiles/{profile_id} Get Profile #
PUT /profiles/{profile_id} Update Profile #
GET /profiles/{profile_id}/balances List Profile Balances #
GET /profiles/{profile_id}/balances/{asset} Get Profile Balance #
PUT /profiles/{profile_id}/deactivate Deactivate Profile #

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-profiles-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-profiles-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Paxos Profiles 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: Profiles
  description: 'Profiles hold asset balances, and every Paxos transaction is on a particular profile.

    Depending on your integration type, Profiles may be used to reflect both corporate balances or individual user balances.

    There are two types of Profiles:

    - `DEFAULT` Profiles are system-generated.

    - `NORMAL` Profiles are created using the Create Profile endpoint and are the only type of Profile you can create.'
paths:
  /profiles:
    get:
      summary: List Profiles
      description: 'Return the associated Profiles for the current Account.

        The paginated results default to the maximum limit of 1,000 Profiles, unless otherwise specified with the `limit` parameter.

        Every paginated response contains a `next_page` field until the last page is reached.

        Pass the `next_page` value into the `page_cursor` field of the next request to retrieve the next page of results.'
      operationId: ListProfiles
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListProfilesResponse'
              examples:
                response:
                  value:
                    items:
                    - id: 1a763ac5-13d9-4568-bb8b-747c416b105c
                      nickname: default
                      type: DEFAULT
                    - id: b7b77d82-e6a7-4ae9-9904-36231aedf985
                      nickname: MyProfileName
                      type: NORMAL
      parameters:
      - name: created_at.lt
        description: Include timestamps strictly less than lt. RFC3339 format, like `2006-01-02T15:04:05Z`.
        in: query
        required: false
        schema:
          type: string
          format: date-time
      - name: created_at.lte
        description: Include timestamps less than or equal to lte. RFC3339 format, like `2006-01-02T15:04:05Z`.
        in: query
        required: false
        schema:
          type: string
          format: date-time
      - name: created_at.eq
        description: Include timestamps exactly equal to eq. RFC3339 format, like `2006-01-02T15:04:05Z`.
        in: query
        required: false
        schema:
          type: string
          format: date-time
      - name: created_at.gte
        description: Include timestamps greater than or equal to gte. RFC3339 format, like `2006-01-02T15:04:05Z`.
        in: query
        required: false
        schema:
          type: string
          format: date-time
      - name: created_at.gt
        description: Include timestamps strictly greater than gt. 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. Defaults to ASC.
        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.
        in: query
        required: false
        schema:
          type: string
      - name: nickname
        description: Optionally filter by Profile display name. Retrieves nickname(s) based on the beginning characters of the given display name (prefix matching). Case insensitive. WIldcards and regular expressions not supported.
        in: query
        required: false
        schema:
          type: string
      - name: ids
        description: Optionally filter by the UUIDs of the profiles. Limit 100.
        in: query
        required: false
        explode: true
        schema:
          type: array
          items:
            type: string
      tags:
      - Profiles
      security:
      - OAuth2:
        - funding:read_profile
    post:
      summary: Create Profile
      description: Create a new profile for this account. Profiles created using this endpoint always have a type of `NORMAL`.
      operationId: CreateProfile
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Profile'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateProfileRequest'
        required: true
      tags:
      - Profiles
      security:
      - OAuth2:
        - funding:write_profile
  /profiles/{profile_id}:
    get:
      summary: Get Profile
      description: Read a single profile by its UUID, or read the default profile using the alias "default".
      operationId: GetProfile
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Profile'
              examples:
                profile_id=b7b77d82-e6a7-4ae9-9904-36231aedf985:
                  value:
                    id: b7b77d82-e6a7-4ae9-9904-36231aedf985
                    nickname: MyProfileName
                    type: NORMAL
      parameters:
      - name: profile_id
        description: The UUID of the profile, or "default" for the default profile.
        in: path
        required: true
        schema:
          type: string
      - name: include_deactivated
        description: Used to include deactivated profiles in the response.
        in: query
        required: false
        schema:
          type: boolean
      tags:
      - Profiles
      security:
      - OAuth2:
        - funding:read_profile
    put:
      summary: Update Profile
      description: Change the `nickname` label for the given `profile_id` (Profile).
      operationId: UpdateProfile
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Profile'
      parameters:
      - name: profile_id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProfilePublicUpdateProfileBody'
        required: true
      tags:
      - Profiles
      security:
      - OAuth2:
        - funding:write_profile
  /profiles/{profile_id}/balances:
    get:
      summary: List Profile Balances
      description: 'Retrieve the Profile’s available and trading balances.

        Use query parameters to retrieve a defined set of assets.

        Omit query parameters to retrieve all asset balances.'
      operationId: ListProfileBalances
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListProfileBalancesResponse'
              examples:
                assets=BTC,USD:
                  value:
                    items:
                    - asset: BTC
                      available: '1.23103715'
                      trading: '.25'
                    - asset: USD
                      available: '1510.23'
                      trading: '100.00'
                All Assets:
                  value:
                    items:
                    - asset: USD
                      available: '1510.23'
                      trading: '100.00'
                    - asset: EUR
                      available: '0'
                      trading: '0'
                    - asset: SGD
                      available: '0'
                      trading: '0'
                    - asset: BTC
                      available: '1.23103715'
                      trading: '.25'
                    - asset: ETH
                      available: '0'
                      trading: '0'
                    - asset: PAXG
                      available: '0'
                      trading: '0'
                    - asset: BCH
                      available: '0'
                      trading: '0'
                    - asset: SOL
                      available: '0'
                      trading: '0'
      parameters:
      - name: profile_id
        in: path
        required: true
        schema:
          type: string
      - name: assets
        in: query
        required: false
        explode: true
        schema:
          type: array
          items:
            type: string
      tags:
      - Profiles
      security:
      - OAuth2:
        - funding:read_profile
  /profiles/{profile_id}/balances/{asset}:
    get:
      summary: Get Profile Balance
      description: Get the balance of `asset` in a profile.
      operationId: GetProfileBalance
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProfileBalance'
      parameters:
      - name: profile_id
        in: path
        required: true
        schema:
          type: string
      - name: asset
        in: path
        required: true
        schema:
          type: string
      tags:
      - Profiles
      security:
      - OAuth2:
        - funding:read_profile
  /profiles/{profile_id}/deactivate:
    put:
      summary: Deactivate Profile
      description: 'Deactivate the given `profile_id`. The default profile cannot be deactivated.

        Deactivated profiles won''t be visible for deposits.

        Profiles with more than zero balances cannot be deactivated.

        If a deactivated profile has a non-zero balance it will be reactivated.'
      operationId: DeactivateProfile
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeactivateProfileResponse'
      parameters:
      - name: profile_id
        description: 'The UUID of the profile.

          The default profile cannot be deactivated.

          The profile must have a zero balance to be deactivated.'
        in: path
        required: true
        schema:
          type: string
      tags:
      - Profiles
      security:
      - OAuth2:
        - funding:write_profile
components:
  schemas:
    ProfileType:
      type: string
      enum:
      - NORMAL
      - DEFAULT
      description: "The profile type.\n\n - NORMAL: A client-created profile. All Profiles created using the `CreateProfile` endpoint are of this type.\n - DEFAULT: A system-generated profile."
    ListProfilesResponse:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/Profile'
        next_page_cursor:
          type: string
          description: Cursor token required for fetching the next page.
    CreateProfileRequest:
      type: object
      properties:
        nickname:
          type: string
          description: The display name of the profile. Must be unique.
        description:
          type: string
          description: The description of the created profile.
      required:
      - nickname
    ListProfileBalancesResponse:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/ProfileBalance'
      required:
      - items
    DeactivateProfileResponse:
      type: object
    ProfileBalance:
      type: object
      example:
        asset: BTC
        available: '1.23103715'
        trading: '.25'
      properties:
        asset:
          type: string
          description: The asset held by the profile.
        available:
          type: string
          format: decimal
          description: The available asset balance for new debit requests.
        trading:
          type: string
          format: decimal
          description: The asset amount committed to pending orders.
      description: A ProfileBalance represents the holdings of a particular asset within a profile.
      required:
      - asset
      - available
      - trading
    Profile:
      type: object
      example:
        id: b7b77d82-e6a7-4ae9-9904-36231aedf985
        nickname: MyProfileName
        type: NORMAL
      properties:
        id:
          type: string
        nickname:
          type: string
        type:
          $ref: '#/components/schemas/ProfileType'
        description:
          type: string
        account_id:
          type: string
          title: '@hidden'
      required:
      - id
      - nickname
      - type
    ProfilePublicUpdateProfileBody:
      type: object
      example:
        profile_id: b7b77d82-e6a7-4ae9-9904-36231aedf985
        nickname: MyProfileName
      properties:
        nickname:
          type: string
      required:
      - nickname
  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