openapi: 3.0.1
info:
title: REST API
description: "The Coinbase Prime REST API provides programmatic access to trading,\
\ custody, staking, market data, and account management functionality."
version: "0.1"
servers:
- url: https://api.prime.coinbase.com/
tags:
- name: PrimeRESTAPI
paths:
/v1/activities/{activity_id}:
get:
tags:
- Activities
summary: Get Activity by Activity ID
description: Retrieve an activity by its activity ID - this endpoint can retrieve
both portfolio and entity activities when passed the appropriate API key
operationId: PrimeRESTAPI_GetActivity
parameters:
- name: activity_id
in: path
description: Id of the activity to retrieve
required: true
schema:
type: string
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.GetActivityResponse'
/v1/allocations:
post:
tags:
- Allocations
summary: Create Portfolio Allocations
description: Create allocation for a given portfolio.
operationId: PrimeRESTAPI_CreateAllocation
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/public_rest_apiCreateAllocationRequest'
required: true
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.CreateAllocationResponse'
x-codegen-request-body-name: body
/v1/allocations/net:
post:
tags:
- Allocations
summary: Create Portfolio Net Allocations
description: Create net allocation for a given portfolio.
operationId: PrimeRESTAPI_CreateNetAllocation
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/public_rest_apiCreateNetAllocationRequest'
required: true
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.CreateNetAllocationResponse'
x-codegen-request-body-name: body
/v1/entities/{entity_id}/accruals:
get:
tags:
- Financing
summary: List Interest Accruals
description: Lists interest accruals for an entity between the specified date
range given
operationId: PrimeRESTAPI_GetInterestAccruals
parameters:
- name: entity_id
in: path
description: The unique ID of the entity
required: true
schema:
type: string
- name: portfolio_id
in: query
description: The unique ID of the portfolio
schema:
type: string
- name: start_date
in: query
description: The start date of the range to query for in RFC3339 format
schema:
type: string
- name: end_date
in: query
description: The end date of the range to query for in RFC3339 format
schema:
type: string
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.GetInterestAccrualsResponse'
/v1/entities/{entity_id}/activities:
get:
tags:
- Activities
summary: List Entity Activities
description: List all activities associated with a given entity.
operationId: PrimeRESTAPI_GetEntityActivities
parameters:
- name: entity_id
in: path
description: Entity to retrieve activities for
required: true
schema:
type: string
- name: activity_level
in: query
description: Activity level to retrieve activities for
schema:
type: string
default: ACTIVITY_LEVEL_ALL
enum:
- ACTIVITY_LEVEL_ALL
- ACTIVITY_LEVEL_PORTFOLIO
- ACTIVITY_LEVEL_ENTITY
- name: symbols
in: query
description: Filter by list of currencies
style: form
explode: true
schema:
type: array
items:
type: string
- name: categories
in: query
description: "Filter by list of activity categories [order, transaction, account,\
\ allocation, lending]"
style: form
explode: true
schema:
type: array
items:
type: string
enum:
- OTHER_ACTIVITY_CATEGORY
- ACTIVITY_CATEGORY_ORDER
- ACTIVITY_CATEGORY_TRANSACTION
- ACTIVITY_CATEGORY_ACCOUNT
- ACTIVITY_CATEGORY_ALLOCATION
- ACTIVITY_CATEGORY_LENDING
- name: statuses
in: query
description: Filter by list of statuses
style: form
explode: true
schema:
type: array
items:
type: string
enum:
- OTHER_ACTIVITY_STATUS
- ACTIVITY_STATUS_CANCELLED
- ACTIVITY_STATUS_PROCESSING
- ACTIVITY_STATUS_COMPLETED
- ACTIVITY_STATUS_EXPIRED
- ACTIVITY_STATUS_REJECTED
- ACTIVITY_STATUS_FAILED
- name: start_time
in: query
description: Filter created time by start date (RFC3339 format)
schema:
type: string
- name: end_time
in: query
description: Filter created time by end date (RFC3339 format)
schema:
type: string
- name: cursor
in: query
description: Id to retrieve additional results strictly after
schema:
type: string
- name: limit
in: query
description: Number of items to retrieve
schema:
type: integer
format: int32
- name: sort_direction
in: query
description: Sorting order
schema:
type: string
default: DESC
enum:
- DESC
- ASC
- name: get_network_unified_activities
in: query
description: Flag to request retrieval of all activities across all networks
for a given symbol
schema:
type: boolean
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.GetEntityActivitiesResponse'
/v1/entities/{entity_id}/aggregate_positions:
get:
tags:
- Positions
summary: List Aggregate Entity Positions
description: List paginated aggregate positions for a specific entity.
operationId: PrimeRESTAPI_ListAggregateEntityPositions
parameters:
- name: entity_id
in: path
description: The unique ID of the entity
required: true
schema:
type: string
- name: cursor
in: query
description: Id to retrieve additional results strictly after
schema:
type: string
- name: limit
in: query
description: Number of items to retrieve
schema:
type: integer
format: int32
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.ListAggregateEntityPositionsResponse'
/v1/entities/{entity_id}/assets:
get:
tags:
- Assets
summary: List Assets
description: List all assets available for a given entity.
operationId: PrimeRESTAPI_GetEntityAssets
parameters:
- name: entity_id
in: path
description: The entity ID
required: true
schema:
type: string
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.GetEntityAssetsResponse'
/v1/entities/{entity_id}/balances:
get:
tags:
- Balances
summary: List Entity Balances
description: List all balances for a specific entity.
operationId: PrimeRESTAPI_ListEntityBalances
parameters:
- name: entity_id
in: path
description: The entity ID
required: true
schema:
type: string
- name: symbols
in: query
description: A list of symbols by which to filter the response
schema:
type: string
- name: cursor
in: query
description: Id to retrieve additional results strictly after
schema:
type: string
- name: limit
in: query
description: Number of items to retrieve
schema:
type: integer
format: int32
- name: aggregation_type
in: query
description: |-
A type by which to filter aggregated balances, defaults to "TOTAL"
- UNKNOWN_BALANCE_TYPE: nil
- TRADING_BALANCES: Trading balances
- VAULT_BALANCES: Vault balances
- TOTAL_BALANCES: Total balances (The sum of vault and trading + prime custody)
- PRIME_CUSTODY_BALANCES: Prime custody balances
- UNIFIED_TOTAL_BALANCES: Unified total balance across networks and wallet types (vault + trading + prime custody)
schema:
type: string
enum:
- TRADING_BALANCES
- VAULT_BALANCES
- TOTAL_BALANCES
- PRIME_CUSTODY_BALANCES
- UNIFIED_TOTAL_BALANCES
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.ListEntityBalancesResponse'
/v1/entities/{entity_id}/cross_margin:
get:
tags:
- Financing
summary: Get Exchange Cross Margin Overview
description: Gets live data for Cross Margin (XM) for a specific XM customer
operationId: PrimeRESTAPI_GetCrossMarginOverview
parameters:
- name: entity_id
in: path
description: XM customer Prime Entity ID
required: true
schema:
type: string
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.GetCrossMarginOverviewResponse'
/v1/entities/{entity_id}/cross_margin/risk_parameters:
get:
tags:
- Financing
summary: Get Cross Margin Risk Parameters
description: Gets the current Cross Margin (XM) risk parameters for an entity.
operationId: PrimeRESTAPI_GetCrossMarginRiskParameters
parameters:
- name: entity_id
in: path
description: XM customer Prime Entity ID.
required: true
schema:
type: string
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.GetCrossMarginRiskParametersResponse'
/v1/entities/{entity_id}/funding_settings:
post:
tags:
- Financing
summary: Update Funding Settings
description: Sets FCM funding configuration for the entity and submits the desired
configuration to Prime API for approval.
operationId: PrimeRESTAPI_UpdateFundingSettings
parameters:
- name: entity_id
in: path
description: Prime Entity ID
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
required:
- automatic_conversion_enabled
- automatic_excess_return_enabled
- automatic_loan_enabled
- designated_funding_portfolio_id
- excess_funds_target_amount
type: object
properties:
designated_funding_portfolio_id:
type: string
description: Set the Derivatives Funding Portfolio that will be
used to fund FCM margin calls and receive excess margin sweeps.
Only one portfolio per entity.
example: a0724c0c-0f9e-4525-baf4-1aa8fce77eb2
automatic_conversion_enabled:
type: boolean
description: "When true, USDC in your Derivatives Funding Portfolio\
\ will be converted to USD to meet FCM margin calls (Auto-Convert\
\ USDC)."
automatic_loan_enabled:
type: boolean
description: "When true, Coinbase affiliates may initiate loans\
\ on your behalf to meet FCM margin calls, per your Lending agreement.\
\ Available to Portfolio Margin or Cross Margin clients only.\
\ (Auto-Initiate Loans)"
automatic_excess_return_enabled:
type: boolean
description: "When true, any FCM account balance above your margin\
\ requirements will be automatically swept back to your Derivatives\
\ funding portfolio. (Auto-Return Excess Margin)"
excess_funds_target_amount:
type: string
description: "Weekend Buying Power: Setting a target amount to maintain\
\ in your Futures account above margin requirements. You can only\
\ withdraw funds in excess of this amount."
example: "1000.00"
required: true
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.UpdateFundingSettingsResponse'
x-codegen-request-body-name: body
/v1/entities/{entity_id}/futures/auto_sweep:
post:
tags:
- Futures
summary: Set Auto Sweep
description: Set auto sweep for a given entity.
operationId: PrimeRESTAPI_SetAutoSweep
parameters:
- name: entity_id
in: path
description: Entity ID
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
required:
- auto_sweep
type: object
properties:
auto_sweep:
type: boolean
description: "Auto sweep status, default to false"
example: true
required: true
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.SetAutoSweepResponse'
x-codegen-request-body-name: body
/v1/entities/{entity_id}/futures/balance_summary:
get:
tags:
- Futures
summary: Get Entity FCM Balance
description: Retrieve fcm balance for a given entity.
operationId: PrimeRESTAPI_GetFcmBalance
parameters:
- name: entity_id
in: path
description: Entity ID
required: true
schema:
type: string
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.GetFcmBalanceResponse'
/v1/entities/{entity_id}/futures/equity:
get:
tags:
- Futures
summary: Get FCM Equity
description: Retrieve the equity data for a given entity.
operationId: PrimeRESTAPI_GetFcmEquity
parameters:
- name: entity_id
in: path
description: Entity ID
required: true
schema:
type: string
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.GetFcmEquityResponse'
/v1/entities/{entity_id}/futures/margin_call_details:
get:
tags:
- Futures
summary: Get FCM Margin Call Details
description: Retrieve the margin call details for a given entity.
operationId: PrimeRESTAPI_GetFcmMarginCallDetails
parameters:
- name: entity_id
in: path
description: Entity ID
required: true
schema:
type: string
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.GetFcmMarginCallDetailsResponse'
/v1/entities/{entity_id}/futures/positions:
get:
tags:
- Futures
summary: Get Entity Positions
description: Retrieve all active fcm positions for a given entity.
operationId: PrimeRESTAPI_GetPositions
parameters:
- name: entity_id
in: path
description: Entity ID
required: true
schema:
type: string
- name: product_id
in: query
description: Product ID. Optional
schema:
type: string
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.GetPositionsResponse'
/v1/entities/{entity_id}/futures/risk_limits:
get:
tags:
- Futures
summary: Get FCM Risk Limits
description: Retrieve the risk limits for a given entity.
operationId: PrimeRESTAPI_GetFcmRiskLimits
parameters:
- name: entity_id
in: path
description: Entity ID
required: true
schema:
type: string
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.GetFcmRiskLimitsResponse'
/v1/entities/{entity_id}/futures/settings:
get:
tags:
- Futures
summary: Get FCM Settings
description: Get settings related to FCM.
operationId: PrimeRESTAPI_GetFcmSettings
parameters:
- name: entity_id
in: path
description: Entity ID
required: true
schema:
type: string
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.GetFcmSettingsResponse'
post:
tags:
- Futures
summary: Set FCM Settings
description: Update settings related to FCM.
operationId: PrimeRESTAPI_SetFcmSettings
parameters:
- name: entity_id
in: path
description: Entity ID
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
properties:
target_derivatives_excess:
type: string
description: Target CFM Excess amount to set. Only non-negative
number is allowed
example: "1000.00"
required: true
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.SetFcmSettingsResponse'
x-codegen-request-body-name: body
/v1/entities/{entity_id}/futures/sweeps:
get:
tags:
- Futures
summary: List Entity Futures Sweeps
description: "Retrieve fcm sweeps in open status, including pending and processing\
\ sweeps."
operationId: PrimeRESTAPI_GetFuturesSweeps
parameters:
- name: entity_id
in: path
description: Entity ID
required: true
schema:
type: string
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.GetFuturesSweepsResponse'
post:
tags:
- Futures
summary: Schedule Entity Futures Sweep
description: Schedule a sweep for a given entity from FCM wallet to USD Spot
wallet. Only one pending sweep is allowed at a time per entity.
operationId: PrimeRESTAPI_ScheduleFuturesSweep
parameters:
- name: entity_id
in: path
description: Entity ID
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
required:
- currency
type: object
properties:
amount:
type: string
description: Amount. Default to sweep all if not provided
example: "1000.00"
currency:
type: string
description: Currency. Required
example: USD
required: true
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.ScheduleFuturesSweepResponse'
x-codegen-request-body-name: body
delete:
tags:
- Futures
summary: Cancel Entity Futures Sweep
description: "Cancel the pending sweep for a given entity. A user will only\
\ be able to have one pending sweep at a time. If the sweep is not found,\
\ a 404 will be returned."
operationId: PrimeRESTAPI_CancelFuturesSweep
parameters:
- name: entity_id
in: path
description: Entity ID
required: true
schema:
type: string
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.CancelFuturesSweepResponse'
/v1/entities/{entity_id}/invoices:
get:
tags:
- Invoice
summary: List Invoices
description: Retrieve a list of invoices belonging to an entity.
operationId: PrimeRESTAPI_GetInvoices
parameters:
- name: entity_id
in: path
description: The entity ID
required: true
schema:
type: string
- name: states
in: query
description: Invoice states to filter the response
style: form
explode: true
schema:
type: array
items:
type: string
enum:
- INVOICE_STATE_UNSPECIFIED
- INVOICE_STATE_IMPORTED
- INVOICE_STATE_BILLED
- INVOICE_STATE_PARTIALLY_PAID
- INVOICE_STATE_PAID
- name: billing_year
in: query
description: Filter invoices by year
schema:
type: integer
format: int32
- name: billing_month
in: query
description: "Integer representing the month to filter by, 1 for January,\
\ 12 for December"
schema:
type: integer
format: int32
- name: cursor
in: query
description: Cursor used for pagination (last consumed record)
schema:
type: integer
format: int32
- name: limit
in: query
description: Number of items to retrieve
schema:
type: integer
format: int32
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.GetInvoicesResponse'
/v1/entities/{entity_id}/locates_availability:
get:
tags:
- Financing
summary: Get Entity Locate Availabilities
description: Get currencies available to be located with their corresponding
amount and rate.
operationId: PrimeRESTAPI_GetLocateAvailabilities
parameters:
- name: entity_id
in: path
description: The unique ID of the entity
required: true
schema:
type: string
- name: conversion_date
in: query
description: "Deprecated: Use locate_date instead"
schema:
type: string
- name: locate_date
in: query
description: The date of the locate availability in YYYY-MM-DD format
schema:
type: string
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.GetLocateAvailabilitiesResponse'
/v1/entities/{entity_id}/margin:
get:
tags:
- Financing
summary: Get Margin Information
description: Gets real-time evaluation of the margin model based on current
positions and spot rates.
operationId: PrimeRESTAPI_GetMarginInformation
parameters:
- name: entity_id
in: path
description: The unique ID of the entity
required: true
schema:
type: string
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.GetMarginInformationResponse'
/v1/entities/{entity_id}/margin_summaries:
get:
tags:
- Financing
summary: List Margin Call Summaries
description: Lists the margin call history for a given entity ID.
operationId: PrimeRESTAPI_GetMarginSummaries
parameters:
- name: entity_id
in: path
description: The unique ID of the entity
required: true
schema:
type: string
- name: start_date
in: query
description: The start date of the range to query for in RFC3339 format. Must
be within the last 3 months
schema:
type: string
- name: end_date
in: query
description: The end date of the range to query for in RFC3339 format
schema:
type: string
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.GetMarginSummariesResponse'
/v1/entities/{entity_id}/market_data:
get:
tags:
- Financing
summary: Get Market Data
description: Retrieves market data including volatility and average daily volume
for an entity.
operationId: PrimeRESTAPI_GetMarketData
parameters:
- name: entity_id
in: path
description: Prime Entity ID
required: true
schema:
type: string
- name: cursor
in: query
description: Cursor for pagination
schema:
type: string
- name: limit
in: query
description: Number of results to return per page
schema:
type: integer
format: int32
- name: sort_direction
in: query
description: Sort direction for results
schema:
type: string
default: DESC
enum:
- DESC
- ASC
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.GetMarketDataResponse'
/v1/entities/{entity_id}/payment-methods:
get:
tags:
- Payment Methods
summary: List Entity Payment Methods
description: Retrieve all payment methods for a given entity.
operationId: PrimeRESTAPI_GetEntityPaymentMethods
parameters:
- name: entity_id
in: path
required: true
schema:
type: string
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.GetEntityPaymentMethodsResponse'
/v1/entities/{entity_id}/payment-methods/{payment_method_id}:
get:
tags:
- Payment Methods
summary: Get Entity Payment Method
description: Get payment method details by id for a given entity.
operationId: PrimeRESTAPI_GetEntityPaymentMethodDetails
parameters:
- name: entity_id
in: path
required: true
schema:
type: string
- name: payment_method_id
in: path
required: true
schema:
type: string
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.GetEntityPaymentMethodDetailsResponse'
/v1/entities/{entity_id}/positions:
get:
tags:
- Positions
summary: List Entity Positions
description: List paginated positions for a specific entity.
operationId: PrimeRESTAPI_ListEntityPositions
parameters:
- name: entity_id
in: path
description: The unique ID of the entity
required: true
schema:
type: string
- name: cursor
in: query
description: Id to retrieve additional results strictly after
schema:
type: string
- name: limit
in: query
description: Number of items to retrieve
schema:
type: integer
format: int32
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.ListEntityPositionsResponse'
/v1/entities/{entity_id}/tf_obligations:
get:
tags:
- Financing
summary: List Trade Finance Obligations
description: List trade finance obligations for a given entity.
operationId: PrimeRESTAPI_ListTFObligations
parameters:
- name: entity_id
in: path
description: The entity ID to retrieve obligations for
required: true
schema:
type: string
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.ListTFObligationsResponse'
/v1/entities/{entity_id}/tf_tiered_fees:
get:
tags:
- Financing
summary: Get Trade Finance Tiered Pricing Fees
description: "Get trade finance tiered pricing fees for a given entity at a\
\ specific time, default to current time."
operationId: PrimeRESTAPI_GetTFTieredPricingFees
parameters:
- name: entity_id
in: path
description: The unique ID of the entity
required: true
schema:
type: string
- name: effective_at
in: query
description: The fees on a specific effective date in RFC3339 format
schema:
type: string
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.GetTFTieredPricingFeesResponse'
/v1/entities/{entity_id}/users:
get:
tags:
- Users
summary: List Users
description: List all users associated with a given entity.
operationId: PrimeRESTAPI_GetEntityUsers
parameters:
- name: entity_id
in: path
description: The entity ID
required: true
schema:
type: string
- name: cursor
in: query
description: Cursor used for pagination (last consumed record)
schema:
type: string
- name: limit
in: query
description: Number of items to retrieve
schema:
type: integer
format: int32
- name: sort_direction
in: query
description: Sorting order
schema:
type: string
default: DESC
enum:
- DESC
- ASC
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.GetEntityUsersResponse'
/v1/financing/eligible-assets:
get:
tags:
- Financing
summary: List Financing Eligible Assets
description: Get all assets eligible for Trade Finance with their adjustment
factors.
operationId: PrimeRESTAPI_ListFinancingEligibleAssets
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.ListFinancingEligibleAssetsResponse'
/v1/portfolios:
get:
tags:
- Portfolios
summary: List Portfolios
description: List all portfolios for which the current API key has read access.
operationId: PrimeRESTAPI_GetPortfolios
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.GetPortfoliosResponse'
/v1/portfolios/{portfolio_id}:
get:
tags:
- Portfolios
summary: Get Portfolio by Portfolio ID
description: Retrieve a given portfolio by its portfolio ID.
operationId: PrimeRESTAPI_GetPortfolio
parameters:
- name: portfolio_id
in: path
description: The portfolio ID
required: true
schema:
type: string
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.GetPortfolioResponse'
/v1/portfolios/{portfolio_id}/accept_quote:
post:
tags:
- Orders
summary: Accept Quote
description: |-
Accepts the quote received by the quote request and creates an order with the provided quote ID.
Always required: portfolio_id, product_id, side, quote_id, client_quote_id.
operationId: PrimeRESTAPI_AcceptQuote
parameters:
- name: portfolio_id
in: path
description: The ID of the portfolio that owns the order
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
required:
- client_order_id
- product_id
- quote_id
- side
type: object
properties:
product_id:
title: The ID of the product being traded for the order (e.g. `BTC-USD`)
type: string
side:
$ref: '#/components/schemas/coinbase.public_rest_api.OrderSide'
client_order_id:
type: string
description: "A client-generated ID used for reference purposes\
\ (note: order will be rejected if this ID is not unique among\
\ all currently active orders)"
example: f69a20b1-4ac4-420e-90b5-814a12565bfa
quote_id:
type: string
description: A quote id that was returned from the quote request
example: f69a20b1-4ac4-420e-90b5-814a12565bfa
settl_currency:
title: "next: 7"
type: string
required: true
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.AcceptQuoteResponse'
x-codegen-request-body-name: body
/v1/portfolios/{portfolio_id}/accruals:
get:
tags:
- Financing
summary: List Interest Accruals For Portfolio
description: Lists interest accruals between the specified date range for a
specific portfolio ID
operationId: PrimeRESTAPI_GetPortfolioInterestAccruals
parameters:
- name: portfolio_id
in: path
description: The unique ID of the portfolio
required: true
schema:
type: string
- name: start_date
in: query
description: The start date of the range to query for in RFC3339 format
schema:
type: string
- name: end_date
in: query
description: The end date of the range to query for in RFC3339 format
schema:
type: string
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.GetPortfolioInterestAccrualsResponse'
/v1/portfolios/{portfolio_id}/activities:
get:
tags:
- Activities
summary: List Activities
description: List all activities associated with a given portfolio.
operationId: PrimeRESTAPI_GetPortfolioActivities
parameters:
- name: portfolio_id
in: path
description: Portfolio to retrieve activities for.
required: true
schema:
type: string
- name: symbols
in: query
description: Filter by list of currencies
style: form
explode: true
schema:
type: array
items:
type: string
- name: categories
in: query
description: "Filter by list of activity categories [order, transaction, account,\
\ allocation, lending]"
style: form
explode: true
schema:
type: array
items:
type: string
enum:
- OTHER_ACTIVITY_CATEGORY
- ACTIVITY_CATEGORY_ORDER
- ACTIVITY_CATEGORY_TRANSACTION
- ACTIVITY_CATEGORY_ACCOUNT
- ACTIVITY_CATEGORY_ALLOCATION
- ACTIVITY_CATEGORY_LENDING
- name: statuses
in: query
description: Filter by list of statuses
style: form
explode: true
schema:
type: array
items:
type: string
enum:
- OTHER_ACTIVITY_STATUS
- ACTIVITY_STATUS_CANCELLED
- ACTIVITY_STATUS_PROCESSING
- ACTIVITY_STATUS_COMPLETED
- ACTIVITY_STATUS_EXPIRED
- ACTIVITY_STATUS_REJECTED
- ACTIVITY_STATUS_FAILED
- name: start_time
in: query
description: Filter created time by start date (RFC3339 format)
schema:
type: string
- name: end_time
in: query
description: Filter created time by end date (RFC3339 format)
schema:
type: string
- name: cursor
in: query
description: Id to retrieve additional results strictly after
schema:
type: string
- name: limit
in: query
description: Number of items to retrieve
schema:
type: integer
format: int32
- name: sort_direction
in: query
description: Sorting order
schema:
type: string
default: DESC
enum:
- DESC
- ASC
- name: get_network_unified_activities
in: query
description: Flag to request retrieval of all activities across all networks
for a given symbol
schema:
type: boolean
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.GetPortfolioActivitiesResponse'
/v1/portfolios/{portfolio_id}/activities/{activity_id}:
get:
tags:
- Activities
summary: Get Portfolio Activity by Activity ID
description: Retrieve an activity by its activity ID
operationId: PrimeRESTAPI_GetPortfolioActivity
parameters:
- name: portfolio_id
in: path
description: Portfolio to retrieve activity for.
required: true
schema:
type: string
- name: activity_id
in: path
description: Id of the activity to retrieve
required: true
schema:
type: string
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.GetPortfolioActivityResponse'
/v1/portfolios/{portfolio_id}/address_book:
get:
tags:
- Address Book
summary: Get Address Book
description: Gets a list of address book addresses.
operationId: PrimeRESTAPI_GetPortfolioAddressBook
parameters:
- name: portfolio_id
in: path
description: Portfolio ID
required: true
schema:
type: string
- name: currency_symbol
in: query
description: "Cryptocurrency symbol -- if nothing is passed, all addresses\
\ are returned"
schema:
type: string
- name: search
in: query
description: Query string that matches the address name
schema:
type: string
- name: cursor
in: query
description: ID marking the point after which additional results should be
retrieved
schema:
type: string
- name: limit
in: query
description: Number of addresses to retrieve
schema:
type: integer
format: int32
- name: sort_direction
in: query
description: Sorting order
schema:
type: string
default: DESC
enum:
- DESC
- ASC
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.GetPortfolioAddressBookResponse'
post:
tags:
- Address Book
summary: Create Address Book Entry
description: Creates an entry for a portfolio's trusted addresses.
operationId: PrimeRESTAPI_CreatePortfolioAddressBookEntry
parameters:
- name: portfolio_id
in: path
description: Portfolio ID
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
required:
- address
- currency_symbol
- name
type: object
properties:
address:
type: string
description: Crypto address to add
currency_symbol:
type: string
description: Currency symbol of address to add
name:
type: string
description: Name of address book entry
account_identifier:
type: string
description: Account Identifier (memo/destination tag)
chain_ids:
type: array
description: "List of compatible chain IDs for the address, empty\
\ for Solana"
items:
type: string
required: true
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.CreatePortfolioAddressBookEntryResponse'
x-codegen-request-body-name: body
/v1/portfolios/{portfolio_id}/advanced_transfers:
get:
tags:
- Advanced Transfer
summary: List Advanced Transfers
description: List advanced transfers for a given portfolio. This API is currently
not available to all clients. Please reach out to Prime Operations with any
questions.
operationId: PrimeRESTAPI_ListAdvancedTransfers
parameters:
- name: portfolio_id
in: path
description: The portfolio ID
required: true
schema:
type: string
- name: state
in: query
description: The state of the Advanced Transfer to filter by
schema:
type: string
enum:
- ADVANCED_TRANSFER_STATE_CREATED
- ADVANCED_TRANSFER_STATE_PROCESSING
- ADVANCED_TRANSFER_STATE_DONE
- ADVANCED_TRANSFER_STATE_CANCELLED
- ADVANCED_TRANSFER_STATE_FAILED
- ADVANCED_TRANSFER_STATE_EXPIRED
- name: type
in: query
description: The type of the Advanced Transfer to filter by
schema:
type: string
enum:
- ADVANCED_TRANSFER_TYPE_BLIND_MATCH
- name: cursor
in: query
description: The cursor to use for pagination
schema:
type: string
- name: limit
in: query
description: The maximum number of Advanced Transfers to return
schema:
type: integer
format: int32
- name: sort_direction
in: query
description: Page sorting direction
schema:
type: string
default: DESC
enum:
- DESC
- ASC
- name: start_time
in: query
description: "UTC timestamp of creation from which to filter the response\
\ (inclusive, ISO-8601 format)"
schema:
type: string
format: date-time
- name: end_time
in: query
description: "UTC timestamp of creation until which to filter the response\
\ (exclusive, ISO-8601 format)"
schema:
type: string
format: date-time
- name: reference_id
in: query
description: The reference ID of the Advanced Transfer to filter by
schema:
type: string
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.ListAdvancedTransfersResponse'
post:
tags:
- Advanced Transfer
summary: Create Advanced Transfer
description: Create advanced transfer for a given portfolio. This API is currently
not available to all clients. Please reach out to Prime Operations with any
questions.
operationId: PrimeRESTAPI_CreateAdvancedTransfer
parameters:
- name: portfolio_id
in: path
description: The portfolio ID
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
required:
- advanced_transfer
type: object
properties:
advanced_transfer:
$ref: '#/components/schemas/coinbase.public_rest_api.AdvancedTransfer'
description: CreateAdvancedTransferRequest is the request to create
an advanced transfer.
required: true
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.CreateAdvancedTransferResponse'
x-codegen-request-body-name: body
/v1/portfolios/{portfolio_id}/advanced_transfers/{advanced_transfer_id}/cancel:
post:
tags:
- Advanced Transfer
summary: Cancel Advanced Transfer
description: Cancel advanced transfer for a given portfolio. This API is currently
not available to all clients. Please reach out to Prime Operations with any
questions.
operationId: PrimeRESTAPI_CancelAdvancedTransfer
parameters:
- name: portfolio_id
in: path
description: The portfolio ID
required: true
schema:
type: string
- name: advanced_transfer_id
in: path
description: The ID of the canceled Advanced Transfer
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
description: CancelAdvancedTransferRequest is the request to cancel
an advanced transfer.
required: true
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.CancelAdvancedTransferResponse'
x-codegen-request-body-name: body
/v1/portfolios/{portfolio_id}/advanced_transfers/{advanced_transfer_id}/transactions:
get:
tags:
- Transactions
summary: List transactions associated with an Advanced Transfer
description: List transactions associated with an Advanced Transfer. This API
is currently not available to all clients. Please reach out to Prime Operations
with any questions.
operationId: PrimeRESTAPI_ListAdvancedTransferTransactions
parameters:
- name: portfolio_id
in: path
description: The portfolio ID
required: true
schema:
type: string
- name: advanced_transfer_id
in: path
description: The ID of the Advanced Transfer
required: true
schema:
type: string
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.ListAdvancedTransferTransactionsResponse'
/v1/portfolios/{portfolio_id}/allocations:
get:
tags:
- Allocations
summary: List Portfolio Allocations
description: List historical allocations for a given portfolio.
operationId: PrimeRESTAPI_GetPortfolioAllocations
parameters:
- name: portfolio_id
in: path
description: Portfolio to retrieve allocations for.
required: true
schema:
type: string
- name: product_ids
in: query
description: List of products by which to filter the response.
style: form
explode: true
schema:
type: array
items:
type: string
- name: order_side
in: query
description: |-
An order side to filter allocations on.
- UNKNOWN_ORDER_SIDE: nil value
- BUY: Buy order
- SELL: Sell order
schema:
type: string
enum:
- BUY
- SELL
- name: start_date
in: query
description: A start date for the allocations to be queried from.
required: true
schema:
type: string
format: date-time
- name: end_date
in: query
description: An end date for the orders to be queried from.
schema:
type: string
format: date-time
- name: cursor
in: query
description: Id to retrieve additional results strictly after
schema:
type: string
- name: limit
in: query
description: Number of items to retrieve
schema:
type: integer
format: int32
- name: sort_direction
in: query
description: "Sorting order: DESC or ASC"
schema:
type: string
default: DESC
enum:
- DESC
- ASC
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.GetPortfolioAllocationsResponse'
/v1/portfolios/{portfolio_id}/allocations/net/{netting_id}:
get:
tags:
- Allocations
summary: Get Net Allocations by Netting ID
description: Retrieve an allocation by netting ID.
operationId: PrimeRESTAPI_GetAllocationsByClientNettingId
parameters:
- name: portfolio_id
in: path
description: The portfolio ID of the allocation
required: true
schema:
type: string
- name: netting_id
in: path
description: The allocation netting ID
required: true
schema:
type: string
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.GetAllocationsByClientNettingIdResponse'
/v1/portfolios/{portfolio_id}/allocations/{allocation_id}:
get:
tags:
- Allocations
summary: Get Allocation by ID
description: Retrieve an allocation by allocation ID.
operationId: PrimeRESTAPI_GetAllocation
parameters:
- name: portfolio_id
in: path
description: The portfolio ID of the allocation
required: true
schema:
type: string
- name: allocation_id
in: path
description: The ID of the allocation
required: true
schema:
type: string
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.GetAllocationResponse'
/v1/portfolios/{portfolio_id}/balances:
get:
tags:
- Balances
summary: List Portfolio Balances
description: List all balances for a specific portfolio.
operationId: PrimeRESTAPI_GetPortfolioBalances
parameters:
- name: portfolio_id
in: path
description: The portfolio ID
required: true
schema:
type: string
- name: symbols
in: query
description: A list of symbols by which to filter the response
schema:
type: string
- name: balance_type
in: query
description: |-
A type by which to filter balances
- UNKNOWN_BALANCE_TYPE: nil
- TRADING_BALANCES: Trading balances
- VAULT_BALANCES: Vault balances
- TOTAL_BALANCES: Total balances (The sum of vault and trading + prime custody)
- PRIME_CUSTODY_BALANCES: Prime custody balances
- UNIFIED_TOTAL_BALANCES: Unified total balance across networks and wallet types (vault + trading + prime custody)
schema:
type: string
enum:
- TRADING_BALANCES
- VAULT_BALANCES
- TOTAL_BALANCES
- PRIME_CUSTODY_BALANCES
- UNIFIED_TOTAL_BALANCES
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.GetPortfolioBalancesResponse'
/v1/portfolios/{portfolio_id}/buying_power:
get:
tags:
- Financing
summary: Get Portfolio Buying Power
description: "Returns the size of a buy trade that can be performed based on\
\ existing holdings and available credit. The result will differ for different\
\ assets due to asset specific credit configurations and caps. Note that this\
\ result is changing based on asset price fluctuations, so may be rejected\
\ when submitted."
operationId: PrimeRESTAPI_GetBuyingPower
parameters:
- name: portfolio_id
in: path
description: The unique ID of the portfolio
required: true
schema:
type: string
- name: base_currency
in: query
description: The symbol for the base currency
required: true
schema:
type: string
- name: quote_currency
in: query
description: The symbol for the quote currency
required: true
schema:
type: string
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.GetBuyingPowerResponse'
/v1/portfolios/{portfolio_id}/candles:
get:
tags:
- Products
summary: Get Public Product Candles (Beta)
description: "Get rates for a single product by product ID, grouped in buckets.\
\ This feature is in beta please reach out to your Coinbase Prime account\
\ manager for more information."
operationId: PrimeRESTAPI_GetCandles
parameters:
- name: portfolio_id
in: path
description: The portfolio id requesting market data.
required: true
schema:
type: string
- name: product_id
in: query
description: The trading pair.
required: true
schema:
type: string
- name: start_time
in: query
description: Timestamp for starting range of aggregations
required: true
schema:
type: string
format: date-time
- name: end_time
in: query
description: Timestamp for ending range of aggregations
required: true
schema:
type: string
format: date-time
- name: granularity
in: query
description: The timeframe each candle represents.
required: true
schema:
type: string
enum:
- ONE_MINUTE
- FIVE_MINUTES
- FIFTEEN_MINUTES
- ONE_HOUR
- SIX_HOURS
- ONE_DAY
- THIRTY_MINUTES
- TWO_HOURS
- FOUR_HOURS
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.GetCandlesResponse'
/v1/portfolios/{portfolio_id}/commission:
get:
tags:
- Commission
summary: Get Portfolio Commission
description: Retrieve commission associated with a given portfolio.
operationId: PrimeRESTAPI_GetPortfolioCommission
parameters:
- name: portfolio_id
in: path
required: true
schema:
type: string
- name: product_id
in: query
description: Specific trading pair to check commission (e.g BTC-USD)
schema:
type: string
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.GetPortfolioCommissionResponse'
/v1/portfolios/{portfolio_id}/counterparty:
get:
tags:
- Advanced Transfer
summary: Get Portfolio Counterparty ID
description: Retrieve the counterparty ID for a given portfolio.
operationId: PrimeRESTAPI_GetPortfolioCounterpartyID
parameters:
- name: portfolio_id
in: path
description: The portfolio ID
required: true
schema:
type: string
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.GetPortfolioCounterpartyIDResponse'
/v1/portfolios/{portfolio_id}/credit:
get:
tags:
- Financing
summary: Get Portfolio Credit Information
description: Retrieve a portfolio's post-trade credit information.
operationId: PrimeRESTAPI_GetPostTradeCredit
parameters:
- name: portfolio_id
in: path
description: The portfolio ID
required: true
schema:
type: string
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.GetPostTradeCreditResponse'
/v1/portfolios/{portfolio_id}/fills:
get:
tags:
- Orders
summary: List Portfolio Fills
description: "Retrieve fills on a given portfolio. This endpoint requires a\
\ start_date, and returns a payload with a default limit of 100 if not specified\
\ by the user. The maximum allowed limit is 3000."
operationId: PrimeRESTAPI_GetPortfolioFills
parameters:
- name: portfolio_id
in: path
description: The portfolio ID associated with the order
required: true
schema:
type: string
- name: cursor
in: query
description: Cursor used for pagination (last consumed record)
schema:
type: string
- name: limit
in: query
description: Number of items to retrieve
schema:
type: integer
format: int32
- name: start_date
in: query
description: A start date for the fills to be queried from
required: true
schema:
type: string
format: date-time
- name: end_date
in: query
description: An end date for the fills to be queried until
schema:
type: string
format: date-time
- name: sort_direction
in: query
description: Sorting order
schema:
type: string
default: DESC
enum:
- DESC
- ASC
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.GetPortfolioFillsResponse'
/v1/portfolios/{portfolio_id}/locates:
get:
tags:
- Financing
summary: List Existing Locates
description: List locates for the portfolio
operationId: PrimeRESTAPI_GetExistingLocates
parameters:
- name: portfolio_id
in: path
description: The unique ID of the portfolio
required: true
schema:
type: string
- name: locate_ids
in: query
description: The IDs of specific locates to filter for
style: form
explode: true
schema:
type: array
items:
type: string
- name: conversion_date
in: query
description: "Deprecated: Use locate_date instead"
schema:
type: string
- name: locate_date
in: query
description: The date of the locates in YYYY-MM-DD format
schema:
type: string
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.GetExistingLocatesResponse'
post:
tags:
- Financing
summary: Create New Locates
description: Create a new locate
operationId: PrimeRESTAPI_CreateNewLocates
parameters:
- name: portfolio_id
in: path
description: The unique ID of the portfolio
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
required:
- amount
- symbol
type: object
properties:
symbol:
type: string
description: Currency symbol
example: BTC
amount:
type: string
description: Locate Amount
example: "100"
conversion_date:
type: string
description: "Deprecated: Use locate_date instead"
example: 2023-11-01
locate_date:
type: string
description: The target date of the locate (YYYY-MM-DD)
example: 2023-11-01
required: true
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.CreateNewLocatesResponse'
x-codegen-request-body-name: body
/v1/portfolios/{portfolio_id}/margin_conversions:
get:
tags:
- Financing
summary: List Margin Conversions
description: "Lists conversions and short collateral requirement between specified\
\ date range. This endpoint is deprecated and will be removed in the future.\
\ Use /v1/entities/{entity_id}/margin_summaries instead."
operationId: PrimeRESTAPI_GetMarginConversions
parameters:
- name: portfolio_id
in: path
description: The unique ID of the portfolio
required: true
schema:
type: string
- name: start_date
in: query
description: The start date of the range to query for in RFC3339 format
schema:
type: string
- name: end_date
in: query
description: The end date of the range to query for in RFC3339 format
schema:
type: string
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.GetMarginConversionsResponse'
/v1/portfolios/{portfolio_id}/onchain_address_group:
put:
tags:
- Onchain Address Book
summary: Update Onchain Address Book Entry
description: Updates an entry to the portfolio's onchain address groups.
operationId: PrimeRESTAPI_UpdateOnchainAddressGroup
parameters:
- name: portfolio_id
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
title: ChangeOnchainAddressGroupRequest is a request to create or update
a new onchain address group
required:
- address_group
type: object
properties:
address_group:
$ref: '#/components/schemas/coinbase.public_rest_api.AddressGroup'
required: true
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.ActivityCreationResponse'
x-codegen-request-body-name: body
post:
tags:
- Onchain Address Book
summary: Create Onchain Address Book Entry
description: Creates an entry to the portfolio's onchain address groups.
operationId: PrimeRESTAPI_CreateOnchainAddressGroup
parameters:
- name: portfolio_id
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
title: ChangeOnchainAddressGroupRequest is a request to create or update
a new onchain address group
required:
- address_group
type: object
properties:
address_group:
$ref: '#/components/schemas/coinbase.public_rest_api.AddressGroup'
required: true
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.ActivityCreationResponse'
x-codegen-request-body-name: body
/v1/portfolios/{portfolio_id}/onchain_address_group/{address_group_id}:
delete:
tags:
- Onchain Address Book
summary: Delete Onchain Address Group
description: Deletes an entry in the portfolio's onchain address groups.
operationId: PrimeRESTAPI_DeleteOnchainAddressGroup
parameters:
- name: portfolio_id
in: path
required: true
schema:
type: string
- name: address_group_id
in: path
required: true
schema:
type: string
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.ActivityCreationResponse'
/v1/portfolios/{portfolio_id}/onchain_address_groups:
get:
tags:
- Onchain Address Book
summary: List Onchain Address Groups
description: Lists all onchain address groups for a given portfolio ID
operationId: PrimeRESTAPI_ListOnchainAddressGroups
parameters:
- name: portfolio_id
in: path
description: Portfolio ID
required: true
schema:
type: string
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.ListOnchainAddressGroupsResponse'
/v1/portfolios/{portfolio_id}/open_orders:
get:
tags:
- Orders
summary: List Open Orders
description: "List all open orders.
**Caution:** The maximum number\
\ of orders returned is 5000. If a client has more than 5000 open orders,\
\ an error is returned prompting the user to use Websocket API, or FIX API\
\ to stream open orders."
operationId: PrimeRESTAPI_GetOpenOrders
parameters:
- name: portfolio_id
in: path
description: Portfolio ID
required: true
schema:
type: string
- name: product_ids
in: query
description: List of products by which to filter the response
style: form
explode: true
schema:
type: array
items:
type: string
- name: order_type
in: query
description: |-
An order type by which to filter the response
- UNKNOWN_ORDER_TYPE: nil value
- MARKET: A [market order](https://en.wikipedia.org/wiki/Order_(exchange)#Market_order)
- LIMIT: A [limit order](https://en.wikipedia.org/wiki/Order_(exchange)#Limit_order)
- TWAP: A [time-weighted average price order](https://en.wikipedia.org/wiki/Time-weighted_average_price)
- BLOCK: A [block trade](https://en.wikipedia.org/wiki/Block_trade)
- VWAP: A [volume-weighted average price order](https://en.wikipedia.org/wiki/Volume-weighted_average_price)
- STOP_LIMIT: A [conditional order combined of stop order and limit order](https://en.wikipedia.org/wiki/Order_(exchange)#Stop-limit_order)
- RFQ: A [request for quote](https://en.wikipedia.org/wiki/Request_for_quote)
- PEG: A pegged order that dynamically adjust based on market conditions while maintaining execution discretion and avoiding adverse selection
schema:
type: string
enum:
- MARKET
- LIMIT
- TWAP
- BLOCK
- VWAP
- STOP_LIMIT
- RFQ
- PEG
- name: cursor
in: query
description: "**Deprecated** - this endpoint always returns one page with\
\ at most 1000 orders. If you need to retrieve more than 1000 orders, use\
\ the WebSocket API instead."
schema:
type: string
- name: limit
in: query
description: "**Deprecated** - the limit for this endpoint is always 1000.\
\ If you need to retrieve more than 1000 orders, use the WebSocket API instead."
schema:
type: integer
format: int32
- name: sort_direction
in: query
description: Sorting order
schema:
type: string
default: DESC
enum:
- DESC
- ASC
- name: start_date
in: query
description: A start date for the orders to be queried from
schema:
type: string
format: date-time
- name: order_side
in: query
description: |-
An order side to filter on.
- UNKNOWN_ORDER_SIDE: nil value
- BUY: Buy order
- SELL: Sell order
schema:
type: string
enum:
- BUY
- SELL
- name: end_date
in: query
description: An end date for the orders to be queried from
schema:
type: string
format: date-time
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.GetOpenOrdersResponse'
/v1/portfolios/{portfolio_id}/order:
post:
tags:
- Orders
summary: Create Order
description: Create an order.
operationId: PrimeRESTAPI_CreateOrder
parameters:
- name: portfolio_id
in: path
description: The ID of the portfolio that owns the order
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
required:
- client_order_id
- product_id
- side
- type
type: object
properties:
product_id:
title: The ID of the product being traded for the order (e.g. `BTC-USD`)
type: string
side:
$ref: '#/components/schemas/coinbase.public_rest_api.OrderSide'
client_order_id:
title: A client-generated order ID used for reference purposes
type: string
type:
$ref: '#/components/schemas/coinbase.public_rest_api.OrderType'
base_quantity:
title: Order size in base asset units (either `base_quantity` or
`quote_value` is required)
type: string
quote_value:
title: "Order size in quote asset units, i.e. the amount the user\
\ wants to spend (when buying) or receive (when selling); the\
\ quantity in base units will be determined based on the market\
\ liquidity and indicated `quote_value` (either `base_quantity`\
\ or `quote_value` is required)"
type: string
limit_price:
title: "The limit price (required for TWAP, VWAP, LIMIT, and STOP_LIMIT\
\ orders)"
type: string
start_time:
title: The start time of the order in UTC (TWAP only)
type: string
format: date-time
expiry_time:
title: "The expiry time of the order in UTC (TWAP, VWAP, LIMIT,\
\ and STOP_LIMIT GTD only)"
type: string
format: date-time
time_in_force:
$ref: '#/components/schemas/coinbase.public_rest_api.TimeInForceType'
stp_id:
title: An optional self trade prevention id (in the form of a UUID).
The value is only honored for certain clients who are permitted
to specify a custom self trade prevention id
type: string
display_quote_size:
type: string
description: Optionally specify a display size. This is the maximum
order size that will show up on venue order books. Specifying
a value here effectively makes a LIMIT order into an "iceberg"
style order. This property only applies to LIMIT orders and will
be ignored for other order types.
display_base_size:
type: string
is_raise_exact:
type: boolean
historical_pov:
title: Historical percentage of volume
type: string
stop_price:
title: Specifies the stop price at which the order activates. The
order is activated if the last trade price on Coinbase Exchange
crosses the stop price specified on the order
type: string
settl_currency:
title: The currency in which the settlement will be made
type: string
post_only:
type: boolean
description: "Post-only flag - when true, the order will only be\
\ posted to the order book and not immediately matched. Only applicable\
\ to LIMIT orders with GTC or GTD time in force."
peg_offset_type:
$ref: '#/components/schemas/coinbase.public_rest_api.PegOffsetType'
offset:
title: Offset value for PEG orders. 0 means peg to BBO. Only non-negative
values are allowed (PEG orders only)
type: string
wig_level:
title: "WIG (Would if Good) level - the best price a pegged order\
\ would be placed on venues, opposite to limit_price (PEG orders\
\ only)"
type: string
description: "next: 23"
required: true
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.CreateOrderResponse'
x-codegen-request-body-name: body
/v1/portfolios/{portfolio_id}/order_preview:
post:
tags:
- Orders
summary: Get Order Preview
description: Retrieve an order preview.
operationId: PrimeRESTAPI_OrderPreview
parameters:
- name: portfolio_id
in: path
description: The ID of the portfolio that owns the order
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
required:
- product_id
- side
- type
type: object
properties:
product_id:
title: The ID of the product being traded for the order (e.g. `BTC-USD`)
type: string
side:
$ref: '#/components/schemas/coinbase.public_rest_api.OrderSide'
type:
$ref: '#/components/schemas/coinbase.public_rest_api.OrderType'
base_quantity:
title: Order size in base asset units (either `base_quantity` or
`quote_value` is required)
type: string
quote_value:
title: "Order size in quote asset units, i.e. the amount the user\
\ wants to spend (when buying) or receive (when selling); the\
\ quantity in base units will be determined based on the market\
\ liquidity and indicated `quote_value` (either `base_quantity`\
\ or `quote_value` is required)"
type: string
limit_price:
title: "The limit price (required for TWAP, VWAP, LIMIT and STOP_LIMIT\
\ orders)"
type: string
start_time:
title: "The start time of the order in UTC (TWAP, VWAP only)"
type: string
format: date-time
expiry_time:
title: "The expiry time of the order in UTC (TWAP, VWAP, LIMIT and\
\ STOP_LIMIT GTD only)"
type: string
format: date-time
time_in_force:
$ref: '#/components/schemas/coinbase.public_rest_api.TimeInForceType'
is_raise_exact:
title: Raise Exact order flag
type: boolean
historical_pov:
title: Historical percentage of volume
type: string
stop_price:
title: Specifies the stop price at which the order activates. The
order is activated if the last trade price on Coinbase Exchange
crosses the stop price specified on the order
type: string
settl_currency:
title: The currency in which the settlement will be made
type: string
postOnly:
type: boolean
description: Specifies whether the order is treated as a post only
order.
display_quote_size:
type: string
description: The maximum order size that will show up on venue order
books (in quote currency).
example: "100.50"
display_base_size:
type: string
description: The maximum order size that will show up on venue order
books (in base currency).
example: "10.5"
peg_offset_type:
$ref: '#/components/schemas/coinbase.public_rest_api.PegOffsetType'
offset:
title: Offset value for PEG orders. 0 means peg to BBO. Only non-negative
values are allowed (PEG orders only)
type: string
wig_level:
title: "WIG (Would if Good) level - the best price a pegged order\
\ would be placed on venues, opposite to limit_price (PEG orders\
\ only)"
type: string
description: "next: 21"
required: true
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.PostOrderPreviewResponse'
x-codegen-request-body-name: body
/v1/portfolios/{portfolio_id}/orders:
get:
tags:
- Orders
summary: List Portfolio Orders
description: "List historical orders for a given portfolio. This endpoint returns\
\ a payload with a default limit of 100 if not specified by the user. The\
\ maximum allowed limit is 3000.
**Caution:** Currently, you cannot\
\ query open orders with this endpoint: use List Open Orders if you have less\
\ than 1000 open orders, otherwise use Websocket API, or FIX API to stream\
\ open orders."
operationId: PrimeRESTAPI_GetOrders
parameters:
- name: portfolio_id
in: path
description: Portfolio ID
required: true
schema:
type: string
- name: order_statuses
in: query
description: |-
List of statuses by which to filter the response
- UNKNOWN_ORDER_STATUS: nil value
- OPEN: The order is open but unfilled
- FILLED: The order was filled
- CANCELLED: The order was cancelled
- EXPIRED: The order has expired
- FAILED: Order submission failed
- PENDING: The order has been sent but is not yet confirmed
style: form
explode: true
schema:
type: array
items:
type: string
enum:
- OPEN
- FILLED
- CANCELLED
- EXPIRED
- FAILED
- PENDING
- name: product_ids
in: query
description: List of products by which to filter the response
style: form
explode: true
schema:
type: array
items:
type: string
- name: order_type
in: query
description: |-
Order type by which to filter the response
- UNKNOWN_ORDER_TYPE: nil value
- MARKET: A [market order](https://en.wikipedia.org/wiki/Order_(exchange)#Market_order)
- LIMIT: A [limit order](https://en.wikipedia.org/wiki/Order_(exchange)#Limit_order)
- TWAP: A [time-weighted average price order](https://en.wikipedia.org/wiki/Time-weighted_average_price)
- BLOCK: A [block trade](https://en.wikipedia.org/wiki/Block_trade)
- VWAP: A [volume-weighted average price order](https://en.wikipedia.org/wiki/Volume-weighted_average_price)
- STOP_LIMIT: A [conditional order combined of stop order and limit order](https://en.wikipedia.org/wiki/Order_(exchange)#Stop-limit_order)
- RFQ: A [request for quote](https://en.wikipedia.org/wiki/Request_for_quote)
- PEG: A pegged order that dynamically adjust based on market conditions while maintaining execution discretion and avoiding adverse selection
schema:
type: string
enum:
- MARKET
- LIMIT
- TWAP
- BLOCK
- VWAP
- STOP_LIMIT
- RFQ
- PEG
- name: cursor
in: query
description: Cursor used for pagination (last consumed record)
schema:
type: string
- name: limit
in: query
description: Number of items to retrieve
schema:
type: integer
format: int32
- name: sort_direction
in: query
description: Sorting order
schema:
type: string
default: DESC
enum:
- DESC
- ASC
- name: order_side
in: query
description: |-
An order side to filter on.
- UNKNOWN_ORDER_SIDE: nil value
- BUY: Buy order
- SELL: Sell order
schema:
type: string
enum:
- BUY
- SELL
- name: start_date
in: query
description: A start date for the orders to be queried from
schema:
type: string
format: date-time
- name: end_date
in: query
description: An end date for the orders to be queried from
schema:
type: string
format: date-time
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.GetOrdersResponse'
/v1/portfolios/{portfolio_id}/orders/{order_id}:
get:
tags:
- Orders
summary: Get Order by Order ID
description: Retrieve an order by order ID.
operationId: PrimeRESTAPI_GetOrder
parameters:
- name: portfolio_id
in: path
description: Portfolio ID
required: true
schema:
type: string
- name: order_id
in: path
description: Order ID
required: true
schema:
type: string
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.GetOrderResponse'
/v1/portfolios/{portfolio_id}/orders/{order_id}/cancel:
post:
tags:
- Orders
summary: Cancel Order
description: Cancel an order. (Filled orders cannot be canceled.)
operationId: PrimeRESTAPI_CancelOrder
parameters:
- name: portfolio_id
in: path
description: The ID of the portfolio under which the order was placed
required: true
schema:
type: string
- name: order_id
in: path
description: The order ID generated by Coinbase upon order submission
required: true
schema:
type: string
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.CancelOrderResponse'
/v1/portfolios/{portfolio_id}/orders/{order_id}/edit:
put:
tags:
- Orders
summary: Edit Order (Beta)
description: Edit an open order. This feature is in beta please reach out to
your Coinbase Prime account manager for more information.
operationId: PrimeRESTAPI_EditOrder
parameters:
- name: portfolio_id
in: path
description: The ID of the portfolio that owns the order
required: true
schema:
type: string
- name: order_id
in: path
description: The ID of the order being edited
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
required:
- client_order_id
- orig_client_order_id
type: object
properties:
product_id:
type: string
description: "Deprecated: The product ID of the order being edited"
orig_client_order_id:
type: string
description: The client order ID of the order being edited
client_order_id:
type: string
description: The updated version of the client order ID
base_quantity:
type: string
description: Order size in base asset units (either `base_quantity`
or `quote_value` is required)
quote_value:
type: string
description: "Order size in quote asset units, i.e. the amount the\
\ user wants to spend (when buying) or receive (when selling);\
\ the quantity in base units will be determined based on the market\
\ liquidity and indicated `quote_value` (either `base_quantity`\
\ or `quote_value` is required)"
limit_price:
type: string
description: "The limit price (required for TWAP, VWAP, LIMIT, and\
\ STOP_LIMIT orders)"
expiry_time:
type: string
description: "The expiry time of the order in UTC (TWAP, VWAP, LIMIT,\
\ and STOP_LIMIT GTD only)"
format: date-time
display_quote_size:
type: string
description: The maximum order size that will show up on venue order
books. Specifying a value here effectively makes a LIMIT order
into an "iceberg" style order.
display_base_size:
type: string
description: The maximum order size that will show up on venue order
books. Specifying a value here effectively makes a LIMIT order
into an "iceberg" style order.
stop_price:
type: string
description: Specifies the stop price at which the order activates.
The order is activated if the last trade price on Coinbase Exchange
crosses the stop price specified on the order
offset:
type: string
description: New peg offset value for PEG orders. 0 means peg to
BBO. Only non-negative values are allowed. The order's peg_offset_type
is immutable and is reused server-side to interpret this value
(PEG orders only)
wig_level:
type: string
description: "New WIG (Would if Good) level for PEG orders - the\
\ best price a pegged order would be placed on venues, opposite\
\ to limit_price. Cannot be added or removed post-placement (PEG\
\ orders only)"
required: true
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.EditOrderResponse'
x-codegen-request-body-name: body
/v1/portfolios/{portfolio_id}/orders/{order_id}/edit_history:
get:
tags:
- Orders
summary: List Order Edit History
description: List edit history for a specific order
operationId: PrimeRESTAPI_GetOrderEditHistory
parameters:
- name: portfolio_id
in: path
description: The portfolio ID
required: true
schema:
type: string
- name: order_id
in: path
description: The order ID
required: true
schema:
type: string
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.GetOrderEditHistoryResponse'
/v1/portfolios/{portfolio_id}/orders/{order_id}/fills:
get:
tags:
- Orders
summary: List Order Fills
description: Retrieve fills on a given order. This endpoint returns a payload
with a default limit of 100 if not specified by the user. The maximum allowed
limit is 3000.
operationId: PrimeRESTAPI_GetOrderFills
parameters:
- name: portfolio_id
in: path
description: The portfolio ID associated with the order
required: true
schema:
type: string
- name: order_id
in: path
description: The order ID generated by Coinbase
required: true
schema:
type: string
- name: cursor
in: query
description: Cursor used for pagination (last consumed record)
schema:
type: string
- name: limit
in: query
description: Number of items to retrieve
schema:
type: integer
format: int32
- name: sort_direction
in: query
description: Sorting order
schema:
type: string
default: DESC
enum:
- DESC
- ASC
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.GetOrderFillsResponse'
/v1/portfolios/{portfolio_id}/products:
get:
tags:
- Products
summary: List Portfolio Products
description: List tradable products for a given portfolio.
operationId: PrimeRESTAPI_GetPortfolioProducts
parameters:
- name: portfolio_id
in: path
description: The portfolio ID
required: true
schema:
type: string
- name: cursor
in: query
description: Cursor used for pagination (last consumed record)
schema:
type: string
- name: limit
in: query
description: Number of items to retrieve
schema:
type: integer
format: int32
- name: sort_direction
in: query
description: Sorting order
schema:
type: string
default: DESC
enum:
- DESC
- ASC
- name: product_type
in: query
description: |-
Filter by product type (SPOT, FUTURE). If unset, returns all types available for your portfolio. Futures products require additional entitlements.
- UNKNOWN_PRODUCT_TYPE: Unknown product type
- SPOT: Spot product
- FUTURE: Future product
schema:
type: string
enum:
- SPOT
- FUTURE
- name: contract_expiry_type
in: query
description: |-
Filter by contract expiry type (EXPIRING or PERPETUAL). Only applicable when product_type = FUTURE. If unset, returns all futures kinds.
- CONTRACT_EXPIRY_TYPE_UNSPECIFIED: Unspecified contract expiry type
- CONTRACT_EXPIRY_TYPE_EXPIRING: Expiring futures contract
- CONTRACT_EXPIRY_TYPE_PERPETUAL: Perpetual futures contract (no expiry)
schema:
type: string
default: CONTRACT_EXPIRY_TYPE_UNSPECIFIED
enum:
- CONTRACT_EXPIRY_TYPE_UNSPECIFIED
- CONTRACT_EXPIRY_TYPE_EXPIRING
- CONTRACT_EXPIRY_TYPE_PERPETUAL
- name: expiring_contract_status
in: query
description: |-
Filter by expiry status for expiring futures. If unset, returns all expiring futures.
- EXPIRING_CONTRACT_STATUS_UNKNOWN: Unknown/unset — returns all expiring contracts (backward compatible default)
- EXPIRING_CONTRACT_STATUS_UNEXPIRED: Only unexpired contracts (contract_expiry is in the future)
- EXPIRING_CONTRACT_STATUS_EXPIRED: Only expired contracts (contract_expiry is in the past)
- EXPIRING_CONTRACT_STATUS_ALL: All contracts regardless of expiry status
schema:
type: string
enum:
- EXPIRING_CONTRACT_STATUS_UNEXPIRED
- EXPIRING_CONTRACT_STATUS_EXPIRED
- EXPIRING_CONTRACT_STATUS_ALL
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.GetPortfolioProductsResponse'
/v1/portfolios/{portfolio_id}/rfq:
post:
tags:
- Orders
summary: Create Quote Request
description: |-
A Quote Request is the start of the RFQ process. Coinbase Prime sends a Quote Request to Liquidity Providers (LPs) on behalf of a customer looking to participate in an RFQ trade.
Always required: portfolio_id, product_id, side, client_quote_id, and limit_price. One of either base_quantity or quote_value is always required.
operationId: PrimeRESTAPI_CreateQuoteRequest
parameters:
- name: portfolio_id
in: path
description: The ID of the portfolio that owns the order
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
title: RFQ
required:
- client_quote_id
- limit_price
- product_id
- side
type: object
properties:
product_id:
title: The ID of the product being traded for the order (e.g. `BTC-USD`)
type: string
side:
$ref: '#/components/schemas/coinbase.public_rest_api.OrderSide'
client_quote_id:
title: Based off of Order
type: string
description: "A client-generated order ID used for reference purposes\
\ (note: order will be rejected if this ID is not unique among\
\ all currently active orders)"
example: f69a20b1-4ac4-420e-90b5-814a12565bfa
base_quantity:
title: Order size in base asset units (either `base_quantity` or
`quote_value` is required)
type: string
quote_value:
title: "Order size in quote asset units, i.e. the amount the user\
\ wants to spend (when buying) or receive (when selling); the\
\ quantity in base units will be determined based on the market\
\ liquidity and indicated `quote_value` (either `base_quantity`\
\ or `quote_value` is required)"
type: string
limit_price:
title: The limit price
type: string
settl_currency:
title: The currency in which the settlement will be made
type: string
quote_duration_ms:
type: string
description: Optional quote timeout in milliseconds. Defaults to
3000 ms (3 seconds) if not specified. Maximum allowed value is
30000 ms (30 seconds); requests with a larger value are rejected.
Mirrors FIX tag 8090 (QuoteRequestGoodForMs).
format: int64
example: "5000"
description: based off PostOrderPreviewRequest
required: true
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.QuoteResponse'
x-codegen-request-body-name: body
/v1/portfolios/{portfolio_id}/staking/initiate:
post:
tags:
- Staking
summary: Request to stake currency in a portfolio
description: "Creates an execution request to stake funds across a portfolio.\
\ This will stake funds in one or more wallets in the portfolio, with a total\
\ bondable balance up to the requested stake amount."
operationId: PrimeRESTAPI_PortfolioStakingInitiate
parameters:
- name: portfolio_id
in: path
description: The portfolio ID
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
required:
- amount
- currency_symbol
- idempotency_key
type: object
properties:
idempotency_key:
type: string
description: The client generated idempotency key (uuid required)
for requested execution. Subsequent requests using the same key
will not create new transactions.
currency_symbol:
type: string
description: The currency symbol to stake
amount:
type: string
description: The quantity of the chosen currency to stake
metadata:
$ref: '#/components/schemas/coinbase.public_rest_api.PortfolioStakingMetadata'
required: true
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.PortfolioStakingInitiateResponse'
x-codegen-request-body-name: body
/v1/portfolios/{portfolio_id}/staking/transaction-validators/query:
post:
tags:
- Staking
summary: List Transaction Validators
description: "List ETH 0x02 validators associated with wallet-level stake transactions\
\ for a given portfolio. It will not return data for unstake transactions,\
\ portfolio stake transactions, transactions which staked different currencies,\
\ or which staked to Ethereum 0x01 validators."
operationId: PrimeRESTAPI_ListTransactionValidators
parameters:
- name: portfolio_id
in: path
description: The portfolio ID
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
required:
- transaction_ids
type: object
properties:
transaction_ids:
type: array
description: List of transaction IDs to filter validators by. Maximum
of 100 transaction IDs allowed per request.
items:
type: string
cursor:
type: string
description: Cursor for pagination
limit:
type: integer
description: "Maximum number of transaction-validator associations\
\ to return per page. Default is 100, maximum is 1000."
format: int32
sort_direction:
$ref: '#/components/schemas/coinbase.public_rest_api.SortDirection'
required: true
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.ListTransactionValidatorsResponse'
x-codegen-request-body-name: body
/v1/portfolios/{portfolio_id}/staking/unstake:
post:
tags:
- Staking
summary: Request to unstake currency across a portfolio
description: "Creates an execution request to unstake funds across a portfolio.\
\ This will unstake funds in one or more wallets in the portfolio, with a\
\ total bonded balance up to the requested unstake amount."
operationId: PrimeRESTAPI_PortfolioStakingUnstake
parameters:
- name: portfolio_id
in: path
description: The portfolio ID
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
required:
- currency_symbol
- idempotency_key
type: object
properties:
idempotency_key:
type: string
description: The client generated idempotency key (uuid required)
for requested execution. Subsequent requests using the same key
will not create new transactions.
currency_symbol:
type: string
description: The currency symbol to unstake
amount:
type: string
description: The quantity of the chosen currency to unstake
metadata:
$ref: '#/components/schemas/coinbase.public_rest_api.PortfolioStakingMetadata'
validator_provider:
$ref: '#/components/schemas/coinbase.public_rest_api.ValidatorProvider'
required: true
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.PortfolioStakingUnstakeResponse'
x-codegen-request-body-name: body
/v1/portfolios/{portfolio_id}/transactions:
get:
tags:
- Transactions
summary: List Portfolio Transactions
description: List transactions for a given portfolio.
operationId: PrimeRESTAPI_GetPortfolioTransactions
parameters:
- name: portfolio_id
in: path
description: The portfolio ID
required: true
schema:
type: string
- name: symbols
in: query
description: A case insensitive list of symbols by which to filter the response
schema:
type: string
- name: types
in: query
description: |-
The transaction types by which to filter the response
- TRANSACTION_TYPE_UNKNOWN: An unknown transaction type
- DEPOSIT: A fiat or crypto deposit
- WITHDRAWAL: A fiat or crypto withdrawal
- INTERNAL_DEPOSIT: An internal fiat or crypto deposit
- INTERNAL_WITHDRAWAL: An internal fiat or crypto withdrawal
- SWEEP_DEPOSIT: Internal automated deposit to a cold address from a restored address
- SWEEP_WITHDRAWAL: Internal automated withdrawal from a restored address to a cold address
- PROXY_DEPOSIT: On-chain deposit of funds into proxy contract from cold address
- PROXY_WITHDRAWAL: On-chain withdrawal of funds from proxy contract to cold address
- BILLING_WITHDRAWAL: Coinbase Prime automated invoice settlement payment
- REWARD: Reward payment to an associated address for a staked asset
- COINBASE_REFUND: Coinbase Prime refund for the leftover amount for a CPFP (child pays for parent) transaction
- TRANSACTION_TYPE_OTHER: An OTHER type of transaction
- WITHDRAWAL_ADJUSTMENT: A manual adjustment withdrawal transaction
- DEPOSIT_ADJUSTMENT: A manual adjustment deposit transaction
- KEY_REGISTRATION: An on-chain registration for an address
- DELEGATION: An on-chain delegation transaction
- UNDELEGATION: An on-chain undelegation transaction
- RESTAKE: On-chain restaking transaction
- COMPLETE_UNBONDING: On-chain unbonding event transaction
- WITHDRAW_UNBONDED: On-chain event indicating unbonding period is over
- STAKE_ACCOUNT_CREATE: On-chain transaction to begin staking from an address
- CHANGE_VALIDATOR: On-chain transaction alter validator
- STAKE: On-chain transaction to begin staking in Cryptocurrency network
- UNSTAKE: On-chain transaction to stop staking in Cryptocurrency network
- REMOVE_AUTHORIZED_PARTY: On-chain transaction to remove a party from a multi-signature wallet
- STAKE_AUTHORIZE_WITH_SEED: On-chain transaction to begin staking from a seed account
- SLASH: On-chain transaction indicating a slash event has occurred
- COINBASE_DEPOSIT: On-chain transaction deposit for the purpose of transaction operations
- CONVERSION: Internal conversion between two assets
- CLAIM_REWARDS: On-chain transaction to claim rewards from Vote Account
- VOTE_AUTHORIZE: On-chain transaction to transfer the reward claiming permission to other pubkey
- WEB3_TRANSACTION: On-chain transaction initiated with Prime Onchain Wallet
Deprecated: Use ONCHAIN_TRANSACTION instead
- ONCHAIN_TRANSACTION: On-chain transaction initiated with Prime Onchain Wallet
- PORTFOLIO_STAKE: Portfolio-level staking operation
- PORTFOLIO_UNSTAKE: Portfolio-level unstaking operation
style: form
explode: true
schema:
type: array
items:
type: string
enum:
- DEPOSIT
- WITHDRAWAL
- INTERNAL_DEPOSIT
- INTERNAL_WITHDRAWAL
- SWEEP_DEPOSIT
- SWEEP_WITHDRAWAL
- PROXY_DEPOSIT
- PROXY_WITHDRAWAL
- BILLING_WITHDRAWAL
- REWARD
- COINBASE_REFUND
- TRANSACTION_TYPE_OTHER
- WITHDRAWAL_ADJUSTMENT
- DEPOSIT_ADJUSTMENT
- KEY_REGISTRATION
- DELEGATION
- UNDELEGATION
- RESTAKE
- COMPLETE_UNBONDING
- WITHDRAW_UNBONDED
- STAKE_ACCOUNT_CREATE
- CHANGE_VALIDATOR
- STAKE
- UNSTAKE
- REMOVE_AUTHORIZED_PARTY
- STAKE_AUTHORIZE_WITH_SEED
- SLASH
- COINBASE_DEPOSIT
- CONVERSION
- CLAIM_REWARDS
- VOTE_AUTHORIZE
- WEB3_TRANSACTION
- ONCHAIN_TRANSACTION
- PORTFOLIO_STAKE
- PORTFOLIO_UNSTAKE
- name: start_time
in: query
description: "UTC timestamp from which to filter the response (inclusive,\
\ ISO-8601 format)"
schema:
type: string
format: date-time
- name: end_time
in: query
description: "UTC timestamp until which to filter the response (exclusive,\
\ ISO-8601 format)"
schema:
type: string
format: date-time
- name: cursor
in: query
description: Id to retrieve additional results strictly after.
schema:
type: string
- name: limit
in: query
description: Number of items to retrieve
schema:
type: integer
format: int32
- name: sort_direction
in: query
description: Page sorting direction
schema:
type: string
default: DESC
enum:
- DESC
- ASC
- name: get_network_unified_transactions
in: query
description: Flag to request retrieval of all transactions across all networks
for a given symbol
schema:
type: boolean
- name: travel_rule_status
in: query
description: (Alpha) Filter for status of returned transactions' travel rule
submissions - an inclusive OR filter
style: form
explode: true
schema:
type: array
items:
type: string
enum:
- TRAVEL_RULE_STATUS_UNSPECIFIED
- TRAVEL_RULE_STATUS_PENDING
- TRAVEL_RULE_STATUS_SUBMITTED
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.GetPortfolioTransactionsResponse'
/v1/portfolios/{portfolio_id}/transactions/{transaction_id}:
get:
tags:
- Transactions
summary: Get Transaction by Transaction ID
description: Retrieve a specific transaction by its transaction ID.
operationId: PrimeRESTAPI_GetTransaction
parameters:
- name: portfolio_id
in: path
description: The portfolio ID
required: true
schema:
type: string
- name: transaction_id
in: path
description: The transaction ID
required: true
schema:
type: string
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.GetTransactionResponse'
/v1/portfolios/{portfolio_id}/transactions/{transaction_id}/travel_rule:
get:
tags:
- Travel Rule
summary: Get Transaction Travel Rule Data
description: (Beta) Get fulfilled travel rule data for a transaction.
operationId: PrimeRESTAPI_GetTransactionTravelRuleData
parameters:
- name: portfolio_id
in: path
description: The portfolio ID that owns the transaction
required: true
schema:
type: string
- name: transaction_id
in: path
description: The transaction ID to look up travel rule data for
required: true
schema:
type: string
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.GetTransactionTravelRuleDataResponse'
/v1/portfolios/{portfolio_id}/transactions/{transaction_id}/travel_rule/deposit:
post:
tags:
- Travel Rule
summary: Submit Deposit Travel Rule Data
description: Submit travel rule data for an existing deposit transaction.
operationId: PrimeRESTAPI_SubmitDepositTravelRuleData
parameters:
- name: portfolio_id
in: path
description: The portfolio ID that owns the transaction
required: true
schema:
type: string
- name: transaction_id
in: path
description: The transaction ID associated with the entry
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
title: Request to submit travel rule data for an existing deposit transaction
type: object
properties:
originator:
$ref: '#/components/schemas/coinbase.public_rest_api.TravelRuleParty'
beneficiary:
$ref: '#/components/schemas/coinbase.public_rest_api.TravelRuleParty'
is_self:
title: |-
True if user owns the counterparty address (self-transfer)
If false, beneficiary is required
type: boolean
opt_out_of_ownership_verification:
title: True to skip wallet ownership verification
type: boolean
required: true
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.SubmitDepositTravelRuleDataResponse'
x-codegen-request-body-name: body
/v1/portfolios/{portfolio_id}/users:
get:
tags:
- Users
summary: List Portfolio Users
description: List all users associated with a given portfolio.
operationId: PrimeRESTAPI_GetPortfolioUsers
parameters:
- name: portfolio_id
in: path
description: The portfolio ID.
required: true
schema:
type: string
- name: cursor
in: query
description: Cursor used for pagination (last consumed record)
schema:
type: string
- name: limit
in: query
description: Number of items to retrieve
schema:
type: integer
format: int32
- name: sort_direction
in: query
description: Sorting order
schema:
type: string
default: DESC
enum:
- DESC
- ASC
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.GetPortfolioUsersResponse'
/v1/portfolios/{portfolio_id}/wallets:
get:
tags:
- Wallets
summary: List Portfolio Wallets
description: List all wallets associated with a given portfolio.
operationId: PrimeRESTAPI_GetWallets
parameters:
- name: portfolio_id
in: path
description: The portfolio ID
required: true
schema:
type: string
- name: type
in: query
description: |-
The wallet type
- VAULT: A crypto vault
- TRADING: A trading wallet
- WALLET_TYPE_OTHER: Other wallet types (like consumer, etc)
- QC: A QC Wallet
- ONCHAIN: An Onchain wallet
required: true
schema:
type: string
enum:
- VAULT
- TRADING
- WALLET_TYPE_OTHER
- QC
- ONCHAIN
- name: cursor
in: query
description: Cursor used for pagination (last consumed record)
schema:
type: string
- name: limit
in: query
description: Number of wallets to retrieve
schema:
type: integer
format: int32
- name: sort_direction
in: query
description: Sorting order
schema:
type: string
default: DESC
enum:
- DESC
- ASC
- name: symbols
in: query
description: The wallet symbol
style: form
explode: true
schema:
type: array
items:
type: string
- name: get_network_unified_wallets
in: query
description: Flag to request retrieval of all wallets across all networks
for a given symbol
schema:
type: boolean
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.GetWalletsResponse'
post:
tags:
- Wallets
summary: Create Wallet
description: "Create a wallet. Note: The first ONCHAIN wallet for each network\
\ family must be created through the Prime UI."
operationId: PrimeRESTAPI_CreateWallet
parameters:
- name: portfolio_id
in: path
description: Portfolio ID
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
required:
- name
- symbol
type: object
properties:
name:
title: The name of the wallet
type: string
symbol:
title: The asset stored in the wallet. Should not be specified when
wallet_type is ONCHAIN
type: string
wallet_type:
$ref: '#/components/schemas/coinbase.public_rest_api.WalletType'
idempotency_key:
title: idem
type: string
network_family:
$ref: '#/components/schemas/coinbase.public_rest_api.NetworkFamily'
network:
$ref: '#/components/schemas/coinbase.public_rest_api.Network'
required: true
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.CreateWalletResponse'
x-codegen-request-body-name: body
/v1/portfolios/{portfolio_id}/wallets/{wallet_id}:
get:
tags:
- Wallets
summary: Get Wallet by Wallet ID
description: Retrieve a specific wallet by Wallet ID.
operationId: PrimeRESTAPI_GetWallet
parameters:
- name: portfolio_id
in: path
description: Portfolio ID
required: true
schema:
type: string
- name: wallet_id
in: path
description: Wallet ID
required: true
schema:
type: string
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.GetWalletResponse'
/v1/portfolios/{portfolio_id}/wallets/{wallet_id}/addresses:
get:
tags:
- Wallets
summary: List Wallet Addresses
description: Returns all deposit addresses associated with a wallet
operationId: PrimeRESTAPI_ListWalletAddresses
parameters:
- name: portfolio_id
in: path
description: The portfolio ID associated with the wallet
required: true
schema:
type: string
- name: wallet_id
in: path
description: The wallet ID for which to retrieve all deposit addresses
required: true
schema:
type: string
- name: network_id
in: query
description: "The blockchain network name and type, provide an empty network\
\ to retrieve addresses across all networks for this wallet"
schema:
type: string
- name: cursor
in: query
description: Cursor to retrieve the next page of results
schema:
type: string
- name: limit
in: query
description: Maximum number of addresses to return in a single response
schema:
type: integer
format: int32
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.ListWalletAddressesResponse'
post:
tags:
- Wallets
summary: Create Wallet Deposit Address
description: Creates a new deposit address for a wallet. Only applicable to
wallets that support multiple deposit addresses on a given network
operationId: PrimeRESTAPI_CreateWalletDepositAddress
parameters:
- name: portfolio_id
in: path
description: The ID of the portfolio that owns the wallet
required: true
schema:
type: string
- name: wallet_id
in: path
description: The wallet ID for which to create the deposit address
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
required:
- network_id
type: object
properties:
network_id:
title: "The network information, ie which network to retrieve the\
\ deposit address for (such as base-mainnet)"
type: string
description: The network name and type
example: ethereum-mainnet
required: true
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.BlockchainAddress'
x-codegen-request-body-name: body
/v1/portfolios/{portfolio_id}/wallets/{wallet_id}/balance:
get:
tags:
- Balances
summary: Get Wallet Balance
description: Query balance for a specific wallet.
operationId: PrimeRESTAPI_GetWalletBalance
parameters:
- name: portfolio_id
in: path
description: Portfolio ID
required: true
schema:
type: string
- name: wallet_id
in: path
description: Wallet ID
required: true
schema:
type: string
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.GetWalletBalanceResponse'
/v1/portfolios/{portfolio_id}/wallets/{wallet_id}/conversion:
post:
tags:
- Transactions
summary: Create Conversion
description: Perform a conversion between 2 assets.
operationId: PrimeRESTAPI_CreateConversion
parameters:
- name: portfolio_id
in: path
description: The ID of the portfolio
required: true
schema:
type: string
- name: wallet_id
in: path
description: The wallet ID that the conversion will originate from
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
required:
- amount
- destination
- destination_symbol
- idempotency_key
- source_symbol
type: object
properties:
amount:
type: string
description: The amount in whole units to convert
example: "50.50"
destination:
type: string
description: The UUID of the destination wallet
example: e84255eb-2e21-439e-a1d0-f5dd1e1292b9
idempotency_key:
type: string
description: The idempotency key associated with this conversion
example: e84255eb-2e21-439e-a1d0-f5dd1e1292b9
source_symbol:
type: string
description: The currency symbol to convert from
example: USD
destination_symbol:
type: string
description: The currency symbol to convert to
example: USDC
required: true
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.CreateConversionResponse'
x-codegen-request-body-name: body
/v1/portfolios/{portfolio_id}/wallets/{wallet_id}/cross-asset-withdrawals:
post:
tags:
- Transactions
summary: Create Cross-Asset Wallet Withdrawal
description: "Create a withdrawal where the source asset differs from the destination\
\ asset (e.g. USDC source, USDT-on-TRON destination)."
operationId: PrimeRESTAPI_CreateCrossAssetWalletWithdrawal
parameters:
- name: portfolio_id
in: path
description: The portfolio ID
required: true
schema:
type: string
- name: wallet_id
in: path
description: The source wallet ID (must hold source_currency_symbol)
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
required:
- blockchain_address
- destination_amount
- destination_currency_symbol
- idempotency_key
- source_currency_symbol
type: object
properties:
idempotency_key:
type: string
description: The idempotency key associated with the withdrawal
source_currency_symbol:
type: string
description: The currency symbol debited from the wallet (e.g. "USDC")
destination_currency_symbol:
type: string
description: The currency symbol delivered to the destination (e.g.
"USDT")
destination_amount:
type: string
description: "Exact amount of destination_currency_symbol to deliver,\
\ in whole units. The corresponding source amount debited from\
\ the wallet is computed downstream."
blockchain_address:
$ref: '#/components/schemas/coinbase.public_rest_api.BlockchainAddress'
travel_rule_data:
$ref: '#/components/schemas/coinbase.public_rest_api.TravelRuleData'
description: |-
Create a cross-asset wallet withdrawal: source asset is debited from the
wallet and destination asset is delivered to the destination. The source
amount is computed downstream based on the use case. The relationship
between source and destination assets (bridge, swap, etc.) is an internal
implementation detail and is not exposed on the wire.
required: true
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.CreateCrossAssetWalletWithdrawalResponse'
x-codegen-request-body-name: body
/v1/portfolios/{portfolio_id}/wallets/{wallet_id}/deposit_instructions:
get:
tags:
- Wallets
summary: Get Wallet Deposit Instructions
description: Retrieve a specific wallet's deposit instructions.
operationId: PrimeRESTAPI_GetWalletDepositInstructions
parameters:
- name: portfolio_id
in: path
description: The portfolio ID
required: true
schema:
type: string
- name: wallet_id
in: path
description: The wallet ID
required: true
schema:
type: string
- name: deposit_type
in: query
description: |-
The deposit type
- UNKNOWN_WALLET_DEPOSIT_TYPE: nil value
- CRYPTO: A cryptocurrency deposit
- WIRE: A wire deposit
- SEN: DEPRECATED. A Silvergate Exchange Network deposit
- SWIFT: A SWIFT deposit
- SEPA: A SEPA deposit (Single Euro Payments Area)
required: true
schema:
type: string
enum:
- CRYPTO
- WIRE
- SEN
- SWIFT
- SEPA
- name: network.id
in: query
description: |-
The name of the network
The network id: base, bitcoin, ethereum, solana etc
schema:
type: string
- name: network.type
in: query
description: |-
The network type
The network type: mainnet, testnet, etc
schema:
type: string
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.GetWalletDepositInstructionsResponse'
/v1/portfolios/{portfolio_id}/wallets/{wallet_id}/onchain_transaction:
post:
tags:
- Transactions
summary: Create Onchain Transaction
description: Create an onchain transaction.
operationId: PrimeRESTAPI_CreateOnchainTransaction
parameters:
- name: portfolio_id
in: path
description: The portfolio ID
required: true
schema:
type: string
- name: wallet_id
in: path
description: The wallet ID
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
required:
- raw_unsigned_txn
type: object
properties:
raw_unsigned_txn:
type: string
description: Raw unsigned transaction in Hex format (Supports EVM
and Solana)
example: |-
[EVM Example]: 02f00180830f424085057db95cdf825208942225166893d26f2064a15cc84f5b897591a7e6938642a13798e59d80c0808080
[Solana Example]: 010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080010002045bae9ac3406b6ad02953cef2646a07966df84f35c0d754d5cc628d452299fcc606c34c7ae7b6d15777787f4f5217d8f2537e7efecabf3d96c39952ed2144322e00000000000000000000000000000000000000000000000000000000000000000306466fe5211732ffecadba72c39be7bc8ce5bbc5f7126b2c439b3a40000000dc34215f010238fbe5a955301891d29cdc1ea2b1f175e36c01c7cde0126ba58303020200010c02000000364b16000000000003000903102700000000000003000502400d030000
rpc:
$ref: '#/components/schemas/coinbase.public_rest_api.RpcConfig'
evm_params:
$ref: '#/components/schemas/coinbase.public_rest_api.CreateOnchainTransactionRequest.EvmParams'
required: true
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.CreateOnchainTransactionResponse'
x-codegen-request-body-name: body
/v1/portfolios/{portfolio_id}/wallets/{wallet_id}/staking/claim_rewards:
post:
tags:
- Staking
summary: Claim Wallet Staking Rewards (Alpha)
description: Request to claim staking rewards. This feature is only for ETH
Pectra (0x02) validators.
operationId: PrimeRESTAPI_StakingClaimRewards
parameters:
- name: portfolio_id
in: path
description: The portfolio ID
required: true
schema:
type: string
- name: wallet_id
in: path
description: The wallet ID
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
required:
- idempotency_key
type: object
properties:
idempotency_key:
type: string
description: The client generated idempotency key for requested
execution. Any subsequent requests with the same key will return
the original response
inputs:
$ref: '#/components/schemas/coinbase.public_rest_api.WalletClaimRewardsInputs'
description: |-
StakingClaimRewardsRequest represents a request to claim staking rewards.
Intentionally omits WalletStakingMetadata; see WalletStakingMetadata for rationale.
required: true
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.StakingClaimRewardsResponse'
x-codegen-request-body-name: body
/v1/portfolios/{portfolio_id}/wallets/{wallet_id}/staking/initiate:
post:
tags:
- Staking
summary: Request to stake or delegate a wallet
description: Creates an execution request to stake or delegate funds to a validator
operationId: PrimeRESTAPI_StakingInitiate
parameters:
- name: portfolio_id
in: path
description: The portfolio ID
required: true
schema:
type: string
- name: wallet_id
in: path
description: The wallet ID
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
required:
- idempotency_key
type: object
properties:
idempotency_key:
type: string
description: The client generated idempotency key for requested
execution. Subsequent requests using the same key will fail
inputs:
$ref: '#/components/schemas/coinbase.public_rest_api.WalletStakeInputs'
metadata:
$ref: '#/components/schemas/coinbase.public_rest_api.WalletStakingMetadata'
description: StakingInitiateRequest represents a request to initiate
a staking operation.
required: true
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.StakingInitiateResponse'
x-codegen-request-body-name: body
/v1/portfolios/{portfolio_id}/wallets/{wallet_id}/staking/status:
get:
tags:
- Staking
summary: Get Staking Status
description: Get staking status for a wallet. Returns estimated completion times
for active staking requests.
operationId: PrimeRESTAPI_GetStakingStatus
parameters:
- name: portfolio_id
in: path
description: The portfolio ID
required: true
schema:
type: string
- name: wallet_id
in: path
description: The wallet ID
required: true
schema:
type: string
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.GetStakingStatusResponse'
/v1/portfolios/{portfolio_id}/wallets/{wallet_id}/staking/unstake:
post:
tags:
- Staking
summary: Request to unstake a wallet
description: Creates an execution request to unstake delegated or staked funds
in a wallet
operationId: PrimeRESTAPI_StakingUnstake
parameters:
- name: portfolio_id
in: path
description: The portfolio ID
required: true
schema:
type: string
- name: wallet_id
in: path
description: The wallet ID
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
required:
- idempotency_key
type: object
properties:
idempotency_key:
type: string
description: The client generated idempotency key for requested
execution. Subsequent requests using the same key will fail
inputs:
$ref: '#/components/schemas/coinbase.public_rest_api.WalletUnstakeInputs'
metadata:
$ref: '#/components/schemas/coinbase.public_rest_api.WalletStakingMetadata'
description: StakingUnstakeRequest represents a request to initiate
an unstaking operation.
required: true
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.StakingUnstakeResponse'
x-codegen-request-body-name: body
/v1/portfolios/{portfolio_id}/wallets/{wallet_id}/staking/unstake/preview:
post:
tags:
- Staking
summary: Preview Unstake
description: Previews an unstaking request with the given amount and returns
the estimated amount that would be unstaked. This feature currently only supports
ETH.
operationId: PrimeRESTAPI_PreviewUnstake
parameters:
- name: portfolio_id
in: path
description: The portfolio ID
required: true
schema:
type: string
- name: wallet_id
in: path
description: The wallet ID
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
required:
- amount
type: object
properties:
amount:
type: string
description: Amount to preview unstaking
description: PreviewUnstakeRequest represents a request to preview an
unstaking operation.
required: true
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.PreviewUnstakeResponse'
x-codegen-request-body-name: body
/v1/portfolios/{portfolio_id}/wallets/{wallet_id}/staking/unstake/status:
get:
tags:
- Staking
summary: Get Unstaking Status
description: Get unstaking estimates for a wallet. Returns estimated completion
times for active unstaking requests.
operationId: PrimeRESTAPI_GetUnstakingStatus
parameters:
- name: portfolio_id
in: path
description: The portfolio ID
required: true
schema:
type: string
- name: wallet_id
in: path
description: The wallet ID
required: true
schema:
type: string
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.GetUnstakingStatusResponse'
/v1/portfolios/{portfolio_id}/wallets/{wallet_id}/transactions:
get:
tags:
- Transactions
summary: List Wallet Transactions
description: Retrieve transactions for a given wallet.
operationId: PrimeRESTAPI_GetWalletTransactions
parameters:
- name: portfolio_id
in: path
description: The portfolio ID
required: true
schema:
type: string
- name: wallet_id
in: path
description: The wallet ID
required: true
schema:
type: string
- name: types
in: query
description: |-
The transaction types by which to filter the response
- TRANSACTION_TYPE_UNKNOWN: An unknown transaction type
- DEPOSIT: A fiat or crypto deposit
- WITHDRAWAL: A fiat or crypto withdrawal
- INTERNAL_DEPOSIT: An internal fiat or crypto deposit
- INTERNAL_WITHDRAWAL: An internal fiat or crypto withdrawal
- SWEEP_DEPOSIT: Internal automated deposit to a cold address from a restored address
- SWEEP_WITHDRAWAL: Internal automated withdrawal from a restored address to a cold address
- PROXY_DEPOSIT: On-chain deposit of funds into proxy contract from cold address
- PROXY_WITHDRAWAL: On-chain withdrawal of funds from proxy contract to cold address
- BILLING_WITHDRAWAL: Coinbase Prime automated invoice settlement payment
- REWARD: Reward payment to an associated address for a staked asset
- COINBASE_REFUND: Coinbase Prime refund for the leftover amount for a CPFP (child pays for parent) transaction
- TRANSACTION_TYPE_OTHER: An OTHER type of transaction
- WITHDRAWAL_ADJUSTMENT: A manual adjustment withdrawal transaction
- DEPOSIT_ADJUSTMENT: A manual adjustment deposit transaction
- KEY_REGISTRATION: An on-chain registration for an address
- DELEGATION: An on-chain delegation transaction
- UNDELEGATION: An on-chain undelegation transaction
- RESTAKE: On-chain restaking transaction
- COMPLETE_UNBONDING: On-chain unbonding event transaction
- WITHDRAW_UNBONDED: On-chain event indicating unbonding period is over
- STAKE_ACCOUNT_CREATE: On-chain transaction to begin staking from an address
- CHANGE_VALIDATOR: On-chain transaction alter validator
- STAKE: On-chain transaction to begin staking in Cryptocurrency network
- UNSTAKE: On-chain transaction to stop staking in Cryptocurrency network
- REMOVE_AUTHORIZED_PARTY: On-chain transaction to remove a party from a multi-signature wallet
- STAKE_AUTHORIZE_WITH_SEED: On-chain transaction to begin staking from a seed account
- SLASH: On-chain transaction indicating a slash event has occurred
- COINBASE_DEPOSIT: On-chain transaction deposit for the purpose of transaction operations
- CONVERSION: Internal conversion between two assets
- CLAIM_REWARDS: On-chain transaction to claim rewards from Vote Account
- VOTE_AUTHORIZE: On-chain transaction to transfer the reward claiming permission to other pubkey
- WEB3_TRANSACTION: On-chain transaction initiated with Prime Onchain Wallet
Deprecated: Use ONCHAIN_TRANSACTION instead
- ONCHAIN_TRANSACTION: On-chain transaction initiated with Prime Onchain Wallet
- PORTFOLIO_STAKE: Portfolio-level staking operation
- PORTFOLIO_UNSTAKE: Portfolio-level unstaking operation
style: form
explode: true
schema:
type: array
items:
type: string
enum:
- DEPOSIT
- WITHDRAWAL
- INTERNAL_DEPOSIT
- INTERNAL_WITHDRAWAL
- SWEEP_DEPOSIT
- SWEEP_WITHDRAWAL
- PROXY_DEPOSIT
- PROXY_WITHDRAWAL
- BILLING_WITHDRAWAL
- REWARD
- COINBASE_REFUND
- TRANSACTION_TYPE_OTHER
- WITHDRAWAL_ADJUSTMENT
- DEPOSIT_ADJUSTMENT
- KEY_REGISTRATION
- DELEGATION
- UNDELEGATION
- RESTAKE
- COMPLETE_UNBONDING
- WITHDRAW_UNBONDED
- STAKE_ACCOUNT_CREATE
- CHANGE_VALIDATOR
- STAKE
- UNSTAKE
- REMOVE_AUTHORIZED_PARTY
- STAKE_AUTHORIZE_WITH_SEED
- SLASH
- COINBASE_DEPOSIT
- CONVERSION
- CLAIM_REWARDS
- VOTE_AUTHORIZE
- WEB3_TRANSACTION
- ONCHAIN_TRANSACTION
- PORTFOLIO_STAKE
- PORTFOLIO_UNSTAKE
- name: start_time
in: query
description: "UTC timestamp from which to filter the response (inclusive,\
\ ISO-8601 format)"
schema:
type: string
format: date-time
- name: end_time
in: query
description: "UTC timestamp until which to filter the response (exclusive,\
\ ISO-8601 format)"
schema:
type: string
format: date-time
- name: cursor
in: query
description: Id to retrieve additional results strictly after.
schema:
type: string
- name: limit
in: query
description: Number of items to retrieve
schema:
type: integer
format: int32
- name: sort_direction
in: query
description: Page sorting direction
schema:
type: string
default: DESC
enum:
- DESC
- ASC
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.GetWalletTransactionsResponse'
/v1/portfolios/{portfolio_id}/wallets/{wallet_id}/transfers:
post:
tags:
- Transactions
summary: Create Transfer
description: Create a wallet transfer.
operationId: PrimeRESTAPI_CreateWalletTransfer
parameters:
- name: portfolio_id
in: path
description: The portfolio ID
required: true
schema:
type: string
- name: wallet_id
in: path
description: The wallet ID that the transfer will originate from
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
title: Create a transfer between two wallets
required:
- amount
- currency_symbol
- destination
- idempotency_key
type: object
properties:
amount:
type: string
description: The amount in whole units to send
destination:
type: string
description: The UUID of the destination wallet
idempotency_key:
type: string
description: The idempotency key associated with this transfer
currency_symbol:
type: string
description: The currency symbol to transfer
required: true
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.CreateWalletTransferResponse'
x-codegen-request-body-name: body
/v1/portfolios/{portfolio_id}/wallets/{wallet_id}/web3_balances:
get:
tags:
- Balances
summary: List Onchain Wallet Balances
description: Query balances for a specific onchain wallet.
operationId: PrimeRESTAPI_ListWeb3WalletBalances
parameters:
- name: portfolio_id
in: path
description: Portfolio to retrieve balances for.
required: true
schema:
type: string
- name: wallet_id
in: path
description: Onchain wallet to retrieve balances for.
required: true
schema:
type: string
- name: visibility_statuses
in: query
description: |-
Visibility statuses to filter balances on. Leaving this field empty will return only VISIBLE balances.
- UNKNOWN_VISIBILITY_STATUS: nil
- VISIBLE: Visible
- HIDDEN: Hidden
- SPAM: Spam
style: form
explode: true
schema:
type: array
items:
type: string
enum:
- VISIBLE
- HIDDEN
- SPAM
- name: cursor
in: query
description: Id to retrieve additional results strictly after
schema:
type: string
- name: limit
in: query
description: Number of items to retrieve. Defaults to 100 with a max size
of 500.
schema:
type: integer
format: int32
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.ListWeb3WalletBalancesResponse'
/v1/portfolios/{portfolio_id}/wallets/{wallet_id}/withdrawals:
post:
tags:
- Transactions
summary: Create Withdrawal
description: Create a withdrawal.
operationId: PrimeRESTAPI_CreateWalletWithdrawal
parameters:
- name: portfolio_id
in: path
description: The portfolio ID
required: true
schema:
type: string
- name: wallet_id
in: path
description: The wallet ID
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
required:
- amount
- currency_symbol
- destination_type
- idempotency_key
type: object
properties:
amount:
type: string
description: The amount in whole units of the withdrawal
destination_type:
$ref: '#/components/schemas/coinbase.public_rest_api.DestinationType'
idempotency_key:
type: string
description: The idempotency key associated with the withdrawal
currency_symbol:
type: string
description: The currency symbol for the withdrawal
payment_method:
$ref: '#/components/schemas/coinbase.public_rest_api.PaymentMethodDestination'
blockchain_address:
$ref: '#/components/schemas/coinbase.public_rest_api.BlockchainAddress'
counterparty:
$ref: '#/components/schemas/coinbase.public_rest_api.CounterpartyDestination'
travel_rule_data:
$ref: '#/components/schemas/coinbase.public_rest_api.TravelRuleData'
required: true
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.CreateWalletWithdrawalResponse'
x-codegen-request-body-name: body
/v1/portfolios/{portfolio_id}/withdrawal_power:
get:
tags:
- Financing
summary: Get Portfolio Withdrawal Power
description: Returns the nominal quantity of a given asset that can be withdrawn
based on holdings and current portfolio equity.
operationId: PrimeRESTAPI_GetWithdrawalPower
parameters:
- name: portfolio_id
in: path
description: The unique ID of the portfolio
required: true
schema:
type: string
- name: symbol
in: query
description: The currency symbol
required: true
schema:
type: string
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.GetWithdrawalPowerResponse'
/v2/entities/{entity_id}/cross_margin/prime:
get:
tags:
- Financing
summary: Get Prime Cross Margin Overview
description: Returns real time risk data from the cross margin model.
operationId: PrimeRESTAPI_GetCrossMarginPrimeOverview
parameters:
- name: entity_id
in: path
description: Prime entity ID for the XM (cross-margin) customer.
required: true
schema:
type: string
responses:
"200":
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/coinbase.public_rest_api.GetCrossMarginPrimeOverviewResponse'
components:
schemas:
coinbase.brokerage.proxy.events.materialized.api.LimitOrderEdit:
title: LimitOrderEdit represents an order edit that is accepted
type: object
properties:
price:
title: New price for the edited order
type: string
size:
title: New size for the edited order
type: string
display_size:
title: New display size for the edited order
type: string
stop_price:
title: New stop price for the edited order
type: string
stop_limit_price:
title: New stop limit price for the edited order
type: string
end_time:
title: New end time for the edited order
type: string
format: date-time
accept_time:
title: Time when the edit was accepted
type: string
format: date-time
client_order_id:
title: Client order id of the order being replaced
type: string
coinbase.custody.api.ActivityType:
title: "- ACTIVITY_TYPE_WITHDRAWAL: PrimeActivityService Custody ActivityTypes\
\ that will replace the above"
type: string
enum:
- ACTIVITY_TYPE_GOVERNANCE_VOTE
- ACTIVITY_TYPE_INVITATION
- ACTIVITY_TYPE_WALLET_CHANGE
- ACTIVITY_TYPE_API_KEY_CHANGE
- ACTIVITY_TYPE_SETTINGS_CHANGE
- ACTIVITY_TYPE_BILLING_PREFERENCE_CHANGE
- ACTIVITY_TYPE_PAYMENT_METHOD_CHANGE
- ACTIVITY_TYPE_WITHDRAWAL
- ACTIVITY_TYPE_DEPOSIT
- ACTIVITY_TYPE_CREATE_WALLET
- ACTIVITY_TYPE_REMOVE_WALLET
- ACTIVITY_TYPE_UPDATE_WALLET
- ACTIVITY_TYPE_CAST_VOTE
- ACTIVITY_TYPE_ENABLE_VOTING
- ACTIVITY_TYPE_STAKE
- ACTIVITY_TYPE_UNSTAKE
- ACTIVITY_TYPE_CHANGE_VALIDATOR
- ACTIVITY_TYPE_RESTAKE
- ACTIVITY_TYPE_ADDRESS_BOOK
- ACTIVITY_TYPE_TEAM_MEMBERS
- ACTIVITY_TYPE_BILLING
- ACTIVITY_TYPE_SECURITY
- ACTIVITY_TYPE_API
- ACTIVITY_TYPE_SETTINGS
- ACTIVITY_TYPE_SMART_CONTRACT
- ACTIVITY_TYPE_USER_CHANGE_REQUEST_NO_PAS
- ACTIVITY_TYPE_WEB3_TRANSACTION
- ACTIVITY_TYPE_WEB3_MESSAGE
- ACTIVITY_TYPE_CLAIM_REWARDS
coinbase.custody.api.AddressBookEntry:
required:
- added_by
- id
- name
- state
type: object
properties:
id:
type: string
description: UUID identifying this address book entry
currency_symbol:
type: string
description: Currency symbol
name:
type: string
description: Name for this address book entry
address:
type: string
description: Cryptocurrency address
account_identifier:
type: string
description: Memo or destination tag for currencies which support them
account_identifier_name:
type: string
description: Name of the account identifier. For instance Destination Tag
state:
type: string
description: State of this address book entry
explorer_link:
type: string
description: Link to a blockchain explorer
last_used_at:
type: string
description: When this entry was last used for a transaction
format: date-time
added_at:
type: string
description: When this entry was added to the address book
format: date-time
added_by:
$ref: '#/components/schemas/coinbase.custody.api.DisplayUser'
type:
$ref: '#/components/schemas/coinbase.custody.api.AddressBookType'
counterparty_id:
type: string
description: counterparty id
coinbase.custody.api.AddressBookType:
type: string
default: ADDRESS_BOOK_TYPE_UNSPECIFIED
enum:
- ADDRESS_BOOK_TYPE_UNSPECIFIED
- ADDRESS_BOOK_TYPE_ADDRESS
- ADDRESS_BOOK_TYPE_COUNTERPARTY_ID
coinbase.custody.api.DisplayUser:
required:
- avatar_url
- id
- name
type: object
properties:
id:
type: string
description: User UUID
name:
type: string
description: User full name
avatar_url:
type: string
description: User avatar URL
coinbase.public_rest_api.AcceptQuoteResponse:
type: object
properties:
order_id:
type: string
coinbase.public_rest_api.Accrual:
type: object
properties:
accrual_id:
type: string
description: The accrual ID
example: 9227410b-d2d2-4646-950d-df126601bf2a
date:
type: string
description: The date of accrual in UTC
example: 2023-05-01T12:00:00Z
portfolio_id:
type: string
description: The unique ID of the portfolio
example: e8bbed13-fa33-41de-86d5-4335d8f08166
symbol:
type: string
description: The currency symbol
example: BTC
loan_type:
$ref: '#/components/schemas/coinbase.public_rest_api.LoanType'
interest_rate:
type: string
description: "The daily or annualized interest rate for the loan, see rate_type"
example: "0.05"
nominal_accrual:
type: string
description: Daily accrual amount in the principal currency
example: 1.3699E-4
notional_accrual:
type: string
description: Daily USD accrued interest
example: "4.07"
conversion_rate:
type: string
description: Accrual rate used to convert from principal to USD accrual
example: "29687.94"
loan_amount:
type: string
description: Outstanding principal of the loan
example: "1.05"
benchmark:
$ref: '#/components/schemas/coinbase.public_rest_api.Benchmark'
benchmark_rate:
type: string
description: Daily interest rate fetched from the benchmark source
example: 5.0E-4
spread:
type: string
description: Daily spread offset from the benchmark rate
example: 1.0E-4
rate_type:
$ref: '#/components/schemas/coinbase.public_rest_api.RateType'
loan_amount_notional:
type: string
description: Outstanding principal of the loan in USD
example: "1.05"
nominal_open_borrow_sod:
type: string
description: Settled open borrow as of start-of-day in the principal currency
example: "1.05"
notional_open_borrow_sod:
type: string
description: Settled open borrow as of start-of-day in USD
example: "1.05"
coinbase.public_rest_api.Action:
title: Action is the available user action types
type: string
default: OTHER_ACTION
enum:
- OTHER_ACTION
- ACTION_APPROVE
- ACTION_REJECT
- ACTION_INITIATE
- ACTION_CANCEL
coinbase.public_rest_api.ActiveLiquidationSummary:
title: ActiveLiquidationSummary provides a summary of the active or most recent
XM liquidation
type: object
properties:
liquidation_id:
type: string
description: Financing liquidation UUID
example: 63a2577a-930d-413b-81e4-9e77765da8f9
status:
$ref: '#/components/schemas/coinbase.public_rest_api.XMLiquidationStatus'
shortfall_amount:
type: string
description: USD notional shortfall amount that triggered the liquidation
example: "32083.26"
coinbase.public_rest_api.Activity:
type: object
properties:
id:
type: string
description: A unique id for the account activity
reference_id:
type: string
description: "A reference for orders and transactions, n/a for other category\
\ types"
category:
$ref: '#/components/schemas/coinbase.public_rest_api.ActivityCategory'
type:
$ref: '#/components/schemas/coinbase.public_rest_api.ActivityType'
secondary_type:
$ref: '#/components/schemas/coinbase.public_rest_api.ActivitySecondaryType'
status:
$ref: '#/components/schemas/coinbase.public_rest_api.ActivityStatus'
created_by:
type: string
description: Id of user who created the activity
title:
type: string
description: Title of the activity
description:
type: string
description: Description detail of the activity
user_actions:
type: array
description: Actions related to the Activity
items:
$ref: '#/components/schemas/coinbase.public_rest_api.UserAction'
transactions_metadata:
$ref: '#/components/schemas/coinbase.public_rest_api.ActivityMetadataTransactions'
account_metadata:
$ref: '#/components/schemas/coinbase.public_rest_api.ActivityMetadataAccount'
orders_metadata:
$ref: '#/components/schemas/coinbase.public_rest_api.ActivityMetadataOrders'
symbols:
type: array
description: List of currencies included in an activity
items:
type: string
created_at:
type: string
description: Time activity was created at
updated_at:
type: string
description: Time for latest status update of account activity
hierarchy_type:
$ref: '#/components/schemas/coinbase.public_rest_api.HierarchyType'
coinbase.public_rest_api.ActivityCategory:
type: string
default: OTHER_ACTIVITY_CATEGORY
enum:
- OTHER_ACTIVITY_CATEGORY
- ACTIVITY_CATEGORY_ORDER
- ACTIVITY_CATEGORY_TRANSACTION
- ACTIVITY_CATEGORY_ACCOUNT
- ACTIVITY_CATEGORY_ALLOCATION
- ACTIVITY_CATEGORY_LENDING
coinbase.public_rest_api.ActivityCreationResponse:
required:
- activity_id
- activity_type
- num_approvals_remaining
type: object
properties:
activity_type:
$ref: '#/components/schemas/coinbase.custody.api.ActivityType'
num_approvals_remaining:
type: integer
format: int32
activity_id:
type: string
coinbase.public_rest_api.ActivityLevel:
type: string
default: ACTIVITY_LEVEL_ALL
enum:
- ACTIVITY_LEVEL_ALL
- ACTIVITY_LEVEL_PORTFOLIO
- ACTIVITY_LEVEL_ENTITY
coinbase.public_rest_api.ActivityMetadataAccount:
type: object
properties:
consensus:
$ref: '#/components/schemas/coinbase.public_rest_api.ActivityMetadataConsensus'
coinbase.public_rest_api.ActivityMetadataConsensus:
type: object
properties:
approval_deadline:
type: string
description: Deadline for approval of an activity
has_passed_consensus:
type: boolean
description: If activity has passed consensus threshold
coinbase.public_rest_api.ActivityMetadataOrders:
type: object
coinbase.public_rest_api.ActivityMetadataTransactions:
type: object
properties:
consensus:
$ref: '#/components/schemas/coinbase.public_rest_api.ActivityMetadataConsensus'
coinbase.public_rest_api.ActivitySecondaryType:
title: |-
- ACTIVITY_SECONDARY_TYPE_BUY: Order secondary types
- ACTIVITY_SECONDARY_TYPE_INTERNAL_TRANSFER: Transaction secondary types
- ACTIVITY_SECONDARY_TYPE_WEB3_SIGNER: Onchain secondary types
type: string
default: NO_SECONDARY_TYPE
enum:
- NO_SECONDARY_TYPE
- ACTIVITY_SECONDARY_TYPE_BUY
- ACTIVITY_SECONDARY_TYPE_SELL
- ACTIVITY_SECONDARY_TYPE_INTERNAL_TRANSFER
- ACTIVITY_SECONDARY_TYPE_SWEEP_TRANSFER_TYPE
- ACTIVITY_SECONDARY_TYPE_WEB3_SIGNER
- ACTIVITY_SECONDARY_TYPE_WEB3_WALLET
coinbase.public_rest_api.ActivityStatus:
type: string
default: OTHER_ACTIVITY_STATUS
enum:
- OTHER_ACTIVITY_STATUS
- ACTIVITY_STATUS_CANCELLED
- ACTIVITY_STATUS_PROCESSING
- ACTIVITY_STATUS_COMPLETED
- ACTIVITY_STATUS_EXPIRED
- ACTIVITY_STATUS_REJECTED
- ACTIVITY_STATUS_FAILED
coinbase.public_rest_api.ActivityType:
type: string
default: OTHER_ACTIVITY_TYPE
enum:
- OTHER_ACTIVITY_TYPE
- ACTIVITY_TYPE_LIMIT_ORDER
- ACTIVITY_TYPE_MARKET_ORDER
- ACTIVITY_TYPE_TWAP_ORDER
- ACTIVITY_TYPE_BLOCK_TRADE
- ACTIVITY_TYPE_VWAP_ORDER
- ACTIVITY_TYPE_STOP_LIMIT_ORDER
- ACTIVITY_TYPE_DEPOSIT
- ACTIVITY_TYPE_WITHDRAWAL
- ACTIVITY_TYPE_INTERNAL_TRANSFER
- ACTIVITY_TYPE_CREATE_WALLET
- ACTIVITY_TYPE_REMOVE_WALLET
- ACTIVITY_TYPE_UPDATE_WALLET
- ACTIVITY_TYPE_CAST_VOTE
- ACTIVITY_TYPE_ENABLE_VOTING
- ACTIVITY_TYPE_STAKE
- ACTIVITY_TYPE_UNSTAKE
- ACTIVITY_TYPE_CHANGE_VALIDATOR
- ACTIVITY_TYPE_RESTAKE
- ACTIVITY_TYPE_ADDRESS_BOOK
- ACTIVITY_TYPE_TEAM_MEMBERS
- ACTIVITY_TYPE_BILLING
- ACTIVITY_TYPE_SECURITY
- ACTIVITY_TYPE_API
- ACTIVITY_TYPE_SETTINGS
- ACTIVITY_TYPE_SMART_CONTRACT
- ACTIVITY_TYPE_ALLOCATION_IN
- ACTIVITY_TYPE_ALLOCATION_OUT
- ACTIVITY_TYPE_ALLOCATION_IN_REVERSAL
- ACTIVITY_TYPE_ALLOCATION_OUT_REVERSAL
- ACTIVITY_TYPE_CONVERSION
- ACTIVITY_TYPE_PRINCIPAL_OUT
- ACTIVITY_TYPE_PRINCIPAL_IN
- ACTIVITY_TYPE_COLLATERAL_OUT
- ACTIVITY_TYPE_COLLATERAL_IN
- ACTIVITY_TYPE_INTEREST_OUT
- ACTIVITY_TYPE_INTEREST_IN
- ACTIVITY_TYPE_WEB3_MESSAGE
- ACTIVITY_TYPE_WEB3_TRANSACTION
- ACTIVITY_TYPE_WEB3_DEVICE_RECOVERY
- ACTIVITY_TYPE_WEB3_RECREATE_BACKUP
- ACTIVITY_TYPE_WEB3_ONBOARDING
coinbase.public_rest_api.AddressEntry:
type: object
properties:
name:
type: string
address:
type: string
chain_ids:
title: "List of compatible chain IDs for a given address, empty for Solana"
type: array
items:
type: string
coinbase.public_rest_api.AddressGroup:
type: object
properties:
id:
type: string
name:
type: string
network_type:
$ref: '#/components/schemas/coinbase.public_rest_api.NetworkType'
addresses:
title: A list of addresses within the group
type: array
items:
$ref: '#/components/schemas/coinbase.public_rest_api.AddressEntry'
added_at:
type: string
format: date-time
coinbase.public_rest_api.AdvancedTransfer:
type: object
properties:
id:
type: string
type:
$ref: '#/components/schemas/coinbase.public_rest_api.AdvancedTransferType'
state:
$ref: '#/components/schemas/coinbase.public_rest_api.AdvancedTransferState'
fund_movements:
type: array
items:
$ref: '#/components/schemas/coinbase.public_rest_api.FundMovement'
blind_match_metadata:
$ref: '#/components/schemas/coinbase.public_rest_api.BlindMatchMetadata'
description: AdvancedTransfer represents a complex transfer operation such as
a blind match settlement.
coinbase.public_rest_api.AdvancedTransferState:
type: string
description: AdvancedTransferState represents the lifecycle state of an advanced
transfer.
enum:
- ADVANCED_TRANSFER_STATE_CREATED
- ADVANCED_TRANSFER_STATE_PROCESSING
- ADVANCED_TRANSFER_STATE_DONE
- ADVANCED_TRANSFER_STATE_CANCELLED
- ADVANCED_TRANSFER_STATE_FAILED
- ADVANCED_TRANSFER_STATE_EXPIRED
coinbase.public_rest_api.AdvancedTransferType:
type: string
description: AdvancedTransferType specifies the type of advanced transfer.
enum:
- ADVANCED_TRANSFER_TYPE_BLIND_MATCH
coinbase.public_rest_api.AggregatedFiatBalance:
type: object
properties:
total:
type: string
holds:
type: string
coinbase.public_rest_api.Allocation:
type: object
properties:
root_id:
type: string
description: The ID that ties together an allocation and all of its legs.
reversal_id:
type: string
description: "The ID of the allocation if this allocation is a reversal.\
\ In this case, the root_id would be the original allocation ID."
allocation_completed_at:
type: string
description: Time the final leg of the root allocation was completed.
format: date-time
user_id:
type: string
description: The ID of the user that created the allocation.
product_id:
type: string
description: The ID of the product of the orders allocated.
side:
$ref: '#/components/schemas/coinbase.public_rest_api.OrderSide'
avg_price:
type: string
description: Price the allocation was done at.
base_quantity:
type: string
description: Amount allocated in base asset units.
quote_value:
type: string
description: Amount allocated in quote asset units.
fees_allocated:
type: string
description: Fees from original trade execution allocated in quote asset
units.
status:
$ref: '#/components/schemas/coinbase.public_rest_api.AllocationStatus'
source:
type: string
description: Portfolio ID of the source portfolio.
order_ids:
title: slice
type: array
description: "All order IDs that were aggregated to calculate the avg_price,\
\ quantity to allocate in each leg. Each order_id should tie back to the\
\ single allocation root_id."
items:
type: string
destinations:
type: array
description: "Array of objects, each containing the leg ID, destination\
\ portfolio ID and amount in chosen units allocated to each portfolio:\
\ [{leg_id, portfolio_id, allocation_base, allocation_quote}, {leg_id,\
\ portfolio_id, allocation_base, allocation_quote}...]"
items:
$ref: '#/components/schemas/coinbase.public_rest_api.DestinationAlloc'
netting_id:
type: string
description: "The netting ID of the allocation, not empty if the allocation\
\ was submitted as part of a net allocation"
coinbase.public_rest_api.AllocationLeg:
required:
- allocation_leg_id
- amount
- destination_portfolio_id
type: object
properties:
allocation_leg_id:
type: string
description: The ID of the portfolio of the allocation leg
destination_portfolio_id:
type: string
description: The ID of the destination portfolio of the allocation leg
amount:
type: string
description: The amount size for the allocation leg
coinbase.public_rest_api.AllocationSizeType:
type: string
enum:
- BASE
- QUOTE
- PERCENT
coinbase.public_rest_api.AllocationStatus:
type: string
default: ALLOCATION_STATUS_UNSPECIFIED
enum:
- ALLOCATION_STATUS_UNSPECIFIED
- ALLOCATION_STATUS_ALLOCATION_PENDING
- ALLOCATION_STATUS_ALLOCATION_ACCEPTED
- ALLOCATION_STATUS_ALLOCATION_ALLOCATED
- ALLOCATION_STATUS_ALLOCATION_REJECTED
coinbase.public_rest_api.AmountDue:
type: object
properties:
currency:
type: string
description: The currency this loan is due in
example: BTC
amount:
type: string
description: The amount due
example: "4000"
due_date:
type: string
description: "The date this settlement is due, expressed in UTC"
format: date-time
example: 2021-05-31T09:59:59Z
coinbase.public_rest_api.Asset:
type: object
properties:
name:
type: string
description: The name of the asset
example: Bitcoin
symbol:
type: string
description: The mutable series of letters used to identify the asset
example: BTC
decimal_precision:
type: string
description: The number of decimals supported for the asset
example: "8"
trading_supported:
type: boolean
description: Indicates whether this asset can be traded
example: true
explorer_url:
type: string
description: Base URL to our recommended block explorer (crypto only)
example: https://live.blockcypher.com/btc/
networks:
type: array
description: List of networks supported by this asset
items:
$ref: '#/components/schemas/coinbase.public_rest_api.NetworkDetails'
coinbase.public_rest_api.AssetBalance:
type: object
properties:
portfolio_id:
type: string
description: The unique ID of the portfolio
example: e8bbed13-fa33-41de-86d5-4335d8f08166
symbol:
type: string
description: The currency symbol
example: BTC
amount:
type: string
description: Balance amount
example: "4000"
notional_amount:
type: string
description: Notional balance amount
example: "4000"
conversion_rate:
type: string
description: Conversion rate
example: "1000"
coinbase.public_rest_api.AssetChange:
type: object
properties:
type:
$ref: '#/components/schemas/coinbase.public_rest_api.AssetChangeType'
symbol:
type: string
description: The currency symbol associated with the balance operation
example: ETH
amount:
type: string
description: The amount in whole units being transferred or approved
example: "100"
collection:
$ref: '#/components/schemas/coinbase.public_rest_api.NFTCollection'
item:
$ref: '#/components/schemas/coinbase.public_rest_api.NFTItem'
coinbase.public_rest_api.AssetChangeType:
title: AssetChangeType identifies the type of asset change
type: string
enum:
- BALANCE_TRANSFER
- BALANCE_APPROVAL
- ITEM_TRANSFER
- ITEM_APPROVAL
- ITEM_APPROVAL_ALL
coinbase.public_rest_api.Balance:
type: object
properties:
symbol:
type: string
description: The display symbol for the asset
example: BTC
amount:
type: string
description: The total amount in whole units with full precision. Includes
the `holds` amount.
example: "109.42"
holds:
type: string
description: Amount that is currently held in obligation to an open order's
position or a pending withdrawal
example: "2"
bonded_amount:
type: string
description: "Amount that is currently locked due to bonding/staking, potentially\
\ subject to an unbonding period, in whole units"
example: "109.42"
reserved_amount:
type: string
description: "Amount that must remain in the wallet due to the protocol,\
\ in whole units"
example: "109.42"
unbonding_amount:
type: string
description: "Amount that is in the process of unbonding, in whole units"
example: "109.42"
unvested_amount:
type: string
description: "Unrealized amount subject to a vesting schedule, in whole\
\ units"
example: "109.42"
pending_rewards_amount:
type: string
description: "Pending bonding/staking rewards that have not yet been realized,\
\ in whole units"
example: "109.42"
past_rewards_amount:
type: string
description: "Previously realized bonding/staking rewards, in whole units"
example: "109.42"
bondable_amount:
type: string
description: "Amount available for bonding/staking, in whole units"
example: "109.42"
withdrawable_amount:
type: string
description: "Amount available to withdraw, in whole units"
example: "109.42"
fiat_amount:
type: string
description: The total amount in fiat unit
example: "109.42"
unbondable_amount:
type: string
description: "Amount available for unbonding/unstaking, in whole units"
example: "109.42"
claimable_rewards_amount:
type: string
description: "ETH staking rewards currently available to claim, in whole\
\ units. This field is returned only in GetWalletBalance responses for\
\ ETH wallets. It is omitted or empty for portfolio-level responses and\
\ for non-ETH assets; use pending_rewards_amount where applicable."
example: "0.241437903"
coinbase.public_rest_api.Benchmark:
type: string
default: BENCHMARK_UNSET
enum:
- BENCHMARK_UNSET
- ZERO
- SOFR_360
- SOFR_365
- CRYPTO_RFR
coinbase.public_rest_api.BlindMatchMetadata:
type: object
properties:
reference_id:
type: string
settlement_date:
type: string
description: The intended time of Transfer settlement in YYYYMMDD format
trade_date:
type: string
description: Optional date of the original Trade in YYYYMMMDD format
settlement_time:
type: string
description: "Optional time of transfer settlement in HHMM format in UTC.\
\ If not provided, it defaults to 09:30 Eastern Time."
description: BlindMatchMetadata contains metadata specific to blind match advanced
transfers.
coinbase.public_rest_api.BlockchainAddress:
type: object
properties:
address:
title: The address
type: string
description: The address on the network
account_identifier:
title: |-
The destination value’s account_identifier (MEMO/DESTINATION TAG) value
for the withdrawal
type: string
description: The account identifier (used on some chains to distinguish
accounts using the same address)
network:
$ref: '#/components/schemas/coinbase.public_rest_api.Network'
coinbase.public_rest_api.BuyingPower:
type: object
properties:
portfolio_id:
type: string
description: The unique ID of the portfolio
example: e8bbed13-fa33-41de-86d5-4335d8f08166
base_currency:
type: string
description: The symbol for the base currency
example: BTC
quote_currency:
type: string
description: The symbol for the quote currency
example: USD
base_buying_power:
type: string
description: The buying power for the base currency
example: "3.8533347963443316"
quote_buying_power:
type: string
description: The buying power for the quote currency
example: "2051207.48454132"
coinbase.public_rest_api.CancelAdvancedTransferResponse:
type: object
properties:
advanced_transfer_id:
type: string
description: The ID of the canceled Advanced Transfer
description: CancelAdvancedTransferResponse is the response after canceling
an advanced transfer.
coinbase.public_rest_api.CancelFuturesSweepResponse:
type: object
properties:
success:
type: boolean
description: Success
example: true
request_id:
type: string
description: Request ID
example: 00000000-0000-0000-0000-000000000000
coinbase.public_rest_api.CancelOrderResponse:
type: object
properties:
id:
type: string
description: The unique UUID for the order
example: 82c879c1-84e1-44ed-a8c2-1ac239cf09ad
coinbase.public_rest_api.Candle:
title: Represents a single candle data point
type: object
properties:
timestamp:
title: Timestamp for the start of the candle period
type: string
format: date-time
open:
title: Opening price for the period
type: string
description: Opening price for the period
example: "50000.00"
high:
title: Highest price during the period
type: string
description: Highest price during the period
example: "51000.00"
low:
title: Lowest price during the period
type: string
description: Lowest price during the period
example: "49500.00"
close:
title: Closing price for the period
type: string
description: Closing price for the period
example: "50500.00"
volume:
title: Volume traded during the period
type: string
description: Volume traded during the period
example: "1234.56"
coinbase.public_rest_api.CandlesGranularity:
title: Enum for candle granularity (time intervals)
type: string
enum:
- ONE_MINUTE
- FIVE_MINUTES
- FIFTEEN_MINUTES
- ONE_HOUR
- SIX_HOURS
- ONE_DAY
- THIRTY_MINUTES
- TWO_HOURS
- FOUR_HOURS
coinbase.public_rest_api.ComboLeg:
type: object
properties:
product_id:
type: string
description: "The product identifier for the options instrument (e.g., \"\
BTC-28MAR25-50000-C\")."
quantity:
type: string
side:
$ref: '#/components/schemas/coinbase.public_rest_api.OrderSide'
description: ComboLeg describes a single leg within an options combo order.
coinbase.public_rest_api.Commission:
type: object
properties:
type:
type: string
description: Fee model (all_in or cost_plus)
rate:
type: string
description: Commission rate (in whole percentage. Commission of 15bps is
"0.0015")
trading_volume:
type: string
description: Average 30 days over past 3 months (e.g. 90 days divided by
3)
coinbase.public_rest_api.CommissionDetailTotal:
type: object
properties:
total_commission:
title: |-
Total commission amount charged for the order
This is the sum of all commission charged on the order
type: string
client_commission:
title: Client commission on the trade
type: string
description: CB fee
venue_commission:
title: Venue Commission
type: string
description: Exchange fees
ces_commission:
title: CES Commission
type: string
financing_commission:
title: Financing Commission
type: string
regulatory_commission:
title: Regulatory Commission
type: string
description: NFA fees
clearing_commission:
title: Clearing Commission
type: string
description: Clearing fees
coinbase.public_rest_api.ContractExpiryType:
title: ContractExpiryType represents the expiry type of a futures contract
type: string
description: |-
- CONTRACT_EXPIRY_TYPE_UNSPECIFIED: Unspecified contract expiry type
- CONTRACT_EXPIRY_TYPE_EXPIRING: Expiring futures contract
- CONTRACT_EXPIRY_TYPE_PERPETUAL: Perpetual futures contract (no expiry)
default: CONTRACT_EXPIRY_TYPE_UNSPECIFIED
enum:
- CONTRACT_EXPIRY_TYPE_UNSPECIFIED
- CONTRACT_EXPIRY_TYPE_EXPIRING
- CONTRACT_EXPIRY_TYPE_PERPETUAL
coinbase.public_rest_api.Conversion:
type: object
properties:
conversion_details:
type: array
description: Conversion details
items:
$ref: '#/components/schemas/coinbase.public_rest_api.ConversionDetail'
short_collateral:
$ref: '#/components/schemas/coinbase.public_rest_api.ShortCollateral'
conversion_datetime:
type: string
description: The UTC date time used for conversion
example: 2023-05-01T12:00:00Z
portfolio_id:
type: string
description: Portfolio Id
coinbase.public_rest_api.ConversionDetail:
type: object
properties:
symbol:
type: string
description: The currency symbol
example: BTC
tf_balance:
type: string
description: Trade finance balance after the conversion
example: "20000"
notional_tf_balance:
type: string
description: Notional trade finance balance after the conversion
example: "4000"
converted_balance:
type: string
description: Converted balance
example: "1000"
notional_converted_balance:
type: string
description: Notional converted balance
example: "1000"
interest_rate:
type: string
description: Interest rate
example: "0.1"
conversion_rate:
type: string
description: Conversion rate
example: "0.1"
coinbase.public_rest_api.Counterparty:
type: object
properties:
counterparty_id:
type: string
description: The unique counterparty ID for the portfolio
example: CB12345678
coinbase.public_rest_api.CounterpartyDestination:
title: Represents a destination for a counterparty payment
type: object
properties:
counterparty_id:
title: The counterparty ID to pay out
type: string
coinbase.public_rest_api.CreateAdvancedTransferResponse:
required:
- advanced_transfer
type: object
properties:
advanced_transfer:
$ref: '#/components/schemas/coinbase.public_rest_api.AdvancedTransfer'
description: CreateAdvancedTransferResponse is the response after creating an
advanced transfer.
coinbase.public_rest_api.CreateAllocationRequest:
type: object
properties:
allocation_id:
type: string
description: The ID of the allocation
source_portfolio_id:
type: string
description: The source portfolio id for the allocation
product_id:
type: string
description: The product for the allocation
order_ids:
type: array
description: The list of order ids in the allocation
items:
type: string
allocation_legs:
type: array
description: The list of allocation_legs for the allocation
items:
$ref: '#/components/schemas/coinbase.public_rest_api.AllocationLeg'
size_type:
$ref: '#/components/schemas/coinbase.public_rest_api.AllocationSizeType'
remainder_destination_portfolio:
type: string
description: The portfolio where to allocate the remainder of the size
netting_id:
type: string
description: The ID to identify an in-flight net allocation.
coinbase.public_rest_api.CreateAllocationResponse:
type: object
properties:
body:
$ref: '#/components/schemas/coinbase.public_rest_api.CreateAllocationResponseBody'
coinbase.public_rest_api.CreateAllocationResponseBody:
required:
- allocation_id
- failure_reason
- success
type: object
properties:
success:
type: boolean
description: The success boolean for the post allocation
allocation_id:
type: string
description: The allocation id for the post allocation
failure_reason:
type: string
description: The failure reason for the post allocation
coinbase.public_rest_api.CreateConversionResponse:
type: object
properties:
activity_id:
type: string
description: The activity ID for the conversion
example: e84255eb-2e21-439e-a1d0-f5dd1e1292b9
source_symbol:
type: string
description: The currency symbol to convert from
example: USD
destination_symbol:
type: string
description: The currency symbol to convert to
example: USDC
amount:
type: string
description: The amount in whole units to convert
example: "50.50"
destination:
type: string
description: The UUID of the destination wallet
example: e84255eb-2e21-439e-a1d0-f5dd1e1292b9
source:
type: string
description: The UUID of the source wallet
example: e84255eb-2e21-439e-a1d0-f5dd1e1292b9
transaction_id:
type: string
description: The UUID of the conversion transaction
example: e84255eb-2e21-439e-a1d0-f5dd1e1292b9
coinbase.public_rest_api.CreateCrossAssetWalletWithdrawalResponse:
type: object
properties:
activity_id:
type: string
description: The activity ID associated with the withdrawal (best-effort;
may be empty)
approval_url:
type: string
description: A URL to the activity in the Prime application (best-effort;
empty when activity_id is empty)
source_symbol:
type: string
description: The source currency symbol that was debited from the wallet
source_amount:
type: string
description: "The amount of source_symbol debited from the wallet, computed\
\ downstream based on the use case"
destination_symbol:
type: string
description: The destination currency symbol delivered to the destination
destination_amount:
type: string
description: The amount of destination_symbol delivered to the destination
blockchain_destination:
$ref: '#/components/schemas/coinbase.public_rest_api.BlockchainAddress'
transaction_id:
type: string
description: The id of the just created transaction
description: CreateCrossAssetWalletWithdrawalResponse is the response message
for the CreateCrossAssetWalletWithdrawal RPC.
coinbase.public_rest_api.CreateNetAllocationResponse:
type: object
properties:
body:
$ref: '#/components/schemas/coinbase.public_rest_api.CreateNetAllocationResponseBody'
coinbase.public_rest_api.CreateNetAllocationResponseBody:
required:
- buy_allocation_id
- failure_reason
- netting_id
- sell_allocation_id
- success
type: object
properties:
success:
type: boolean
description: The success boolean for the post net allocation
netting_id:
type: string
description: The netting_id for the post net allocation
buy_allocation_id:
type: string
description: The allocation id of the buy allocation in net allocation
sell_allocation_id:
type: string
description: The allocation id of the sell allocation in net allocation
failure_reason:
type: string
description: The failure reason for the post net allocation
coinbase.public_rest_api.CreateNewLocatesResponse:
type: object
properties:
locate_id:
type: string
coinbase.public_rest_api.CreateOnchainTransactionRequest.EvmParams:
type: object
properties:
disable_dynamic_gas:
type: boolean
description: Option to disable dynamic gas price adjustment for EVM transactions
prior to signing and broadcast. Defaults to false.
example: false
disable_dynamic_nonce:
type: boolean
description: Option to disable dynamic nonce when creating a transaction.
Defaults to false.
example: false
replaced_transaction_id:
type: string
description: "Transaction ID to replace (for speed-up/cancel operations).\
\ Common use cases: 1) Gas Price Adjustments: When a transaction is stuck\
\ due to low gas price, a new transaction with the same nonce but higher\
\ gas price can be submitted to replace it. 2) Transaction Cancellation:\
\ A user might want to cancel a pending transaction by replacing it with\
\ a new transaction (often a 0-value transfer to themselves with higher\
\ gas price). Note: When using this field, the disable_dynamic_nonce option\
\ must be set to false because the nonce would be automatically managed\
\ by the system."
example: 0bf7bf1e-bafa-4d7e-9312-fa0bf3b63f27
chain_id:
type: string
description: Chain ID for EVM transactions. (EVM-only)
example: "1"
network_name:
type: string
description: Network name for EVM transactions. (EVM-only)
example: Ethereum
coinbase.public_rest_api.CreateOnchainTransactionResponse:
type: object
properties:
transaction_id:
type: string
description: Unique identifier for the created transaction
example: 0bf7bf1e-bafa-4d7e-9312-fa0bf3b63f27
coinbase.public_rest_api.CreateOptionComboResponse:
type: object
properties:
combo_id:
title: combo id returned by deribit
type: string
coinbase.public_rest_api.CreateOrderResponse:
type: object
properties:
order_id:
type: string
description: The order ID generated by Coinbase
example: ba0eb21c-672b-44de-8342-d6363cef87f0
coinbase.public_rest_api.CreatePortfolioAddressBookEntryResponse:
required:
- activity_id
- activity_type
- num_approvals_remaining
type: object
properties:
activity_type:
$ref: '#/components/schemas/coinbase.custody.api.ActivityType'
num_approvals_remaining:
type: integer
format: int32
activity_id:
type: string
coinbase.public_rest_api.CreateWalletResponse:
type: object
properties:
activity_id:
title: The id of activity
type: string
name:
title: The name of the wallet
type: string
symbol:
title: The asset stored in the wallet
type: string
wallet_type:
$ref: '#/components/schemas/coinbase.public_rest_api.WalletType'
network_family:
$ref: '#/components/schemas/coinbase.public_rest_api.NetworkFamily'
coinbase.public_rest_api.CreateWalletTransferResponse:
type: object
properties:
activity_id:
type: string
description: The activity ID for the transfer
approval_url:
type: string
description: A URL to the activity associated with this transfer for approval
symbol:
type: string
description: The currency symbol of the transfer
amount:
type: string
description: The amount of the transfer
fee:
type: string
description: The network fee associated with the transfer
destination_address:
type: string
description: The destination address of the transfer
destination_type:
title: "NOTE\n\tIf Vault:\n\t\tdisplay vault name\n\tIf Trading\n\t\tdisplay\
\ trading name"
type: string
description: The destination type of the transfer
source_address:
type: string
description: The source address used for the transfer
source_type:
title: "NOTE\n\tIf Vault:\n\t\tdisplay vault name\n\tIf Trading\n\t\tdisplay\
\ trading name"
type: string
description: The source type used for the transfer
transaction_id:
type: string
description: The id of the just created transaction
coinbase.public_rest_api.CreateWalletWithdrawalResponse:
type: object
properties:
activity_id:
type: string
description: The activity ID associated with the withdrawal
approval_url:
type: string
description: A URL to the activity in the Prime application
symbol:
type: string
description: The currency symbol associated with the withdrawal
amount:
type: string
description: The amount of the withdrawal
fee:
type: string
description: The network fee associated with the withdrawal
destination_type:
title: The type of the end destination for the withdrawal
type: string
description: The destination type used for the withdrawal
source_type:
type: string
description: The source type used for the withdrawal
blockchain_destination:
$ref: '#/components/schemas/coinbase.public_rest_api.BlockchainAddress'
counterparty_destination:
$ref: '#/components/schemas/coinbase.public_rest_api.CounterpartyDestination'
blockchain_source:
$ref: '#/components/schemas/coinbase.public_rest_api.BlockchainAddress'
transaction_id:
type: string
description: The id of the just created transaction
coinbase.public_rest_api.CrossMarginOverview:
type: object
properties:
control_status:
$ref: '#/components/schemas/coinbase.public_rest_api.XMControlStatus'
call_status:
$ref: '#/components/schemas/coinbase.public_rest_api.XMEntityCallStatus'
margin_level:
$ref: '#/components/schemas/coinbase.public_rest_api.XMMarginLevel'
margin_summary:
$ref: '#/components/schemas/coinbase.public_rest_api.XMSummary'
active_margin_calls:
type: array
description: List of active XM margin calls
items:
$ref: '#/components/schemas/coinbase.public_rest_api.XMMarginCall'
active_loans:
type: array
description: List of active XM loans
items:
$ref: '#/components/schemas/coinbase.public_rest_api.XMLoan'
active_liquidation:
$ref: '#/components/schemas/coinbase.public_rest_api.ActiveLiquidationSummary'
coinbase.public_rest_api.CrossMarginPrimeDerivativesEquityBreakdown:
type: object
properties:
cash_balance:
type: string
description: Derivatives cash balance component.
example: "1000.00"
unrealized_pnl:
type: string
description: Unrealized PnL component of derivatives equity.
example: "-252.40"
realized_pnl:
type: string
description: Realized PnL component of derivatives equity.
example: "123.65"
accrued_funding_pnl:
type: string
description: Accrued funding PnL component of derivatives equity.
example: "-1.08"
description: Breakdown of the components of derivatives equity.
coinbase.public_rest_api.CrossMarginPrimeMarginSummary:
type: object
properties:
margin_requirement:
type: string
description: Cross Margin Margin Requirement (XMMR) notional.
example: "10362.72"
margin_requirement_type:
$ref: '#/components/schemas/coinbase.public_rest_api.PrimeXMMarginRequirementType'
account_equity:
type: string
description: Equity notional.
example: "-21542.63"
margin_excess_shortfall:
type: string
description: Equity - XMMR (margin excess is > 0).
example: "-31891.67"
consumed_credit:
type: string
description: Credit consumed from Cross Margin Credit Limit (XMCL).
example: "22906.34"
xm_credit_limit:
type: string
description: XM Credit Limit (XMCL) is the maximum notional USD of total
fiat and digital asset loans.
example: "1222322.00"
xm_margin_limit:
type: string
description: XM Margin Limit (XMML) is the maximum notional USD deficit.
example: "22123.00"
consumed_margin_limit:
type: string
description: Amount of the XM margin limit consumed by excess deficit.
example: "15000.00"
spot_equity:
type: string
description: Equity attributed by spot.
example: "-21505.91"
futures_equity:
type: string
description: Equity attributed by futures.
example: "-36.71"
gross_market_value:
type: string
description: Gross market value.
example: "160000.00"
net_market_value:
type: string
description: Net market value.
example: "45000.00"
net_exposure:
type: string
description: Net exposure.
example: "12000.00"
gross_leverage:
type: string
description: Gross leverage.
example: "2.35"
spot_equity_breakdown:
$ref: '#/components/schemas/coinbase.public_rest_api.CrossMarginPrimeSpotEquityBreakdown'
derivatives_equity_breakdown:
$ref: '#/components/schemas/coinbase.public_rest_api.CrossMarginPrimeDerivativesEquityBreakdown'
risk_netting_info:
$ref: '#/components/schemas/coinbase.public_rest_api.CrossMarginPrimeRiskNettingInfo'
health_status:
$ref: '#/components/schemas/coinbase.public_rest_api.PrimeXMHealthStatus'
equity_ratio:
type: string
description: Equity ratio.
example: "1.02"
deficit_ratio:
type: string
description: Deficit ratio.
example: "0.15"
margin_thresholds:
$ref: '#/components/schemas/coinbase.public_rest_api.PrimeXMMarginCallThresholds'
fcm_excess_available_to_return:
type: string
description: FCM excess available to return.
example: "5000.00"
description: Cross-margin account summary and nested breakdowns.
coinbase.public_rest_api.CrossMarginPrimeRiskNettingInfo:
type: object
properties:
dco_margin_requirement:
type: string
description: "Derivatives Clearing Organization Margin Requirement (DMR)\
\ is the margin requirement for all futures positions, derived from the\
\ Derivatives Clearing Organization model"
example: "9243.25"
portfolio_margin_requirement:
type: string
description: "Portfolio Margin Requirement (PMR) is the margin requirement\
\ for all spot positions, derived from the XM model"
example: "9003.67"
integrated_portfolio_margin_requirement:
type: string
description: Integrated Portfolio Margin Requirement (IPMR) is the margin
requirement for all spot positions + futures positions with underlying
assets eligible in Portfolio Margin.
example: "10154.67"
ineligible_futures_margin_requirement:
type: string
description: Ineligible Futures Margin Requirement (IFMR) is the margin
requirement for IPMR-ineligible futures contracts
example: "194.36"
pmr_breakdown:
$ref: '#/components/schemas/coinbase.public_rest_api.PrimeXMMarginRequirementBreakdown'
ipmr_breakdown:
$ref: '#/components/schemas/coinbase.public_rest_api.PrimeXMMarginRequirementBreakdown'
portfolio_margin_offset_credit_breakdown:
$ref: '#/components/schemas/coinbase.public_rest_api.PrimeXMOffsetCreditBreakdown'
integrated_portfolio_margin_offset_credit_breakdown:
$ref: '#/components/schemas/coinbase.public_rest_api.PrimeXMOffsetCreditBreakdown'
xm_positions:
type: array
description: Netted positions used in the model calculation.
items:
$ref: '#/components/schemas/coinbase.public_rest_api.CrossMarginPrimeXMPosition'
description: "Groups XM margin requirement components, offset credits, and per-asset\
\ rows."
coinbase.public_rest_api.CrossMarginPrimeSpotEquityBreakdown:
type: object
properties:
cash_balance:
type: string
description: PM cash balance component of spot equity.
example: "56166.60"
long_market_value:
type: string
description: Long market value component of spot equity.
example: "85268.31"
short_market_value:
type: string
description: Short market value component of spot equity.
example: "0.00"
short_collateral:
type: string
description: Short collateral component of spot equity.
example: "0.00"
pending_transfers:
type: string
description: Pending transfers affecting spot equity.
example: "15303.77"
description: Breakdown of the components of spot equity.
coinbase.public_rest_api.CrossMarginPrimeXMPosition:
type: object
properties:
currency:
type: string
description: Position currency
example: BTC
market_price:
type: string
description: Current market price
example: "114531.73"
spot_balance:
type: string
description: XM spot balance nominal
example: "-0.19652944"
spot_balance_notional:
type: string
description: XM spot balance notional
example: "-22508.85"
futures_balance:
type: string
description: XM futures balance nominal
example: "-0.19652944"
futures_balance_notional:
type: string
description: XM futures balance notional
example: "-22508.85"
base_requirement:
type: string
description: Base margin requirement notional
example: "8925.50"
total_position_margin:
type: string
description: Total margin required
example: "9100.00"
basis_credit:
type: string
description: Basis offset credit applied to this asset row.
example: "-5.25"
futures_netted_notional:
type: string
description: Post-netting USD notional for futures on this asset
example: "11510.00"
futures_netting_margin:
type: string
description: Margin attributed to futures netting for this asset row.
example: "120.00"
long_amount:
type: string
description: Per-asset long amount from position_summary.
example: "0.75539174"
short_amount:
type: string
description: Per-asset short amount from position_summary.
example: "0.95292118"
volatility_addon:
type: string
description: Volatility margin add-on for this asset.
example: "0.00"
liquidity_addon:
type: string
description: Liquidity margin add-on for this asset.
example: "0.49"
description: CrossMarginPrimeXMPosition is a single per-asset XM row (proto-backed
fields from XMPositionDetails).
coinbase.public_rest_api.CrossMarginRiskParameters:
type: object
properties:
asset_tier:
type: string
description: Asset tier identifier.
example: "0"
base_ratio_long:
type: string
description: Base ratio for long positions.
example: "0.3540"
base_ratio_short:
type: string
description: Base ratio for short positions.
example: "0.4051"
volatility_rate_long:
type: string
description: Volatility rate for long positions.
example: "0.0365"
volatility_rate_short:
type: string
description: Volatility rate for short positions.
example: "0.0484"
volatility_low_threshold:
type: string
description: Volatility low threshold.
example: "0.0385"
volatility_high_threshold:
type: string
description: Volatility high threshold.
example: "0.0777"
liquidity_a_long:
type: string
description: Liquidity A for long positions.
example: "0.132227"
liquidity_a_short:
type: string
description: Liquidity A for short positions.
example: "0.153226"
liquidity_b_short:
type: string
description: Liquidity B for short positions.
example: "0.634878"
liquidity_threshold:
type: string
description: Liquidity threshold.
example: "0.2395"
basis_offset_credit_rate:
type: string
description: Basis offset credit rate.
example: "0.92"
description: XM 2.0 risk parameters for an asset tier.
coinbase.public_rest_api.CustomStablecoinAsset:
title: Currency metadata of the custom stablecoin asset for the reward program
type: object
properties:
symbol:
type: string
description: "The asset symbol (e.g. USDC, USDF)"
coinbase.public_rest_api.CustomStablecoinRewardDetails:
title: Details for a custom stablecoin reward payout transaction
type: object
properties:
start_date:
type: string
description: ISO-formatted start date of the reward period (e.g. 2025-02-01T00:00:00Z)
end_date:
type: string
description: ISO-formatted end date of the reward period (e.g. 2025-02-28T00:00:00Z)
asset:
$ref: '#/components/schemas/coinbase.public_rest_api.CustomStablecoinAsset'
coinbase.public_rest_api.DefiBalance:
type: object
properties:
network:
title: Network this asset is on (ie "ethereum-mainnet")
type: string
protocol:
title: a set of rules and standards that define how data is exchanged (ie
"Aave V4 ")
type: string
net_usd_value:
title: Total USD value
type: string
coinbase.public_rest_api.DestinationAlloc:
type: object
properties:
leg_id:
type: string
description: The ID unique to each leg of an allocation.
portfolio_id:
type: string
description: Portfolio ID of the source portfolio.
allocation_base:
type: string
description: Amount allocated in base asset units.
allocation_quote:
type: string
description: Amount allocated in quote asset units.
fees_allocated_leg:
type: string
description: Pro rata fees for each leg. Adding up the fees for each leg
will sum up to equal the total allocation level fees.
coinbase.public_rest_api.DestinationType:
title: |-
- UNKNOWN_DESTINATION: nil value
- DESTINATION_PAYMENT_METHOD: A fiat bank account linked to a payment method id via Payment Method Service
- DESTINATION_BLOCKCHAIN: A blockchain network address
- DESTINATION_WALLET: An on platform wallet UUID
NOTE: this is not usable in the withdrawals endpoint
only transfers
- DESTINATION_COUNTERPARTY: Counterparty ID
type: string
enum:
- DESTINATION_PAYMENT_METHOD
- DESTINATION_BLOCKCHAIN
- DESTINATION_WALLET
- DESTINATION_COUNTERPARTY
coinbase.public_rest_api.DetailedAddress:
title: Detailed address information
type: object
properties:
address_1:
title: Primary address line
type: string
address_2:
title: Secondary address line (optional)
type: string
address_3:
title: Tertiary address line (optional)
type: string
city:
title: City name
type: string
state:
title: State or province
type: string
country_code:
title: ISO 3166-1 alpha-2 country code
type: string
postal_code:
title: Postal/ZIP code
type: string
coinbase.public_rest_api.EditOrderResponse:
type: object
properties:
order_id:
type: string
description: The ID of the order being edited
coinbase.public_rest_api.EntityBalance:
type: object
properties:
symbol:
type: string
description: The display symbol for the asset
example: BTC
long_amount:
type: string
description: The long balance
example: "109.42"
long_notional:
type: string
description: The long balance in notional value
example: "109.42"
short_amount:
type: string
description: The short balance
example: "109.42"
short_notional:
type: string
description: The short balance in notional value
example: "109.42"
coinbase.public_rest_api.EntityUser:
type: object
properties:
id:
type: string
description: The unique ID of the user
example: 54496de6-7cbd-4abb-8489-2675c4d1f8f7
name:
type: string
description: The name of the user
example: Frank Malone
email:
type: string
description: The email of the user
example: user@coinbase.com
entity_id:
type: string
description: The entity to which this user and associated permissions are
identified
example: 2c521d6c-1cfb-4371-bf9c-5a42938d3e75
role:
$ref: '#/components/schemas/coinbase.public_rest_api.UserRole'
roles:
type: array
description: All primary roles assigned to the user.
items:
$ref: '#/components/schemas/coinbase.public_rest_api.UserRole'
secondary_permissions:
type: array
description: All secondary permissions assigned to the user.
items:
$ref: '#/components/schemas/coinbase.public_rest_api.SecondaryPermission'
coinbase.public_rest_api.EstimateType:
type: string
default: UNSPECIFIED
enum:
- UNSPECIFIED
- LIVE
- INTERIM
coinbase.public_rest_api.EstimatedNetworkFees:
type: object
properties:
lower_bound:
type: string
description: Estimated lower bound for networks fees (in whole units)
example: "1.99"
upper_bound:
type: string
description: Estimated upper bound for network fees (in whole units)
example: "2.99"
coinbase.public_rest_api.ExistingLocate:
type: object
properties:
locate_id:
type: string
description: The locate ID
example: 9227410b-d2d2-4646-950d-df126601bf2a
entity_id:
type: string
description: The unique ID of the entity
example: e8bbed13-fa33-41de-86d5-4335d8f08166
portfolio_id:
type: string
description: The unique ID of the portfolio
example: e8bbed13-fa33-41de-86d5-4335d8f08166
symbol:
type: string
description: The currency symbol
example: BTC
requested_amount:
type: string
description: The requested locate amount
example: "5.22"
interest_rate:
type: string
description: The interest rate of PM loan
example: "0.05"
status:
type: string
description: The locate status
example: filled
approved_amount:
type: string
description: The approved locate amount
example: "2.5"
conversion_date:
type: string
description: "Deprecated: Use locate_date instead"
example: 2023-01-01T00:00:00Z
created_at:
type: string
description: The date when the locate was submitted in RFC3339 format
example: 2023-01-01T00:00:00Z
locate_date:
type: string
description: The locate date from the CreateNewLocatesRequest in RFC3339
format
example: 2023-01-01T00:00:00Z
coinbase.public_rest_api.ExpiringContractStatus:
title: ExpiringContractStatus filters expiring futures by their expiry status
type: string
description: |-
- EXPIRING_CONTRACT_STATUS_UNKNOWN: Unknown/unset — returns all expiring contracts (backward compatible default)
- EXPIRING_CONTRACT_STATUS_UNEXPIRED: Only unexpired contracts (contract_expiry is in the future)
- EXPIRING_CONTRACT_STATUS_EXPIRED: Only expired contracts (contract_expiry is in the past)
- EXPIRING_CONTRACT_STATUS_ALL: All contracts regardless of expiry status
enum:
- EXPIRING_CONTRACT_STATUS_UNEXPIRED
- EXPIRING_CONTRACT_STATUS_EXPIRED
- EXPIRING_CONTRACT_STATUS_ALL
coinbase.public_rest_api.FCMMarginCall:
type: object
properties:
type:
$ref: '#/components/schemas/coinbase.public_rest_api.FcmMarginCallType'
state:
$ref: '#/components/schemas/coinbase.public_rest_api.FcmMarginCallState'
initial_amount:
type: string
description: Initial margin call amount to settle
example: "1000.00"
remaining_amount:
type: string
description: Remaining margin call amount to settle
example: "500.00"
business_date:
type: string
description: Business date when the margin call was opened
format: date-time
example: 2021-01-01T00:00:00Z
cure_deadline:
type: string
description: The deadline by which the margin call must be satisfied
format: date-time
example: 2021-01-01T00:00:00Z
coinbase.public_rest_api.FcmFuturesSweep:
type: object
properties:
id:
type: string
description: Sweep ID
example: 00000000-0000-0000-0000-000000000000
requested_amount:
$ref: '#/components/schemas/coinbase.public_rest_api.FcmFuturesSweep.RequestAmount'
should_sweep_all:
type: boolean
description: Should sweep all
example: true
status:
$ref: '#/components/schemas/coinbase.public_rest_api.FcmFuturesSweepStatus'
scheduled_time:
type: string
description: Scheduled time
format: date-time
example: 2021-01-01T00:00:00Z
coinbase.public_rest_api.FcmFuturesSweep.RequestAmount:
type: object
properties:
currency:
type: string
description: Currency
example: USD
amount:
type: string
description: Amount
example: "1000.00"
coinbase.public_rest_api.FcmFuturesSweepStatus:
type: string
default: FCM_FUTURES_SWEEP_STATUS_UNSPECIFIED
enum:
- FCM_FUTURES_SWEEP_STATUS_UNSPECIFIED
- FCM_FUTURES_SWEEP_STATUS_PENDING
- FCM_FUTURES_SWEEP_STATUS_CLOSED
- FCM_FUTURES_SWEEP_STATUS_CANCELED
- FCM_FUTURES_SWEEP_STATUS_PROCESSING
coinbase.public_rest_api.FcmMarginCallState:
type: string
default: FCM_MARGIN_CALL_STATE_UNSPECIFIED
enum:
- FCM_MARGIN_CALL_STATE_UNSPECIFIED
- FCM_MARGIN_CALL_STATE_CLOSED
- FCM_MARGIN_CALL_STATE_ROLLED_OVER
- FCM_MARGIN_CALL_STATE_DEFAULT
- FCM_MARGIN_CALL_STATE_OFFICIAL
coinbase.public_rest_api.FcmMarginCallType:
type: string
default: FCM_MARGIN_CALL_TYPE_UNSPECIFIED
enum:
- FCM_MARGIN_CALL_TYPE_UNSPECIFIED
- FCM_MARGIN_CALL_TYPE_URGENT
- FCM_MARGIN_CALL_TYPE_REGULAR
coinbase.public_rest_api.FcmMarginHealthState:
type: string
description: |-
The margin health state of an FCM account.
- FCM_MARGIN_HEALTH_STATE_UNSPECIFIED: Unspecified margin health state.
- FCM_MARGIN_HEALTH_STATE_HEALTHY: Account margin is healthy.
- FCM_MARGIN_HEALTH_STATE_RESTRICTED: Account margin is restricted.
- FCM_MARGIN_HEALTH_STATE_PRE_LIQUIDATION: Account is approaching liquidation.
- FCM_MARGIN_HEALTH_STATE_LIQUIDATION: Account is in liquidation.
default: FCM_MARGIN_HEALTH_STATE_UNSPECIFIED
enum:
- FCM_MARGIN_HEALTH_STATE_UNSPECIFIED
- FCM_MARGIN_HEALTH_STATE_HEALTHY
- FCM_MARGIN_HEALTH_STATE_RESTRICTED
- FCM_MARGIN_HEALTH_STATE_PRE_LIQUIDATION
- FCM_MARGIN_HEALTH_STATE_LIQUIDATION
coinbase.public_rest_api.FcmPosition:
type: object
properties:
product_id:
type: string
description: Product ID
example: BTC-31JAN24-CDE
side:
$ref: '#/components/schemas/coinbase.public_rest_api.FcmPositionSide'
number_of_contracts:
type: string
description: Number of contracts
example: "10"
daily_realized_pnl:
type: string
description: Daily realized PNL
example: "10.12"
unrealized_pnl:
type: string
description: Unrealized PNL
example: "10.12"
current_price:
type: string
description: Current price of position
example: "10.12"
avg_entry_price:
type: string
description: Average entry price
example: "10.12"
expiration_time:
type: string
description: Expiration time of position
format: date-time
example: 2021-01-01T00:00:00Z
coinbase.public_rest_api.FcmPositionSide:
type: string
default: FCM_POSITION_SIDE_UNSPECIFIED
enum:
- FCM_POSITION_SIDE_UNSPECIFIED
- LONG
- SHORT
coinbase.public_rest_api.FcmScheduledMaintenance:
title: FcmScheduledMaintenance contains scheduled maintenance window information
type: object
properties:
start_time:
title: Maintenance window start time
type: string
description: Maintenance window start time
format: date-time
end_time:
title: Maintenance window end time
type: string
description: Maintenance window end time
format: date-time
coinbase.public_rest_api.FcmTradingSessionClosedReason:
title: FcmTradingSessionClosedReason represents the reason for FCM trading session
closure
type: string
description: |-
- FCM_TRADING_SESSION_CLOSED_REASON_UNDEFINED: Undefined closed reason
- FCM_TRADING_SESSION_CLOSED_REASON_REGULAR_MARKET_CLOSE: Regular market close
- FCM_TRADING_SESSION_CLOSED_REASON_EXCHANGE_MAINTENANCE: Exchange maintenance
- FCM_TRADING_SESSION_CLOSED_REASON_VENDOR_MAINTENANCE: Vendor maintenance
default: FCM_TRADING_SESSION_CLOSED_REASON_UNDEFINED
enum:
- FCM_TRADING_SESSION_CLOSED_REASON_UNDEFINED
- FCM_TRADING_SESSION_CLOSED_REASON_REGULAR_MARKET_CLOSE
- FCM_TRADING_SESSION_CLOSED_REASON_EXCHANGE_MAINTENANCE
- FCM_TRADING_SESSION_CLOSED_REASON_VENDOR_MAINTENANCE
coinbase.public_rest_api.FcmTradingSessionDetails:
title: FcmTradingSessionDetails contains trading session details for FCM products
type: object
properties:
session_open:
title: Whether the trading session is currently open
type: boolean
description: Whether the trading session is currently open
open_time:
title: Trading session open time
type: string
description: Trading session open time
format: date-time
close_time:
title: Trading session close time
type: string
description: Trading session close time
format: date-time
session_state:
$ref: '#/components/schemas/coinbase.public_rest_api.FcmTradingSessionState'
after_hours_order_entry_disabled:
title: Whether after-hours order entry is disabled
type: boolean
description: Whether after-hours order entry is disabled
closed_reason:
$ref: '#/components/schemas/coinbase.public_rest_api.FcmTradingSessionClosedReason'
maintenance:
$ref: '#/components/schemas/coinbase.public_rest_api.FcmScheduledMaintenance'
settlement_timestamp:
title: Settlement timestamp from previous trading day
type: string
description: Settlement timestamp from previous trading day
format: date-time
settlement_price:
title: Settlement price from previous trading day
type: string
description: Settlement price from previous trading day
coinbase.public_rest_api.FcmTradingSessionState:
title: FcmTradingSessionState represents the current state of an FCM trading
session
type: string
description: |-
- FCM_TRADING_SESSION_STATE_UNDEFINED: Undefined session state
- FCM_TRADING_SESSION_STATE_PRE_OPEN: Pre-open state, orders can be placed and cancelled
- FCM_TRADING_SESSION_STATE_PRE_OPEN_NO_CANCEL: Pre-open state, orders cannot be cancelled
- FCM_TRADING_SESSION_STATE_OPEN: Trading session is open
- FCM_TRADING_SESSION_STATE_CLOSE: Trading session is closed
- FCM_TRADING_SESSION_STATE_HALTED: Trading session is halted
default: FCM_TRADING_SESSION_STATE_UNDEFINED
enum:
- FCM_TRADING_SESSION_STATE_UNDEFINED
- FCM_TRADING_SESSION_STATE_PRE_OPEN
- FCM_TRADING_SESSION_STATE_PRE_OPEN_NO_CANCEL
- FCM_TRADING_SESSION_STATE_OPEN
- FCM_TRADING_SESSION_STATE_CLOSE
- FCM_TRADING_SESSION_STATE_HALTED
coinbase.public_rest_api.Fill:
type: object
properties:
id:
type: string
description: The unique ID of the fill
example: dc376e5b-84fa-4bdf-9f13-537b1bde8fc3
order_id:
type: string
description: The order ID of the fill
example: ba1115bc-7b3c-4b6b-ae38-585f3ab59271
product_id:
type: string
description: The product ID of the fill
example: BTC-USD
client_product_id:
type: string
description: The client product ID of the fill indictating the settlment
currency
example: BTC-USDC
side:
$ref: '#/components/schemas/coinbase.public_rest_api.OrderSide'
filled_quantity:
type: string
description: Filled size (in base asset units)
example: "100"
filled_value:
type: string
description: Filled value (in quote asset units)
example: "25"
price:
type: string
description: The price of the fill
example: "140.91"
time:
type: string
description: The date and time of the fill
format: date-time
example: 2021-05-31T11:59:59Z
commission:
type: string
description: The commission incurred for the fill
example: "5.55"
venue:
type: string
description: The name of the venue
example: Coinbase
venue_fees:
type: string
description: The venue fees incurred for the fill
example: "2.50"
ces_commission:
type: string
description: The CES commission incurred for the fill
example: "1.25"
product_type:
$ref: '#/components/schemas/coinbase.public_rest_api.ProductType'
commission_detail_total:
$ref: '#/components/schemas/coinbase.public_rest_api.CommissionDetailTotal'
coinbase.public_rest_api.FundMovement:
type: object
properties:
id:
type: string
source:
$ref: '#/components/schemas/coinbase.public_rest_api.TransferLocation'
target:
$ref: '#/components/schemas/coinbase.public_rest_api.TransferLocation'
currency:
type: string
amount:
type: string
description: FundMovement represents a single movement of funds between two
counterparties.
coinbase.public_rest_api.FutureProductDetails:
title: FutureProductDetails contains details specific to futures products
type: object
properties:
contract_code:
title: Contract code identifier
type: string
description: Contract code identifier
example: BTCH25
contract_size:
title: Contract size
type: string
description: Contract size
example: "1"
contract_expiry:
title: Contract expiry timestamp
type: string
description: Contract expiry timestamp
format: date-time
contract_root_unit:
title: Contract root unit (underlying asset)
type: string
description: Contract root unit (underlying asset)
example: BTC
contract_expiry_type:
$ref: '#/components/schemas/coinbase.public_rest_api.ContractExpiryType'
risk_managed_by:
$ref: '#/components/schemas/coinbase.public_rest_api.RiskManagementType'
venue:
title: "The venue this product trades on (e.g., cme, cde)"
type: string
description: The venue this product trades on
example: cde
group_description:
title: Descriptive name for the product group
type: string
description: Descriptive name for the product group
example: Nano Bitcoin
contract_expiry_timezone:
title: IANA time zone for contract expiration
type: string
description: IANA time zone for contract expiration
example: Europe/London
group_short_description:
title: Short version of the group description
type: string
description: Short version of the group description
example: Nano BTC
perpetual_details:
$ref: '#/components/schemas/coinbase.public_rest_api.PerpetualProductDetails'
coinbase.public_rest_api.GetActivityResponse:
required:
- activity
type: object
properties:
activity:
$ref: '#/components/schemas/coinbase.public_rest_api.Activity'
coinbase.public_rest_api.GetAllocationResponse:
type: object
properties:
allocation:
$ref: '#/components/schemas/coinbase.public_rest_api.Allocation'
coinbase.public_rest_api.GetAllocationsByClientNettingIdResponse:
type: object
properties:
allocations:
type: array
items:
$ref: '#/components/schemas/coinbase.public_rest_api.Allocation'
coinbase.public_rest_api.GetBuyingPowerResponse:
type: object
properties:
buying_power:
$ref: '#/components/schemas/coinbase.public_rest_api.BuyingPower'
coinbase.public_rest_api.GetCandlesResponse:
title: Candle response structure
type: object
properties:
candles:
type: array
items:
$ref: '#/components/schemas/coinbase.public_rest_api.Candle'
coinbase.public_rest_api.GetCrossMarginOverviewResponse:
type: object
properties:
overview:
$ref: '#/components/schemas/coinbase.public_rest_api.CrossMarginOverview'
coinbase.public_rest_api.GetCrossMarginPrimeOverviewResponse:
type: object
properties:
control_status:
$ref: '#/components/schemas/coinbase.public_rest_api.XMControlStatus'
margin_level:
$ref: '#/components/schemas/coinbase.public_rest_api.XMMarginLevel'
evaluated_at:
type: string
description: When margin metrics were evaluated.
format: date-time
example: 2023-11-07T05:31:56Z
margin_summary:
$ref: '#/components/schemas/coinbase.public_rest_api.CrossMarginPrimeMarginSummary'
coinbase.public_rest_api.GetCrossMarginRiskParametersResponse:
type: object
properties:
risk_parameters:
type: array
description: Current XM tier risk parameters for the entity's client tier.
items:
$ref: '#/components/schemas/coinbase.public_rest_api.CrossMarginRiskParameters'
offset_credit_matrix_long_short:
type: array
description: Offset credit rate matrix for long/short tier pairs.
items:
$ref: '#/components/schemas/coinbase.public_rest_api.TierPairRateEntry'
offset_credit_matrix_long_long:
type: array
description: Offset credit rate matrix for long/long tier pairs.
items:
$ref: '#/components/schemas/coinbase.public_rest_api.TierPairRateEntry'
offset_credit_matrix_short_short:
type: array
description: Offset credit rate matrix for short/short tier pairs.
items:
$ref: '#/components/schemas/coinbase.public_rest_api.TierPairRateEntry'
margin_period_of_risk:
type: number
description: Margin period of risk (number of days).
format: double
example: 5.0
coinbase.public_rest_api.GetEntityActivitiesResponse:
required:
- activities
- pagination
type: object
properties:
activities:
type: array
items:
$ref: '#/components/schemas/coinbase.public_rest_api.Activity'
pagination:
$ref: '#/components/schemas/coinbase.public_rest_api.PaginatedResponse'
coinbase.public_rest_api.GetEntityAssetsResponse:
type: object
properties:
assets:
title: List of assets
type: array
items:
$ref: '#/components/schemas/coinbase.public_rest_api.Asset'
coinbase.public_rest_api.GetEntityPaymentMethodDetailsResponse:
type: object
properties:
details:
$ref: '#/components/schemas/coinbase.public_rest_api.PaymentMethodDetails'
coinbase.public_rest_api.GetEntityPaymentMethodsResponse:
type: object
properties:
payment_methods:
type: array
items:
$ref: '#/components/schemas/coinbase.public_rest_api.PaymentMethodSummary'
coinbase.public_rest_api.GetEntityUsersResponse:
type: object
properties:
users:
type: array
description: The entity users.
items:
$ref: '#/components/schemas/coinbase.public_rest_api.EntityUser'
pagination:
$ref: '#/components/schemas/coinbase.public_rest_api.PaginatedResponse'
coinbase.public_rest_api.GetExistingLocatesResponse:
type: object
properties:
locates:
type: array
items:
$ref: '#/components/schemas/coinbase.public_rest_api.ExistingLocate'
coinbase.public_rest_api.GetFcmBalanceResponse:
type: object
properties:
portfolio_id:
type: string
description: Portfolio ID
example: 00000000-0000-0000-0000-000000000000
cfm_usd_balance:
type: string
description: CFM USD balance
example: "1000.00"
unrealized_pnl:
type: string
description: Unrealized PNL
example: "10.12"
daily_realized_pnl:
type: string
description: Daily realized PNL
example: "10.12"
excess_liquidity:
type: string
description: Excess liquidity
example: "10.12"
futures_buying_power:
type: string
description: Futures buying power
example: "10.12"
initial_margin:
type: string
description: Initial margin
example: "10.12"
maintenance_margin:
type: string
description: Maintenance margin
example: "10.12"
clearing_account_id:
type: string
description: Clearing account ID
example: CFS1234567
cfm_unsettled_accrued_funding_pnl:
type: string
description: Unsettled accrued funding PNL from the last settlement
example: "10.12"
coinbase.public_rest_api.GetFcmEquityResponse:
type: object
properties:
eod_account_equity:
type: string
description: Prior EOD account equity (ending balance + realized P&L + commissions/fees)
example: "10000.00"
eod_unrealized_pnl:
type: string
description: Prior EOD unrealized P&L on open futures positions
example: "100.00"
current_excess_deficit:
type: string
description: Current Derivatives Account Balance minus prior EOD margin
requirement. (Positive = excess; negative = deficit)
example: "1000.00"
available_to_sweep:
type: string
description: Excess funds in the Derivatives account available to transfer
("sweep") to the designated funding portfolio
example: "500.00"
coinbase.public_rest_api.GetFcmMarginCallDetailsResponse:
type: object
properties:
margin_calls:
type: array
description: List of margin calls
items:
$ref: '#/components/schemas/coinbase.public_rest_api.FCMMarginCall'
coinbase.public_rest_api.GetFcmRiskLimitsResponse:
type: object
properties:
cfm_risk_limit:
type: string
description: Risk Limit set for a client
example: "10000.00"
cfm_risk_limit_utilization:
type: string
description: Limit utilization calculated based on total margin and PnLs
example: "10000.00"
cfm_total_margin:
type: string
description: The total margin required for both positions and open orders
example: "1000.00"
cfm_delta_ote:
type: string
description: Open Trade Equity accrued during the current trading session
example: "100.00"
cfm_unsettled_realized_pnl:
type: string
description: Unsettled realized PNL for positions closed intraday
example: "10.12"
cfm_unsettled_accrued_funding_pnl:
type: string
description: Unsettled accrued funding PNL from the last settlement
example: "10.12"
margin_utilization_percent:
type: string
description: Margin utilization as a decimal percentage between 0 and 1
(e.g. 0.5 means 50%)
example: "0.50"
margin_health_state:
$ref: '#/components/schemas/coinbase.public_rest_api.FcmMarginHealthState'
coinbase.public_rest_api.GetFcmSettingsResponse:
type: object
properties:
target_derivatives_excess:
type: string
description: Target derivatives excess in the FCM
example: "1000.00"
coinbase.public_rest_api.GetFuturesSweepsResponse:
type: object
properties:
sweeps:
type: array
items:
$ref: '#/components/schemas/coinbase.public_rest_api.FcmFuturesSweep'
auto_sweep:
type: boolean
coinbase.public_rest_api.GetInterestAccrualsResponse:
type: object
properties:
total_notional_accrual:
type: string
accruals:
type: array
items:
$ref: '#/components/schemas/coinbase.public_rest_api.Accrual'
coinbase.public_rest_api.GetInvoicesResponse:
type: object
properties:
invoices:
type: array
items:
$ref: '#/components/schemas/coinbase.public_rest_api.Invoice'
coinbase.public_rest_api.GetLocateAvailabilitiesResponse:
type: object
properties:
locates:
type: array
items:
$ref: '#/components/schemas/coinbase.public_rest_api.Locate'
coinbase.public_rest_api.GetMarginConversionsResponse:
type: object
properties:
conversions:
type: array
items:
$ref: '#/components/schemas/coinbase.public_rest_api.Conversion'
coinbase.public_rest_api.GetMarginInformationResponse:
type: object
properties:
margin_information:
$ref: '#/components/schemas/coinbase.public_rest_api.MarginInformation'
coinbase.public_rest_api.GetMarginSummariesResponse:
type: object
properties:
margin_summaries:
type: array
items:
$ref: '#/components/schemas/coinbase.public_rest_api.MarginSummaryHistorical'
coinbase.public_rest_api.GetMarketDataResponse:
type: object
properties:
market_data:
type: array
description: List of market data entries
items:
$ref: '#/components/schemas/coinbase.public_rest_api.MarketData'
pagination:
$ref: '#/components/schemas/coinbase.public_rest_api.PaginatedResponse'
coinbase.public_rest_api.GetOpenOrdersResponse:
type: object
properties:
orders:
title: Requested orders
type: array
items:
$ref: '#/components/schemas/coinbase.public_rest_api.Order'
pagination:
$ref: '#/components/schemas/coinbase.public_rest_api.PaginatedResponse'
coinbase.public_rest_api.GetOrderEditHistoryResponse:
title: Order Edit History by Order ID and Portfolio ID
required:
- edit_history
- order_id
type: object
properties:
order_id:
title: The order ID
type: string
description: The order ID
order_edit_history:
title: "deprecated: use edit_history instead"
type: array
description: "The history of order edits (deprecated: use edit_history instead)"
items:
$ref: '#/components/schemas/coinbase.brokerage.proxy.events.materialized.api.LimitOrderEdit'
edit_history:
title: The list of edits to the order
type: array
description: The history of order edits
example:
- price: "100"
base_quantity: "1"
quote_value: "100"
display_base_size: "1.00"
display_quote_size: "1.00"
stop_price: "120"
expiry_time: 2021-05-31T10:59:59Z
accept_time: 2021-06-20T10:59:59Z
client_order_id: "123"
items:
$ref: '#/components/schemas/coinbase.public_rest_api.OrderEdit'
coinbase.public_rest_api.GetOrderFillsResponse:
type: object
properties:
fills:
title: Fills associated with the order
type: array
items:
$ref: '#/components/schemas/coinbase.public_rest_api.Fill'
pagination:
$ref: '#/components/schemas/coinbase.public_rest_api.PaginatedResponse'
coinbase.public_rest_api.GetOrderResponse:
type: object
properties:
order:
$ref: '#/components/schemas/coinbase.public_rest_api.Order'
coinbase.public_rest_api.GetOrdersResponse:
type: object
properties:
orders:
title: List of orders
type: array
items:
$ref: '#/components/schemas/coinbase.public_rest_api.Order'
pagination:
$ref: '#/components/schemas/coinbase.public_rest_api.PaginatedResponse'
coinbase.public_rest_api.GetPortfolioActivitiesResponse:
required:
- activities
- pagination
type: object
properties:
activities:
type: array
items:
$ref: '#/components/schemas/coinbase.public_rest_api.Activity'
pagination:
$ref: '#/components/schemas/coinbase.public_rest_api.PaginatedResponse'
coinbase.public_rest_api.GetPortfolioActivityResponse:
required:
- activity
type: object
properties:
activity:
$ref: '#/components/schemas/coinbase.public_rest_api.Activity'
coinbase.public_rest_api.GetPortfolioAddressBookResponse:
required:
- addresses
- pagination
type: object
properties:
addresses:
type: array
description: List of addresses added to Address Book
items:
$ref: '#/components/schemas/coinbase.custody.api.AddressBookEntry'
pagination:
$ref: '#/components/schemas/coinbase.public_rest_api.PaginatedResponse'
coinbase.public_rest_api.GetPortfolioAllocationsResponse:
type: object
properties:
allocations:
type: array
description: List of allocations.
items:
$ref: '#/components/schemas/coinbase.public_rest_api.Allocation'
pagination:
$ref: '#/components/schemas/coinbase.public_rest_api.PaginatedResponse'
coinbase.public_rest_api.GetPortfolioBalancesResponse:
type: object
properties:
balances:
type: array
description: A list of balances.
items:
$ref: '#/components/schemas/coinbase.public_rest_api.Balance'
type:
$ref: '#/components/schemas/coinbase.public_rest_api.PortfolioBalanceType'
trading_balances:
$ref: '#/components/schemas/coinbase.public_rest_api.AggregatedFiatBalance'
vault_balances:
$ref: '#/components/schemas/coinbase.public_rest_api.AggregatedFiatBalance'
prime_custody_balances:
$ref: '#/components/schemas/coinbase.public_rest_api.AggregatedFiatBalance'
coinbase.public_rest_api.GetPortfolioCommissionResponse:
type: object
properties:
commission:
$ref: '#/components/schemas/coinbase.public_rest_api.Commission'
coinbase.public_rest_api.GetPortfolioCounterpartyIDResponse:
type: object
properties:
counterparty:
$ref: '#/components/schemas/coinbase.public_rest_api.Counterparty'
coinbase.public_rest_api.GetPortfolioFillsResponse:
type: object
properties:
fills:
title: Fills associated with the portfolio
type: array
items:
$ref: '#/components/schemas/coinbase.public_rest_api.Fill'
pagination:
$ref: '#/components/schemas/coinbase.public_rest_api.PaginatedResponse'
coinbase.public_rest_api.GetPortfolioInterestAccrualsResponse:
type: object
properties:
total_notional_accrual:
type: string
accruals:
type: array
items:
$ref: '#/components/schemas/coinbase.public_rest_api.Accrual'
coinbase.public_rest_api.GetPortfolioProductsResponse:
type: object
properties:
products:
type: array
items:
$ref: '#/components/schemas/coinbase.public_rest_api.Product'
pagination:
$ref: '#/components/schemas/coinbase.public_rest_api.PaginatedResponse'
coinbase.public_rest_api.GetPortfolioResponse:
type: object
properties:
portfolio:
$ref: '#/components/schemas/coinbase.public_rest_api.Portfolio'
coinbase.public_rest_api.GetPortfolioTransactionsResponse:
type: object
properties:
transactions:
type: array
items:
$ref: '#/components/schemas/coinbase.public_rest_api.Transaction'
pagination:
$ref: '#/components/schemas/coinbase.public_rest_api.PaginatedResponse'
coinbase.public_rest_api.GetPortfolioUsersResponse:
type: object
properties:
users:
type: array
description: The portfolio users.
items:
$ref: '#/components/schemas/coinbase.public_rest_api.PortfolioUser'
pagination:
$ref: '#/components/schemas/coinbase.public_rest_api.PaginatedResponse'
coinbase.public_rest_api.GetPortfoliosResponse:
type: object
properties:
portfolios:
type: array
description: A list of portfolios.
items:
$ref: '#/components/schemas/coinbase.public_rest_api.Portfolio'
coinbase.public_rest_api.GetPositionsResponse:
type: object
properties:
positions:
type: array
items:
$ref: '#/components/schemas/coinbase.public_rest_api.FcmPosition'
clearing_account_id:
type: string
description: Clearing account ID
example: CFS1234567
coinbase.public_rest_api.GetPostTradeCreditResponse:
type: object
properties:
post_trade_credit:
$ref: '#/components/schemas/coinbase.public_rest_api.PostTradeCreditInformation'
coinbase.public_rest_api.GetStakingStatusResponse:
required:
- current_timestamp
- portfolio_id
- validators
- wallet_address
- wallet_id
type: object
properties:
portfolio_id:
type: string
description: The portfolio ID
wallet_id:
type: string
description: The wallet ID
wallet_address:
type: string
description: The wallet address
current_timestamp:
type: string
description: Current timestamp at time of API call
format: date-time
example: 2025-10-17T15:30:00Z
validators:
type: array
description: List of validators with staking information for this wallet
items:
$ref: '#/components/schemas/coinbase.public_rest_api.ValidatorStakingInfo'
coinbase.public_rest_api.GetTFTieredPricingFeesResponse:
type: object
properties:
fees:
type: array
items:
$ref: '#/components/schemas/coinbase.public_rest_api.TieredPricingFee'
coinbase.public_rest_api.GetTransactionResponse:
type: object
properties:
transaction:
$ref: '#/components/schemas/coinbase.public_rest_api.Transaction'
coinbase.public_rest_api.GetTransactionTravelRuleDataResponse:
title: Response containing fulfilled travel rule data for a transaction
required:
- fulfilled
type: object
properties:
fulfilled:
title: Whether data requirements are fulfilled
type: boolean
is_self:
title: Whether the transfer is to/from a self-owned wallet
type: boolean
originator:
$ref: '#/components/schemas/coinbase.public_rest_api.TravelRuleParty'
beneficiary:
$ref: '#/components/schemas/coinbase.public_rest_api.TravelRuleParty'
amount:
title: The crypto amount of the transaction (e.g. "1.23 BTC")
type: string
amount_currency:
title: The currency of the crypto amount
type: string
fiat_amount:
title: The fiat amount of the transaction (e.g. "123.45 USD")
type: string
fiat_amount_currency:
title: The currency of the fiat amount
type: string
blockchain_network:
title: The blockchain network for the transaction
type: string
coinbase.public_rest_api.GetUnstakingStatusResponse:
required:
- current_timestamp
- portfolio_id
- validators
- wallet_address
- wallet_id
type: object
properties:
portfolio_id:
type: string
description: The portfolio ID
wallet_id:
type: string
description: The wallet ID
wallet_address:
type: string
description: The wallet address
current_timestamp:
type: string
description: Current timestamp at time of API call
format: date-time
example: 2025-10-17T15:30:00Z
validators:
type: array
description: List of validators with unstaking information for this wallet
items:
$ref: '#/components/schemas/coinbase.public_rest_api.ValidatorUnstakingInfo'
coinbase.public_rest_api.GetWalletBalanceResponse:
type: object
properties:
balance:
$ref: '#/components/schemas/coinbase.public_rest_api.Balance'
coinbase.public_rest_api.GetWalletDepositInstructionsResponse:
type: object
properties:
crypto_instructions:
$ref: '#/components/schemas/coinbase.public_rest_api.WalletCryptoDepositInstructions'
fiat_instructions:
$ref: '#/components/schemas/coinbase.public_rest_api.WalletFiatDepositInstructions'
coinbase.public_rest_api.GetWalletResponse:
type: object
properties:
wallet:
$ref: '#/components/schemas/coinbase.public_rest_api.Wallet'
coinbase.public_rest_api.GetWalletTransactionsResponse:
type: object
properties:
transactions:
type: array
items:
$ref: '#/components/schemas/coinbase.public_rest_api.Transaction'
pagination:
$ref: '#/components/schemas/coinbase.public_rest_api.PaginatedResponse'
coinbase.public_rest_api.GetWalletsResponse:
type: object
properties:
wallets:
type: array
items:
$ref: '#/components/schemas/coinbase.public_rest_api.Wallet'
pagination:
$ref: '#/components/schemas/coinbase.public_rest_api.PaginatedResponse'
coinbase.public_rest_api.GetWithdrawalPowerResponse:
type: object
properties:
withdrawal_power:
$ref: '#/components/schemas/coinbase.public_rest_api.WithdrawalPower'
coinbase.public_rest_api.HierarchyType:
title: "HierarchyType are the enums for various hierarchies within Prime, ex\
\ Entity, Organization, Portfolio"
type: string
default: HIERARCHY_TYPE_UNSPECIFIED
enum:
- HIERARCHY_TYPE_UNSPECIFIED
- HIERARCHY_TYPE_PORTFOLIO
- HIERARCHY_TYPE_ENTITY
coinbase.public_rest_api.Invoice:
title: Invoice
type: object
properties:
id:
type: string
billing_month:
type: integer
format: int32
billing_year:
type: integer
format: int32
due_date:
type: string
invoice_number:
type: string
state:
$ref: '#/components/schemas/coinbase.public_rest_api.InvoiceState'
usd_amount_paid:
type: number
format: double
usd_amount_owed:
type: number
format: double
invoice_items:
type: array
items:
$ref: '#/components/schemas/coinbase.public_rest_api.InvoiceItem'
coinbase.public_rest_api.InvoiceItem:
title: Invoice item
type: object
properties:
description:
type: string
currency_symbol:
type: string
invoice_type:
$ref: '#/components/schemas/coinbase.public_rest_api.InvoiceType'
rate:
type: number
format: double
quantity:
type: number
format: double
price:
type: number
format: double
average_auc:
type: number
format: double
total:
type: number
format: double
coinbase.public_rest_api.InvoiceState:
title: States
type: string
default: INVOICE_STATE_UNSPECIFIED
enum:
- INVOICE_STATE_UNSPECIFIED
- INVOICE_STATE_IMPORTED
- INVOICE_STATE_BILLED
- INVOICE_STATE_PARTIALLY_PAID
- INVOICE_STATE_PAID
coinbase.public_rest_api.InvoiceType:
title: Types
type: string
default: INVOICE_TYPE_UNSPECIFIED
enum:
- INVOICE_TYPE_UNSPECIFIED
- INVOICE_TYPE_AUC_FEE
- INVOICE_TYPE_MINIMUM_FEE
- INVOICE_TYPE_WITHDRAWAL_FEE
- INVOICE_TYPE_NEW_WALLET_FEE
- INVOICE_TYPE_STAKING_FEE
coinbase.public_rest_api.ListAdvancedTransferTransactionsResponse:
required:
- transactions
type: object
properties:
transactions:
type: array
description: The transactions associated with an Advanced Transfer
items:
$ref: '#/components/schemas/coinbase.public_rest_api.Transaction'
description: ListAdvancedTransferTransactionsResponse contains the transactions
associated with an advanced transfer.
coinbase.public_rest_api.ListAdvancedTransfersResponse:
required:
- advanced_transfers
type: object
properties:
advanced_transfers:
type: array
items:
$ref: '#/components/schemas/coinbase.public_rest_api.AdvancedTransfer'
pagination:
$ref: '#/components/schemas/coinbase.public_rest_api.PaginatedResponse'
description: ListAdvancedTransfersResponse contains the list of advanced transfers
and pagination info.
coinbase.public_rest_api.ListAggregateEntityPositionsResponse:
required:
- pagination
- positions
type: object
properties:
positions:
type: array
items:
$ref: '#/components/schemas/coinbase.public_rest_api.Position'
pagination:
$ref: '#/components/schemas/coinbase.public_rest_api.PaginatedResponse'
coinbase.public_rest_api.ListEntityBalancesResponse:
required:
- balances
- pagination
type: object
properties:
balances:
type: array
items:
$ref: '#/components/schemas/coinbase.public_rest_api.EntityBalance'
pagination:
$ref: '#/components/schemas/coinbase.public_rest_api.PaginatedResponse'
coinbase.public_rest_api.ListEntityPositionsResponse:
required:
- pagination
- positions
type: object
properties:
positions:
type: array
items:
$ref: '#/components/schemas/coinbase.public_rest_api.Position'
pagination:
$ref: '#/components/schemas/coinbase.public_rest_api.PaginatedResponse'
coinbase.public_rest_api.ListFinancingEligibleAssetsResponse:
title: ListFinancingEligibleAssetsResponse contains the list of financing eligible
assets with their details
type: object
properties:
assets:
type: array
description: List of assets eligible for Trade Finance
items:
$ref: '#/components/schemas/coinbase.public_rest_api.TFAsset'
coinbase.public_rest_api.ListOnchainAddressGroupsResponse:
required:
- address_groups
type: object
properties:
address_groups:
type: array
items:
$ref: '#/components/schemas/coinbase.public_rest_api.AddressGroup'
coinbase.public_rest_api.ListTFObligationsResponse:
title: Response containing trade finance obligations for an entity
type: object
properties:
obligations:
type: array
description: The list of obligations (loans) for the entity.
items:
$ref: '#/components/schemas/coinbase.public_rest_api.TFObligation'
coinbase.public_rest_api.ListTransactionValidatorsResponse:
required:
- pagination
- transaction_validators
type: object
properties:
transaction_validators:
type: array
description: List of transaction-to-validator associations. Each entry represents
one transaction staking to one validator.
items:
$ref: '#/components/schemas/coinbase.public_rest_api.TransactionValidator'
pagination:
$ref: '#/components/schemas/coinbase.public_rest_api.PaginatedResponse'
coinbase.public_rest_api.ListWalletAddressesResponse:
required:
- addresses
- pagination
type: object
properties:
addresses:
title: Addresses
type: array
items:
$ref: '#/components/schemas/coinbase.public_rest_api.BlockchainAddress'
pagination:
$ref: '#/components/schemas/coinbase.public_rest_api.PaginatedResponse'
coinbase.public_rest_api.ListWeb3WalletBalancesResponse:
type: object
properties:
balances:
title: List of balances in the onchain wallet
type: array
items:
$ref: '#/components/schemas/coinbase.public_rest_api.Web3Balance'
pagination:
$ref: '#/components/schemas/coinbase.public_rest_api.PaginatedResponse'
defi_balances:
type: array
description: DeFi balances only return for the initial request. No pagination
support.
items:
$ref: '#/components/schemas/coinbase.public_rest_api.DefiBalance'
coinbase.public_rest_api.LoanInfo:
type: object
properties:
portfolio_id:
type: string
description: The unique ID of the portfolio
example: e8bbed13-fa33-41de-86d5-4335d8f08166
symbol:
type: string
description: The currency symbol
example: BTC
amount:
type: string
description: Balance amount
example: "150000"
notional_amount:
type: string
description: Notional balance amount
example: "250000"
due_date:
type: string
description: Settlement due date
example: "1000"
coinbase.public_rest_api.LoanType:
type: string
default: LOAN_TYPE_UNSET
enum:
- LOAN_TYPE_UNSET
- BILATERAL_LENDING
- TRADE_FINANCE
- PORTFOLIO_MARGIN
- SHORT_COLLATERAL_LOAN
- SHORT_COLLATERAL
- CROSS_MARGIN
coinbase.public_rest_api.Locate:
type: object
properties:
symbol:
type: string
description: The currency symbol
example: BTC
quantity:
type: string
description: The available quantity located
example: "100"
rate:
type: string
description: The interest rate for located symbol
example: "0.05"
coinbase.public_rest_api.MarginAddOn:
type: object
properties:
amount:
type: string
description: margin add on amount
add_on_type:
$ref: '#/components/schemas/coinbase.public_rest_api.MarginAddOnType'
coinbase.public_rest_api.MarginAddOnType:
type: string
default: MARGIN_ADD_ON_TYPE_UNSPECIFIED
enum:
- MARGIN_ADD_ON_TYPE_UNSPECIFIED
- SINGLE_COIN_STRESS
- CONCENTRATION_STRESS
- MACRO_STRESS
- SHORT_BIASED_STRESS
coinbase.public_rest_api.MarginCallRecord:
type: object
properties:
margin_call_id:
type: string
description: The unique ID of the margin call
example: e8bbed13-fa33-41de-86d5-4335d8f08122
initial_notional_amount:
type: string
description: The initial margin call amount in notional value
example: "123.45"
outstanding_notional_amount:
type: string
description: The outstanding margin call amount in notional value
example: "122.45"
created_at:
type: string
description: The time the margin call is created in RFC3330 format
example: 2023-01-01T00:00:00Z5
due_at:
type: string
description: The time the margin call is due in RFC3339 format
example: 2023-01-01T00:00:00Z
coinbase.public_rest_api.MarginInformation:
type: object
properties:
margin_call_records:
type: array
description: The current margin call records
items:
$ref: '#/components/schemas/coinbase.public_rest_api.MarginCallRecord'
margin_summary:
$ref: '#/components/schemas/coinbase.public_rest_api.MarginSummary'
coinbase.public_rest_api.MarginSummary:
type: object
properties:
entity_id:
type: string
description: The unique ID of the entity
example: e8bbed13-fa33-41de-86d5-4335d8f08166
margin_equity:
type: string
description: The margin equity at the entity level. Margin Equity = LMV
+ SMV + Trading Cash Balance + Short Collateral - Pending Withdrawals
example: "2539231.5903575355"
margin_requirement:
type: string
description: USD notional value of required equity in entity portfolios
example: "15131.725279884091"
excess_deficit:
type: string
description: margin_equity - margin_requirement
example: "2524099.865077651"
pm_credit_consumed:
type: string
description: The raw amount of portfolio margin credit used
example: "10000"
tf_credit_limit:
type: string
description: The maximum trade finance credit limit. This field is deprecated
and will be removed in the future.
example: "2000000"
tf_credit_consumed:
type: string
description: The amount of trade finance credit used (USD). This field is
deprecated and will be removed in the future.
example: "20000"
tf_adjusted_asset_value:
type: string
description: TF Asset Adjusted Value (USD). This field is deprecated and
will be removed in the future.
example: "40000"
tf_adjusted_liability_value:
type: string
description: TF Adjusted Liability Value (USD). This field is deprecated
and will be removed in the future.
example: "40000"
tf_adjusted_credit_consumed:
type: string
description: The amount of adjusted credit used. This field is deprecated
and will be removed in the future.
example: "30000"
tf_adjusted_equity:
type: string
description: The amount of adjusted equity. This field is deprecated and
will be removed in the future.
example: "30000"
frozen:
type: boolean
description: Whether or not a entity is frozen due to balance outstanding
or other reason
example: false
frozen_reason:
type: string
description: The reason why a entity is frozen
tf_enabled:
type: boolean
description: Whether TF is enabled for the entity. This field is deprecated
and will be removed in the future.
example: true
pm_enabled:
type: boolean
description: Whether PM is enabled for the entity
example: true
market_rates:
type: array
description: Market rates for the list of assets
items:
$ref: '#/components/schemas/coinbase.public_rest_api.MarketRate'
asset_balances:
type: array
description: Asset Balances across portfolios
items:
$ref: '#/components/schemas/coinbase.public_rest_api.AssetBalance'
tf_loans:
type: array
description: Trade finance debit loan amounts. This field is deprecated
and will be removed in the future.
items:
$ref: '#/components/schemas/coinbase.public_rest_api.LoanInfo'
pm_loans:
type: array
description: Portfolio Margin debit loan amounts
items:
$ref: '#/components/schemas/coinbase.public_rest_api.LoanInfo'
short_collateral:
type: array
description: Short collateral amounts
items:
$ref: '#/components/schemas/coinbase.public_rest_api.LoanInfo'
gross_market_value:
type: string
description: Gross market value (GMV) = LMV + Abs (SMV)
net_market_value:
type: string
description: Net Market Value (NMV) = LMV + SMV
long_market_value:
type: string
description: Long Market Value (LMV) = Sum of positive notional for all
assets
non_marginable_long_market_value:
type: string
description: "Non_Marginable LMV: Sum of positive notional for each non-margin\
\ eligible coin"
short_market_value:
type: string
description: Short Market Value (SMV) = Sum of negative notional for each
margin eligible coin
gross_leverage:
type: string
description: Gross Leverage = GMV / Margin Requirement
net_exposure:
type: string
description: Net Exposure = (LMV + SMV) / GMV
portfolio_stress_triggered:
$ref: '#/components/schemas/coinbase.public_rest_api.MarginAddOn'
pm_asset_info:
type: array
description: PM asset info netted across the entity
items:
$ref: '#/components/schemas/coinbase.public_rest_api.PMAssetInfo'
pm_credit_limit:
type: string
description: PM limit that monitors gross notional borrowings (crypto +
fiat)
example: "1000000"
pm_margin_limit:
type: string
description: PM limit that monitors excess deficit
example: "200000"
pm_margin_consumed:
type: string
description: The amount of the margin limit that is consumed by the excess
deficit
example: "5000"
coinbase.public_rest_api.MarginSummaryHistorical:
type: object
properties:
conversion_datetime:
type: string
description: The UTC date time used for conversion
example: 2023-05-01T12:00:00Z
conversion_date:
type: string
description: The date used for conversion
example: 2023-05-01
margin_summary:
$ref: '#/components/schemas/coinbase.public_rest_api.MarginSummary'
coinbase.public_rest_api.MarketData:
type: object
properties:
symbol:
type: string
description: "Base asset symbol (e.g., BTC, ETH, SOL)"
example: BTC
vol_5d:
type: string
description: "Daily historical volatility over trailing 5 days (decimal,\
\ e.g., 0.65 = 65%)"
example: "0.65"
vol_30d:
type: string
description: "Daily historical volatility over trailing 30 days (decimal,\
\ e.g., 0.65 = 65%)"
example: "0.65"
vol_90d:
type: string
description: "Daily historical volatility over trailing 90 days (decimal,\
\ e.g., 0.65 = 65%)"
example: "0.65"
adv_30d:
type: string
description: Average daily trading volume over trailing 30 days (USD)
example: "1234567.89"
weighted_vol:
type: string
description: Weighted blend of the most recent vol_5d and the max vol_5d
over last 30 days into a single volatility measure (decimal).
example: "0.0345"
coinbase.public_rest_api.MarketRate:
type: object
properties:
symbol:
type: string
description: The currency symbol
example: BTC
rate:
type: string
description: The current market rate of currency
example: "27,123"
coinbase.public_rest_api.MatchMetadata:
type: object
properties:
reference_id:
type: string
description: The reference id of the match
settlement_date:
type: string
description: The settlement date of the match
coinbase.public_rest_api.NFTCollection:
type: object
properties:
name:
type: string
description: NFT collection name
coinbase.public_rest_api.NFTItem:
type: object
properties:
name:
type: string
description: NFT item name
coinbase.public_rest_api.NaturalPersonName:
title: Natural person name components
type: object
properties:
first_name:
title: Given/first name
type: string
middle_name:
title: optional middle name (currently unused)
type: string
last_name:
title: Family/last name
type: string
coinbase.public_rest_api.Network:
type: object
properties:
id:
title: The name of the network
type: string
description: "The network id: base, bitcoin, ethereum, solana etc"
type:
title: The network type
type: string
description: "The network type: mainnet, testnet, etc"
coinbase.public_rest_api.NetworkDetails:
type: object
properties:
network:
$ref: '#/components/schemas/coinbase.public_rest_api.Network'
name:
type: string
description: The name of the network
example: Ethereum
max_decimals:
type: string
description: The maximum number of decimals supported for this network
example: "8"
default:
type: boolean
description: Indicates whether this network is the default network for the
asset
example: true
trading_supported:
type: boolean
description: Indicates whether this network supports trading
example: true
vault_supported:
type: boolean
description: Indicates whether this network supports vault
example: true
prime_custody_supported:
type: boolean
description: Indicates whether this network supports prime custody
example: true
destination_tag_required:
type: boolean
description: Indicates whether this network requires a destination tag
example: true
network_link:
type: string
description: Base URL to our recommended block explorer (crypto only)
example: https://live.blockcypher.com/btc/
network_scoped_symbol:
type: string
description: "Indicates the symbol that can be used to query other endpoints,\
\ related to transactions, wallets, and activities, to get information\
\ particularly for this asset on the network"
example: BASEUSDC
min_withdrawal_amount:
type: string
description: "The minimum withdrawal amount for this network. Applies to\
\ trading, prime custody, and vault wallets."
example: "0.001"
max_withdrawal_amount:
type: string
description: "The platform maximum withdrawal amount for this network. Applies\
\ to trading, prime custody, and vault wallets. Note that Prime Transfer\
\ policies may override this value."
example: "1000"
min_deposit_amount:
type: string
description: "The minimum deposit amount for this network. Applies to trading,\
\ prime custody, and vault wallets."
example: "0.001"
coinbase.public_rest_api.NetworkFamily:
type: string
default: NETWORK_FAMILY_UNSPECIFIED
enum:
- NETWORK_FAMILY_UNSPECIFIED
- NETWORK_FAMILY_EVM
- NETWORK_FAMILY_SOLANA
coinbase.public_rest_api.NetworkType:
type: string
default: NETWORK_TYPE_UNSPECIFIED
enum:
- NETWORK_TYPE_UNSPECIFIED
- NETWORK_TYPE_EVM
- NETWORK_TYPE_SOLANA
coinbase.public_rest_api.OnchainTransactionDetails:
type: object
properties:
signed_transaction:
type: string
description: The signed transaction data
example: 01ac1872bb2967df00124a7fd15e470a10aab04852e19fc6f...
risk_assessment:
$ref: '#/components/schemas/coinbase.public_rest_api.RiskAssessment'
chain_id:
type: string
description: The blockchain network chain ID. Will be empty for Solana transactions.
example: "1"
nonce:
type: string
description: The transaction nonce. Only present for EVM-based blockchain
transactions.
example: "42"
replaced_transaction_id:
type: string
description: The ID of the transaction that this transaction replaced
example: 123e4567-e89b-12d3-a456-426614174000
destination_address:
type: string
description: The destination address for the transaction
example: 0x742d35Cc6634C0532925a3b844Bc454e4438f44e
skip_broadcast:
type: boolean
description: "If set to true, the transaction will not be broadcast to the\
\ network. You can still retrieve the signed transaction from the GetTransaction\
\ endpoint by transaction ID once the transaction is created."
example: false
failure_reason:
type: string
description: Reason for transaction failure if applicable
example: insufficient_funds
signing_status:
$ref: '#/components/schemas/coinbase.public_rest_api.SigningStatus'
coinbase.public_rest_api.Order:
type: object
properties:
id:
type: string
description: The unique order ID generated by Coinbase
example: 82c879c1-84e1-44ed-a8c2-1ac239cf09ad
user_id:
type: string
description: The ID of the user that created the order
example: "42"
portfolio_id:
type: string
description: The ID of the portfolio that owns the order
example: 3e1fe27e-26fe-46d8-b118-c752a2ae6b47
product_id:
type: string
description: The ID of the product being traded by the order
example: BTC-USD
side:
$ref: '#/components/schemas/coinbase.public_rest_api.OrderSide'
client_order_id:
type: string
description: "A client-generated order ID used for reference purposes (note:\
\ order will be rejected if this ID is not unique among all currently\
\ active orders)"
example: f69a20b1-4ac4-420e-90b5-814a12565bfa
type:
$ref: '#/components/schemas/coinbase.public_rest_api.OrderType'
base_quantity:
type: string
description: Order size in base asset units (either `base_quantity` or `quote_value`
is required)
example: "50"
quote_value:
type: string
description: "Order size in quote asset units, i.e. the amount the user\
\ wants to spend (when buying) or receive (when selling); the quantity\
\ in base units will be determined based on the market liquidity and indicated\
\ `quote_value`. Either `base_quantity` or `quote_value` is required"
example: "100"
limit_price:
type: string
description: "The limit price (required for TWAP, VWAP, LIMIT and STOP_LIMIT\
\ orders)"
example: "50.12"
start_time:
type: string
description: "The start time of the order in UTC (only applies to TWAP,\
\ VWAP orders.)"
format: date-time
example: 2021-05-31T09:59:59Z
expiry_time:
type: string
description: "The expiry time of the order in UTC (applies to TWAP, VWAP,\
\ LIMIT, and STOP_LIMIT orders with `time_in_force` set to `GTD`)"
format: date-time
example: 2021-05-31T10:59:59Z
status:
$ref: '#/components/schemas/coinbase.public_rest_api.OrderStatus'
time_in_force:
$ref: '#/components/schemas/coinbase.public_rest_api.TimeInForceType'
created_at:
type: string
description: The order creation time as a UTC timestamp
format: date-time
example: 2021-05-31T10:59:59Z
filled_quantity:
type: string
description: Size filled (in base asset units)
example: "100"
filled_value:
type: string
description: Market value filled (in quote asset units)
example: "100"
average_filled_price:
type: string
description: Indicates the average `filled_price`
example: "50.19"
commission:
type: string
description: Total commission paid on this order (in quote asset units)
-- only applicable for partially- or fully-filled orders
example: "4.99"
exchange_fee:
type: string
description: Fee charged by the exchange for Cost Plus commission configurations.
Exchange fee will be 0 for All In commission configurations.
example: "2.50"
historical_pov:
type: string
description: historical pov for the order
example: "2.50"
stop_price:
type: string
description: Specifies the stop price at which the order activates. The
order is activated if the last trade price on Coinbase Exchange crosses
the stop price specified on the order
example: "50.12"
net_average_filled_price:
type: string
description: Indicates the average `filled_price` net of commissions and
fees
example: "57.68"
user_context:
type: string
description: Indicates a user friendly message for regarding various aspects
of the order such as cancellation or rejection reasons
example: User initiated cancellation
client_product_id:
type: string
description: The client product ID of the fill indictating the settlment
currency
example: BTC-USDC
post_only:
title: Post-only flag - indicates whether the order was placed as post-only
type: boolean
description: Post-only flag - indicates whether the order was placed as
post-only
example: true
order_edit_history:
title: "deprecated: use edit_history instead"
type: array
description: "The history of order edits (deprecated: use edit_history instead)"
items:
$ref: '#/components/schemas/coinbase.brokerage.proxy.events.materialized.api.LimitOrderEdit'
is_raise_exact:
type: boolean
description: Indicates if this was a raise exact order (size inclusive of
fees for sell orders in quote)
example: true
display_size:
type: string
description: Display size for the order
example: "10.5"
edit_history:
title: Order Edit History
type: array
description: The history of order edits
example:
- price: "100"
base_quantity: "1"
quote_value: "100"
display_base_size: "1.00"
display_quote_size: "1.00"
stop_price: "120"
expiry_time: 2021-05-31T10:59:59Z
accept_time: 2021-06-20T10:59:59Z
client_order_id: "123"
items:
$ref: '#/components/schemas/coinbase.public_rest_api.OrderEdit'
display_quote_size:
type: string
description: The maximum order size that will show up on venue order books
(in quote currency).
example: "100.50"
display_base_size:
type: string
description: The maximum order size that will show up on venue order books
(in base currency).
example: "10.5"
peg_offset_type:
title: PEG order specific fields
type: string
description: "The peg offset type for PEG orders (PRICE, BASIS_POINTS, or\
\ CUMULATIVE_DEPTH_IN_BASE_UNITS)"
example: PEG_OFFSET_TYPE_PRICE
offset:
type: string
description: The offset value for PEG orders
example: "100"
wig_level:
type: string
description: The wig (would if good) level for PEG orders - best price opposite
to limit_price
example: "100000"
product_type:
$ref: '#/components/schemas/coinbase.public_rest_api.ProductType'
commission_detail_total:
$ref: '#/components/schemas/coinbase.public_rest_api.CommissionDetailTotal'
coinbase.public_rest_api.OrderEdit:
type: object
properties:
price:
title: New price for the edited order
type: string
base_quantity:
title: "New base quantity for the edited order, populated if order is in\
\ base size"
type: string
quote_value:
title: "New quote value for the edited order, populated if order is in quote\
\ size"
type: string
display_base_size:
title: "Display base size for the edited order, populated if order is in\
\ base size"
type: string
display_quote_size:
title: "Display quote size for the edited order, populated if order is in\
\ quote size"
type: string
stop_price:
title: New stop price for the edited order
type: string
expiry_time:
title: New expiry/end time for the edited order
type: string
format: date-time
accept_time:
title: Time when the edit was accepted
type: string
format: date-time
client_order_id:
title: The new client order identifier that the order adopted after the
replacement was successfully accepted
type: string
coinbase.public_rest_api.OrderSide:
title: Order side
type: string
description: |-
- UNKNOWN_ORDER_SIDE: nil value
- BUY: Buy order
- SELL: Sell order
enum:
- BUY
- SELL
coinbase.public_rest_api.OrderStatus:
title: Indicates the order status
type: string
description: |-
- UNKNOWN_ORDER_STATUS: nil value
- OPEN: The order is open but unfilled
- FILLED: The order was filled
- CANCELLED: The order was cancelled
- EXPIRED: The order has expired
- FAILED: Order submission failed
- PENDING: The order has been sent but is not yet confirmed
enum:
- OPEN
- FILLED
- CANCELLED
- EXPIRED
- FAILED
- PENDING
coinbase.public_rest_api.OrderType:
title: Strategy (execution algorithm)
type: string
description: |-
- UNKNOWN_ORDER_TYPE: nil value
- MARKET: A [market order](https://en.wikipedia.org/wiki/Order_(exchange)#Market_order)
- LIMIT: A [limit order](https://en.wikipedia.org/wiki/Order_(exchange)#Limit_order)
- TWAP: A [time-weighted average price order](https://en.wikipedia.org/wiki/Time-weighted_average_price)
- BLOCK: A [block trade](https://en.wikipedia.org/wiki/Block_trade)
- VWAP: A [volume-weighted average price order](https://en.wikipedia.org/wiki/Volume-weighted_average_price)
- STOP_LIMIT: A [conditional order combined of stop order and limit order](https://en.wikipedia.org/wiki/Order_(exchange)#Stop-limit_order)
- RFQ: A [request for quote](https://en.wikipedia.org/wiki/Request_for_quote)
- PEG: A pegged order that dynamically adjust based on market conditions while maintaining execution discretion and avoiding adverse selection
enum:
- MARKET
- LIMIT
- TWAP
- BLOCK
- VWAP
- STOP_LIMIT
- RFQ
- PEG
coinbase.public_rest_api.PMAssetInfo:
type: object
properties:
symbol:
type: string
description: The currency symbol
amount:
type: string
description: Nominal amount of the currency
price:
type: string
description: Spot price for the currency
notional_amount:
type: string
description: Notional amount of the currency
asset_tier:
type: string
description: Asset tier of the currency
margin_eligible:
type: boolean
description: Whether the currency is margin eligible
base_margin_requirement:
type: string
description: Base margin requirement of the currency
base_margin_requirement_notional:
type: string
description: Notional amount of the currency's base margin requirement
adv_30d:
type: string
description: The 30d adv of the currency
hist_5d_vol:
type: string
description: Historic 5d volatility of the currency
hist_30d_vol:
type: string
description: Historic 30d volatility of the currency
hist_90d_vol:
type: string
description: Historic 90d volatility of the currency
volatility_addon:
type: string
description: Volatility margin addon of the currency position
liquidity_addon:
type: string
description: Liquidity margin addon of the currency position
total_position_margin:
type: string
description: Total position margin of the currency
short_nominal:
type: string
description: Nominal short position of the currency
long_nominal:
type: string
description: Nominal long position of the currency
coinbase.public_rest_api.PaginatedResponse:
required:
- has_next
- next_cursor
- sort_direction
type: object
properties:
next_cursor:
type: string
description: Cursor to navigate to next page
sort_direction:
$ref: '#/components/schemas/coinbase.public_rest_api.SortDirection'
has_next:
type: boolean
description: A boolean value indicating whether there are more items to
paginate through
coinbase.public_rest_api.PaymentMethodDestination:
type: object
properties:
payment_method_id:
title: The payment method id to pay out
type: string
coinbase.public_rest_api.PaymentMethodDetails:
type: object
properties:
id:
type: string
symbol:
type: string
payment_method_type:
$ref: '#/components/schemas/coinbase.public_rest_api.PaymentMethodType'
name:
type: string
account_number:
type: string
bank_code:
type: string
coinbase.public_rest_api.PaymentMethodSummary:
type: object
properties:
id:
type: string
symbol:
type: string
payment_method_type:
$ref: '#/components/schemas/coinbase.public_rest_api.PaymentMethodType'
bank_name:
type: string
account_number:
type: string
bank_name_2:
type: string
coinbase.public_rest_api.PaymentMethodType:
title: Indicates the payment method type
type: string
description: |-
- UNKNOWN_PAYMENT_METHOD_TYPE: nil value
- METHOD_WIRE: Wire transfer
- METHOD_SEN: Silvergate exchange network
- METHOD_SWIFT: Swift
enum:
- METHOD_WIRE
- METHOD_SEN
- METHOD_SWIFT
coinbase.public_rest_api.PegOffsetType:
title: Peg offset type for PEG orders
type: string
description: |-
- UNKNOWN_PEG_OFFSET_TYPE: nil value
- PEG_OFFSET_TYPE_PRICE: Offset specified in price units
- PEG_OFFSET_TYPE_BPS: Offset specified in basis points (BPS)
- PEG_OFFSET_TYPE_DEPTH: Offset specified in depth
enum:
- PEG_OFFSET_TYPE_PRICE
- PEG_OFFSET_TYPE_BPS
- PEG_OFFSET_TYPE_DEPTH
coinbase.public_rest_api.PerpetualProductDetails:
title: PerpetualProductDetails contains details specific to perpetual futures
products
type: object
properties:
open_interest:
title: Open interest for the perpetual product
type: string
description: Open interest
example: "1000000"
funding_rate:
title: Current funding rate
type: string
description: Current funding rate
example: "0.0001"
funding_time:
title: Next funding time
type: string
description: Next funding time
format: date-time
max_leverage:
title: Maximum leverage allowed
type: string
description: Maximum leverage allowed
example: "5"
underlying_type:
title: "Underlying type (e.g. SPOT, INDEX)"
type: string
description: The type of underlying for the perpetual product
example: SPOT
coinbase.public_rest_api.Portfolio:
type: object
properties:
id:
type: string
description: The unique ID of the portfolio
example: e8bbed13-fa33-41de-86d5-4335d8f08166
name:
type: string
description: The name of the portfolio
example: CryptoBalances
entity_id:
type: string
description: The ID of the entity to which the portfolio is associated
example: 2c521d6c-1cfb-4371-bf9c-5a42938d3e75
organization_id:
type: string
description: The ID of the organization to which the portfolio is associated
example: 4c1d4464-e53b-429f-a81d-71ae7e2e687c
entity_name:
type: string
description: The name of the entity to which the portfolio is associated
example: Sample Prime Entity
coinbase.public_rest_api.PortfolioBalanceType:
title: |-
- UNKNOWN_BALANCE_TYPE: nil
- TRADING_BALANCES: Trading balances
- VAULT_BALANCES: Vault balances
- TOTAL_BALANCES: Total balances (The sum of vault and trading + prime custody)
- PRIME_CUSTODY_BALANCES: Prime custody balances
- UNIFIED_TOTAL_BALANCES: Unified total balance across networks and wallet types (vault + trading + prime custody)
type: string
enum:
- TRADING_BALANCES
- VAULT_BALANCES
- TOTAL_BALANCES
- PRIME_CUSTODY_BALANCES
- UNIFIED_TOTAL_BALANCES
coinbase.public_rest_api.PortfolioStakingInitiateResponse:
type: object
properties:
activity_id:
type: string
description: The ID for the created activity
transaction_id:
type: string
description: The ID for the created transaction
coinbase.public_rest_api.PortfolioStakingMetadata:
type: object
properties:
external_id:
type: string
description: An optional custom identifier (up to 255 characters) to attach
to the transaction. This is not a searchable transaction field.
coinbase.public_rest_api.PortfolioStakingUnstakeResponse:
type: object
properties:
activity_id:
type: string
description: The ID for the created activity
transaction_id:
type: string
description: The ID for the created transaction
coinbase.public_rest_api.PortfolioUser:
type: object
properties:
id:
type: string
description: The unique ID of the user.
name:
type: string
description: The name of the user.
email:
type: string
description: The email of the user.
portfolio_id:
type: string
description: The portfolio to which this user and associated permissions
are identified.
entity_id:
type: string
description: The entity to which this user and associated permissions are
identified.
role:
$ref: '#/components/schemas/coinbase.public_rest_api.UserRole'
roles:
type: array
description: All primary roles assigned to the user.
items:
$ref: '#/components/schemas/coinbase.public_rest_api.UserRole'
secondary_permissions:
type: array
description: All secondary permissions assigned to the user.
items:
$ref: '#/components/schemas/coinbase.public_rest_api.SecondaryPermission'
coinbase.public_rest_api.Position:
type: object
properties:
symbol:
type: string
description: Asset symbol
example: BTC
long:
type: string
description: The long position based on 'reference' value
example: "10"
short:
type: string
description: The short position based on 'reference' value
example: "10"
position_reference:
$ref: '#/components/schemas/coinbase.public_rest_api.PositionReference'
coinbase.public_rest_api.PositionReference:
type: object
properties:
id:
type: string
description: Reference ID
example: e8bbed13-fa33-41de-86d5-4335d8f08166
type:
$ref: '#/components/schemas/coinbase.public_rest_api.PositionReferenceType'
coinbase.public_rest_api.PositionReferenceType:
type: string
default: POSITION_REFERENCE_TYPE_UNSPECIFIED
enum:
- POSITION_REFERENCE_TYPE_UNSPECIFIED
- ENTITY
- PORTFOLIO
coinbase.public_rest_api.PostOrderPreviewResponse:
type: object
properties:
portfolio_id:
type: string
description: The ID of the portfolio that owns the order
example: 3e1fe27e-26fe-46d8-b118-c752a2ae6b47
product_id:
type: string
description: The ID of the product being traded by the order
example: BTC-USD
side:
$ref: '#/components/schemas/coinbase.public_rest_api.OrderSide'
type:
$ref: '#/components/schemas/coinbase.public_rest_api.OrderType'
base_quantity:
type: string
description: Order size in base asset units (either `base_quantity` or `quote_value`
is required)
example: "50"
quote_value:
type: string
description: "Order size in quote asset units, i.e. the amount the user\
\ wants to spend (when buying) or receive (when selling); the quantity\
\ in base units will be determined based on the market liquidity and indicated\
\ `quote_value`. Either `base_quantity` or `quote_value` is required"
example: "100"
limit_price:
type: string
description: "The limit price (required for TWAP, VWAP, LIMIT, and STOP_LIMIT\
\ orders)"
example: "50.12"
start_time:
type: string
description: The start time of the order in UTC (only applies to TWAP orders.)
format: date-time
example: 2021-05-31T09:59:59Z
expiry_time:
type: string
description: "The expiry time of the order in UTC (TWAP, VWAP, LIMIT and\
\ STOP_LIMIT GTD only). Required for TWAP and VWAP orders if historical_pov\
\ is unspecified"
format: date-time
example: 2021-05-31T10:59:59Z
time_in_force:
$ref: '#/components/schemas/coinbase.public_rest_api.TimeInForceType'
commission:
type: string
description: Indicate the total commission paid on this order in quote currency
- only applicable if the order has any fills
example: "4.99"
slippage:
type: string
description: How much slippage is expected
example: "0.05"
best_bid:
type: string
description: Current best bid for order book
example: "10"
best_ask:
type: string
description: Current best ask for order book
example: "10"
average_filled_price:
type: string
description: Indicate expected average filled price based on the current
order book
example: "50.19"
order_total:
type: string
description: Order quantity + fees
example: "123"
historical_pov:
type: string
description: "The estimated participation rate for a TWAP/VWAP order. This\
\ field can be specified instead of expiry time, and will be used to compute\
\ the expiry time of the order based on historical participation rate."
example: "0.5"
is_raise_exact:
type: boolean
description: Raise Exact order flag
example: false
stop_price:
type: string
description: Stop price for the order
example: "50000.00"
display_size:
type: string
description: The maximum order size that will show up on venue order books.
example: "10.5"
display_quote_size:
type: string
description: The maximum order size that will show up on venue order books
(in quote currency).
example: "100.50"
display_base_size:
type: string
description: The maximum order size that will show up on venue order books
(in base currency).
example: "10.5"
coinbase.public_rest_api.PostTradeCreditInformation:
type: object
properties:
portfolio_id:
type: string
description: The unique ID of the portfolio
example: e8bbed13-fa33-41de-86d5-4335d8f08166
currency:
type: string
description: The currency symbol credit is denoted in
example: USD
limit:
type: string
description: The maximum credit limit
example: "100000"
utilized:
type: string
description: The amount of credit used
example: "4000"
available:
type: string
description: The amount of credit available
example: "96000"
frozen:
type: boolean
description: Whether or not a portfolio is frozen due to balance outstanding
or other reason
example: true
frozen_reason:
type: string
description: The reason why the portfolio is frozen
example: Portfolio frozen manually by admin
amounts_due:
type: array
items:
$ref: '#/components/schemas/coinbase.public_rest_api.AmountDue'
enabled:
type: boolean
description: Whether the portfolio has credit enabled
example: true
adjusted_credit_utilized:
type: string
description: The amount of adjusted credit used
example: "5000"
adjusted_portfolio_equity:
type: string
description: The amount of adjusted portfolio equity
example: "2000"
coinbase.public_rest_api.PreviewUnstakeResponse:
required:
- estimated_amount
type: object
properties:
estimated_amount:
type: string
description: Estimated amount that would be unstaked
wallet_id:
type: string
description: The wallet ID
wallet_address:
type: string
description: The blockchain address of the wallet
current_timestamp:
type: string
description: Timestamp at which this preview was generated (ISO 8601)
validators:
type: array
description: Per-validator breakdown of the unstake simulation
items:
$ref: '#/components/schemas/coinbase.public_rest_api.ValidatorUnstakePreview'
description: PreviewUnstakeResponse contains the response data from previewing
an unstaking operation.
coinbase.public_rest_api.PrimeXMHealthStatus:
type: string
description: |2-
- HEALTH_STATUS_HEALTHY: Margin level is healthy.
- HEALTH_STATUS_WARNING: Margin level is breaching the warning threshold (WT) which will result in the issuance of a Margin Call if this is still the case by the scheduled next Margin Call (as defined in the margin methodology). WT is differentiated from DT in that it means margin health is approaching the UMCT.
- HEALTH_STATUS_CRITICAL: Margin level is breaching the UMCT and, as defined in the margin methodology, this will trigger an urgent margin call.
- HEALTH_STATUS_SUSPENDED: Trading and withdrawals are suspended per XM margin methodology.
- HEALTH_STATUS_RESTRICTED: Account is in a restricted state per XM margin methodology.
- HEALTH_STATUS_PRE_LIQUIDATION: Margin level is breaching the liquidation threshold (LT) and, as defined in the margin methodology, this will trigger the SESSION_LOCKED control status and liquidation may commence.
- HEALTH_STATUS_LIQUIDATING: Liquidation has commenced.
- HEALTH_STATUS_IN_DEFICIT: Margin level is breaching the deficit threshold (DT) which will result in the issuance of a Margin Call if this is still the case by the scheduled next Margin Call time (as defined in the margin methodology).
enum:
- HEALTH_STATUS_HEALTHY
- HEALTH_STATUS_WARNING
- HEALTH_STATUS_CRITICAL
- HEALTH_STATUS_SUSPENDED
- HEALTH_STATUS_RESTRICTED
- HEALTH_STATUS_PRE_LIQUIDATION
- HEALTH_STATUS_LIQUIDATING
- HEALTH_STATUS_IN_DEFICIT
coinbase.public_rest_api.PrimeXMMarginCallThresholds:
type: object
properties:
deficit_threshold:
type: string
description: Deficit threshold (DT).
example: "0.8"
warning_threshold:
type: string
description: Warning threshold (WT).
example: "0.8"
critical_threshold:
type: string
description: Urgent margin call threshold (UMCT).
example: "1.0"
liquidation_threshold:
type: string
description: Liquidation threshold (LT).
example: "1.5"
margin_thresholds:
type: array
description: Structured margin thresholds by margin level.
items:
$ref: '#/components/schemas/coinbase.public_rest_api.PrimeXMMarginThreshold'
coinbase.public_rest_api.PrimeXMMarginRequirementBreakdown:
type: object
properties:
base_margin:
type: string
description: Base margin requirement component.
example: "30188.41"
volatility_addon:
type: string
description: Volatility add-on component.
example: "0.00"
liquidity_addon:
type: string
description: Liquidity add-on component.
example: "0.49"
offset_credit:
type: string
description: Credits that offset margin charges due to portfolio composition.
example: "-20.29"
futures_margin:
type: string
description: Futures margin charge applied for any futures trades of the
opposing direction but of the same underlying.
example: "0.00"
coinbase.public_rest_api.PrimeXMMarginRequirementType:
type: string
description: |2-
- MARGIN_REQUIREMENT_TYPE_DMR_PLUS_PMR: Integrated (netted) cross-margin requirement for spot assets and all derivatives contracts.
- MARGIN_REQUIREMENT_TYPE_IPMR_PLUS_IFMR: Combined cross-margin requirement: Integrated Portfolio Margin (IPMR) plus Ineligible Futures Margin (IFMR).
default: MARGIN_REQUIREMENT_TYPE_UNSPECIFIED
enum:
- MARGIN_REQUIREMENT_TYPE_UNSPECIFIED
- MARGIN_REQUIREMENT_TYPE_DMR_PLUS_PMR
- MARGIN_REQUIREMENT_TYPE_IPMR_PLUS_IFMR
coinbase.public_rest_api.PrimeXMMarginThreshold:
type: object
properties:
margin_level:
$ref: '#/components/schemas/coinbase.public_rest_api.XMMarginLevel'
threshold_type:
$ref: '#/components/schemas/coinbase.public_rest_api.PrimeXMMarginThresholdType'
threshold_value:
type: string
example: "0.8"
coinbase.public_rest_api.PrimeXMMarginThresholdType:
type: string
description: |2-
- MARGIN_THRESHOLD_EQUITY_RATIO: Threshold based on equity ratio EQ / MR; triggers when EQ / MR >= threshold_value.
- MARGIN_THRESHOLD_DEFICIT_RATIO: Threshold based on deficit ratio (MR - EQ) / XMML; triggers when (MR - EQ) / XMML > threshold_value.
default: MARGIN_THRESHOLD_TYPE_UNSPECIFIED
enum:
- MARGIN_THRESHOLD_TYPE_UNSPECIFIED
- MARGIN_THRESHOLD_EQUITY_RATIO
- MARGIN_THRESHOLD_DEFICIT_RATIO
- MARGIN_THRESHOLD_NONE
coinbase.public_rest_api.PrimeXMOffsetCreditBreakdown:
type: object
properties:
basis_credit:
type: string
description: Basis offset credit component.
example: "0"
long_short_credit:
type: string
description: Long/short tier-pair offset credit.
example: "0"
long_long_credit:
type: string
description: Long/long tier-pair offset credit.
example: "-1.15"
short_short_credit:
type: string
description: Short/short tier-pair offset credit.
example: "0"
same_tier_credit:
type: string
description: Same-tier offset credit.
example: "-19.13"
total_credit:
type: string
description: Total offset credit.
example: "-20.29"
coinbase.public_rest_api.ProcessRequirements:
title: Represents the status of various process requirements for a transaction
type: object
properties:
travel_rule_status:
$ref: '#/components/schemas/coinbase.public_rest_api.TravelRuleStatus'
coinbase.public_rest_api.Product:
type: object
properties:
id:
type: string
description: "The product ID, written as `BASE-QUOTE`"
example: BTC-USD
base_increment:
type: string
description: The smallest permitted unit of denomination for the base asset
(varies by product)
example: "1"
quote_increment:
type: string
description: The smallest permitted unit of denomination for the quote asset
(varies by product)
example: "1"
base_min_size:
type: string
description: The minimum size (in base asset units) for which an order can
be placed
example: "100"
quote_min_size:
type: string
description: The minimum size (in quote asset units) for which an order
can be placed
example: "100"
base_max_size:
type: string
description: The maximum size (in base asset units) for which an order can
be placed
example: "1000"
quote_max_size:
type: string
description: The maximum size (in quote asset units) for which an order
can be placed
example: "1000"
permissions:
title: Permissions for the product based on portfolio
type: array
description: Permissions given to the user for a product
example: PRODUCT_PERMISSION_READ
items:
$ref: '#/components/schemas/coinbase.public_rest_api.ProductPermissions'
price_increment:
type: string
description: The smallest permitted price increment for the product
example: "0.01"
rfq_product_details:
$ref: '#/components/schemas/coinbase.public_rest_api.RFQProductDetails'
product_type:
$ref: '#/components/schemas/coinbase.public_rest_api.ProductType'
fcm_trading_session_details:
$ref: '#/components/schemas/coinbase.public_rest_api.FcmTradingSessionDetails'
future_product_details:
$ref: '#/components/schemas/coinbase.public_rest_api.FutureProductDetails'
coinbase.public_rest_api.ProductPermissions:
type: string
enum:
- PRODUCT_PERMISSION_READ
- PRODUCT_PERMISSION_TRADE
- PRODUCT_PERMISSION_LENDING
coinbase.public_rest_api.ProductType:
title: ProductType represents the general type of product
type: string
description: |-
- UNKNOWN_PRODUCT_TYPE: Unknown product type
- SPOT: Spot product
- FUTURE: Future product
enum:
- SPOT
- FUTURE
coinbase.public_rest_api.QuoteResponse:
title: Copied from https://github.cbhq.net/institutional/trading/blob/3e6da61aceb64c7cbe6f0c0f8fbdb98fd3e868dc/proxy/trading/protos/coinbase/brokerage/proxy/trading/api/orderentry.proto#L366-L370
type: object
properties:
quote_id:
type: string
expiration_time:
type: string
format: date-time
best_price:
type: string
order_total:
title: total quote amount for previewing
type: string
price_inclusive_of_fees:
type: string
quote_duration_ms:
type: string
description: "Echo of the quote_duration_ms supplied in the request. 0 if\
\ the client did not supply a value, in which case the server applies\
\ the default of 3000 ms (3 seconds)."
format: int64
example: "5000"
coinbase.public_rest_api.RFQProductDetails:
type: object
properties:
tradable:
type: boolean
description: Whether the product is tradable via RFQ
min_notional_size:
type: string
description: "Deprecated: Value will be an empty string"
max_notional_size:
type: string
description: "Deprecated: Value will be an empty string"
min_base_size:
type: string
description: Minimum base size for RFQ
max_base_size:
type: string
description: Maximum base size for RFQ
min_quote_size:
type: string
description: Minimum quote size for RFQ
max_quote_size:
type: string
description: Maximum quote size for RFQ
coinbase.public_rest_api.RateType:
type: string
default: RATE_TYPE_UNSET
enum:
- RATE_TYPE_UNSET
- BPS
- APR_360
- APR_365
- APR
coinbase.public_rest_api.RewardMetadata:
type: object
properties:
subtype:
$ref: '#/components/schemas/coinbase.public_rest_api.RewardSubtype'
custom_stablecoin_reward_details:
$ref: '#/components/schemas/coinbase.public_rest_api.CustomStablecoinRewardDetails'
coinbase.public_rest_api.RewardSubtype:
title: Indicates the reward subtype
type: string
description: |-
- REWARD_SUBTYPE_UNKNOWN: An unknown reward subtype, reward subtype may not be supported in the API response yet
- MEV_REWARD: A maximal extractable value reward
i.e. sol mev rewards
- INFLATION_REWARD: An inflationary reward
i.e. solana inflationary rewards
- BLOCK_REWARD: A block reward
i.e. solana block rewards
- VALIDATOR_REWARD: A validator reward
i.e. ethereum validator (consensus layer) rewards
- TRANSACTION_REWARD: A transaction reward
i.e. ethereum transaction (execution layer) rewards
- STAKING_FEE_REBATE_REWARD: A staking fee rebate reward
i.e. coinbase pays rebates for staking fees to eligible delegators
- BUIDL_DIVIDEND: A BUIDL dividend reward
i.e. dividends from BUIDL fund holdings
- CUSTOM_STABLECOIN_REWARD: A custom stablecoin reward
i.e. USDC reward payouts
enum:
- MEV_REWARD
- INFLATION_REWARD
- BLOCK_REWARD
- VALIDATOR_REWARD
- TRANSACTION_REWARD
- STAKING_FEE_REBATE_REWARD
- BUIDL_DIVIDEND
- CUSTOM_STABLECOIN_REWARD
coinbase.public_rest_api.RiskAssessment:
title: New message for risk assessment details
type: object
properties:
compliance_risk_detected:
type: boolean
description: Indicates if the transaction has been flagged for compliance
concerns
example: false
security_risk_detected:
type: boolean
description: Indicates if the transaction has been flagged for security
concerns
example: false
coinbase.public_rest_api.RiskManagementType:
title: RiskManagementType represents how risk is managed for a product
type: string
description: |-
- RISK_MANAGEMENT_TYPE_UNSPECIFIED: Unspecified risk management type
- RISK_MANAGEMENT_TYPE_MANAGED_BY_FCM: Risk is managed by FCM (Futures Commission Merchant)
- RISK_MANAGEMENT_TYPE_MANAGED_BY_VENUE: Risk is managed by the venue
default: RISK_MANAGEMENT_TYPE_UNSPECIFIED
enum:
- RISK_MANAGEMENT_TYPE_UNSPECIFIED
- RISK_MANAGEMENT_TYPE_MANAGED_BY_FCM
- RISK_MANAGEMENT_TYPE_MANAGED_BY_VENUE
coinbase.public_rest_api.RpcConfig:
type: object
properties:
skip_broadcast:
type: boolean
description: "If true, transaction will not be broadcast to the network"
example: false
url:
type: string
description: Custom blockchain node RPC URL. (EVM-only)
example: https://rpc.flashbots.net/fast
coinbase.public_rest_api.ScheduleFuturesSweepResponse:
type: object
properties:
success:
type: boolean
description: Success
example: true
request_id:
type: string
description: Request ID
example: 00000000-0000-0000-0000-000000000000
coinbase.public_rest_api.SecondaryPermission:
title: Indicates the user's secondary permission
type: string
description: |-
- SECONDARY_PERMISSION_UNKNOWN: nil value
- VIDEO_APPROVER: A video approver
- TEAM_APPROVER: A team approver
- WEB3_SIGNER: A web3 signer
enum:
- VIDEO_APPROVER
- TEAM_APPROVER
- WEB3_SIGNER
coinbase.public_rest_api.SetAutoSweepResponse:
type: object
properties:
success:
type: boolean
description: Success
example: true
coinbase.public_rest_api.SetFcmSettingsResponse:
type: object
properties:
success:
type: boolean
description: Success
example: true
coinbase.public_rest_api.ShortCollateral:
type: object
properties:
old_balance:
type: string
description: Existing short collateral balance
example: "1000"
new_balance:
type: string
description: New short collateral balance required
example: "1000"
loan_interest_rate:
type: string
description: Loan interest rate
example: "0.1"
collateral_interest_rate:
type: string
description: Collateral interest rate
example: "0.1"
coinbase.public_rest_api.SigningStatus:
title: |-
- SIGNING_STATUS_UNKNOWN: Unknown signing status
- SIGNED: Transaction has been signed
- UNSIGNED: Transaction is unsigned
type: string
enum:
- SIGNED
- UNSIGNED
coinbase.public_rest_api.SortDirection:
type: string
default: DESC
enum:
- DESC
- ASC
coinbase.public_rest_api.StakeType:
type: string
default: STAKE_TYPE_UNSPECIFIED
enum:
- STAKE_TYPE_UNSPECIFIED
- STAKE_TYPE_INITIAL_DEPOSIT
- STAKE_TYPE_TOP_UP
coinbase.public_rest_api.StakingClaimRewardsResponse:
required:
- activity_id
- transaction_id
- wallet_id
type: object
properties:
wallet_id:
type: string
description: The wallet ID
transaction_id:
type: string
description: "ID of the newly created transaction, can be used to fetch\
\ details of the current state of execution"
activity_id:
type: string
description: The ID for the activity generated for this request
coinbase.public_rest_api.StakingInitiateResponse:
required:
- activity_id
- transaction_id
- wallet_id
type: object
properties:
wallet_id:
type: string
description: The wallet ID
transaction_id:
type: string
description: "ID of the newly created transaction, can be used to fetch\
\ details of the current state of execution"
activity_id:
type: string
description: The ID for the activity generated for this request
description: StakingInitiateResponse contains the response data from initiating
a staking operation.
coinbase.public_rest_api.StakingStatus:
required:
- amount
- estimated_hours_to_stake
- estimated_stake_date
- stake_type
type: object
properties:
amount:
type: string
description: "Amount being staked (whole amount, e.g., 16 ETH)"
example: "16"
stake_type:
$ref: '#/components/schemas/coinbase.public_rest_api.StakeType'
estimated_stake_date:
type: string
description: Estimated date when staking will complete (ISO 8601 format)
format: date-time
example: 2025-10-27T00:00:00Z
estimated_hours_to_stake:
type: integer
description: Estimated hours until this staking request completes
format: int64
example: 672
requested_at:
type: string
description: Timestamp when the stake request was originally created
format: date-time
example: 2025-09-29T12:00:00Z
coinbase.public_rest_api.StakingUnstakeResponse:
required:
- activity_id
- transaction_id
- wallet_id
type: object
properties:
wallet_id:
type: string
description: The wallet ID
transaction_id:
type: string
description: "ID of the newly created transaction, can be used to fetch\
\ details of the current state of execution"
activity_id:
type: string
description: The ID for the activity generated for this request
description: StakingUnstakeResponse contains the response data from initiating
an unstaking operation.
coinbase.public_rest_api.SubmitDepositTravelRuleDataResponse:
title: Response after submitting travel rule data for a deposit
required:
- ownership_verification_required
type: object
properties:
ownership_verification_required:
title: Whether additional ownership verification is required
type: boolean
coinbase.public_rest_api.TFAsset:
title: TFAsset represents an asset eligible for Trade Finance with adjustment
factors
type: object
properties:
symbol:
type: string
description: The asset symbol
example: BTC
asset_adjustment:
type: string
description: The asset adjustment factor for Trade Finance
example: "0.85"
liability_adjustment:
type: string
description: The liability adjustment factor for Trade Finance
example: "1.15"
coinbase.public_rest_api.TFObligation:
title: Trade finance obligation information
type: object
properties:
portfolio_id:
type: string
description: The unique ID of the portfolio
example: e8bbed13-fa33-41de-86d5-4335d8f08166
symbol:
type: string
description: The currency symbol
example: BTC
amount_due:
type: string
description: Current amount due
example: "150000"
notional_amount:
type: string
description: Loan notional amount
example: "250000"
due_date:
type: string
description: Settlement due date
example: "1000"
coinbase.public_rest_api.TierPairRateEntry:
type: object
properties:
tier_a:
type: string
description: First tier in the pair.
example: "0"
tier_b:
type: string
description: Second tier in the pair.
example: "0"
rate:
type: string
description: Credit rate for this tier pair.
example: "0.4579"
description: "TierPairRateEntry represents a single (tier_a, tier_b) -> rate\
\ entry in an offset credit matrix."
coinbase.public_rest_api.TieredPricingFee:
type: object
properties:
symbol:
type: string
description: Asset symbol
example: BTC
fee:
type: string
description: The fee in bps
example: "4"
coinbase.public_rest_api.TimeInForceType:
title: Indicates the order time validity
type: string
description: |-
- UNKNOWN_TIME_IN_FORCE: nil value
- GOOD_UNTIL_DATE_TIME: Expires at a certain date/time
- GOOD_UNTIL_CANCELLED: Order stays on the books until cancelled
- IMMEDIATE_OR_CANCEL: Order is executed immediately at submission or is cancelled
- FILL_OR_KILL: Order is executed immediately and fully at submission or is cancelled
enum:
- GOOD_UNTIL_DATE_TIME
- GOOD_UNTIL_CANCELLED
- IMMEDIATE_OR_CANCEL
- FILL_OR_KILL
coinbase.public_rest_api.Transaction:
type: object
properties:
id:
type: string
description: The ID of the transaction
example: BTC-USD
wallet_id:
type: string
description: The wallet ID of the transaction
example: cde8dd34-b6cf-4c2c-82bc-5f86adacc868
portfolio_id:
type: string
description: The portfolio ID of the transaction
example: 0a66a8c0-24ea-4f18-b14f-8c9cf7c1ba40
type:
$ref: '#/components/schemas/coinbase.public_rest_api.TransactionType'
status:
$ref: '#/components/schemas/coinbase.public_rest_api.TransactionStatus'
symbol:
type: string
description: The asset symbol
example: BTC
created_at:
type: string
description: The transaction creation time (as a UTC timestamp)
format: date-time
example: 2021-05-31T11:59:59Z
completed_at:
type: string
description: The transaction completion time (as a UTC timestamp)
format: date-time
example: 2021-05-31T12:09:31Z
amount:
type: string
description: The transaction amount in whole units
example: "100"
transfer_from:
$ref: '#/components/schemas/coinbase.public_rest_api.TransferLocation'
transfer_to:
$ref: '#/components/schemas/coinbase.public_rest_api.TransferLocation'
network_fees:
type: string
description: The blockchain network fees (in whole units) required in order
to broadcast the transaction
example: "1.99"
fees:
type: string
description: The fees that the customer paid for the transaction (in whole
units)
example: "4.53"
fee_symbol:
type: string
description: The asset in which fees will be paid
example: USD
blockchain_ids:
type: array
description: The cryptocurrency network transaction hashes/IDs generated
upon broadcast
example:
- 0x9adce14b8e03705ac342388ac35cd94ae4da74eaed33bbdc8c9aba01f9a3aec0
items:
type: string
transaction_id:
type: string
description: The 8 character alphanumeric short form id for the transaction
example: A1B2C3D4
destination_symbol:
type: string
description: The destination asset symbol
example: USD
estimated_network_fees:
$ref: '#/components/schemas/coinbase.public_rest_api.EstimatedNetworkFees'
network:
type: string
description: The network name specific to web3/onchain wallet transactions
example: ethereum-mainnet
estimated_asset_changes:
type: array
description: The estimated asset changes (web3)
items:
$ref: '#/components/schemas/coinbase.public_rest_api.AssetChange'
metadata:
$ref: '#/components/schemas/coinbase.public_rest_api.TransactionMetadata'
idempotency_key:
type: string
description: The idempotency key associated with the transaction creation
request
onchain_details:
$ref: '#/components/schemas/coinbase.public_rest_api.OnchainTransactionDetails'
network_info:
$ref: '#/components/schemas/coinbase.public_rest_api.Network'
process_requirements:
$ref: '#/components/schemas/coinbase.public_rest_api.ProcessRequirements'
coinbase.public_rest_api.TransactionMetadata:
type: object
properties:
match_metadata:
$ref: '#/components/schemas/coinbase.public_rest_api.MatchMetadata'
web3_transaction_metadata:
$ref: '#/components/schemas/coinbase.public_rest_api.Web3TransactionMetadata'
reward_metadata:
$ref: '#/components/schemas/coinbase.public_rest_api.RewardMetadata'
coinbase.public_rest_api.TransactionStatus:
title: Indicates the transaction status
type: string
description: |-
- UNKNOWN_TRANSACTION_STATUS: An Unknown Transaction status
- TRANSACTION_CREATED: The Transaction has been created and is awaiting Consensus approval
This is a non-terminal status
- TRANSACTION_REQUESTED: The Transaction has reached User Consensus and is awaiting Coinbase Prime approval
This is a non-terminal status
- TRANSACTION_APPROVED: The Transaction has been authorized by Coinbase Prime
This is a non-terminal status
- TRANSACTION_GASSING: The transaction is awaiting blockchain resources for broadcast
This is a non-terminal status
- TRANSACTION_GASSED: The transaction has received blockchain resources for broadcasting
This is a non-terminal status
- TRANSACTION_PROVISIONED: The transaction has been provisioned and is awaiting planning
This is a non-terminal status
- TRANSACTION_PLANNED: The transaction has been constructed.
This is a non-terminal status
- TRANSACTION_PROCESSING: The transaction is currently processing and awaiting finalization
This is a non-terminal status
- TRANSACTION_RESTORED: The transaction has been broadcasted to the network.
This is a non-terminal status
- TRANSACTION_DONE: The transaction has confirmed on-chain and finished.
This is a terminal status
- TRANSACTION_IMPORT_PENDING: The transaction deposit has been detected and is awaiting finalization.
This is a non-terminal status
- TRANSACTION_IMPORTED: The transaction deposit and reward has been detected.
This is a terminal status
- TRANSACTION_CANCELLED: The transaction has been cancelled
This is a terminal status
- TRANSACTION_REJECTED: The transaction was rejected before construction and broadcasting.
This is a terminal status
- TRANSACTION_DELAYED: The transaction s taking longer than expected to confirm on-chain.
This is a non-terminal status
- TRANSACTION_RETRIED: The transaction has been recreated and retried, this occurs when network congestion results in transfers becoming extremely delayed due to insufficient fees or network resources such as CPU, RAM, or NET
This is a terminal status
- TRANSACTION_FAILED: The transaction failed on-chain (the fee was spent but the operation failed).
This is a terminal status
- TRANSACTION_EXPIRED: The transaction has expired.
This is a terminal status
- TRANSACTION_BROADCASTING: The transaction is currently broadcasting to the cryptocurrency network.
This is a non-terminal status
- OTHER_TRANSACTION_STATUS: The transaction has reached an OTHER status.
This is a non-terminal status
- TRANSACTION_CONSTRUCTED: The transaction bctx is constructed but not yet broadcasting on chain
This is a non-terminal status
enum:
- TRANSACTION_CREATED
- TRANSACTION_REQUESTED
- TRANSACTION_APPROVED
- TRANSACTION_GASSING
- TRANSACTION_GASSED
- TRANSACTION_PROVISIONED
- TRANSACTION_PLANNED
- TRANSACTION_PROCESSING
- TRANSACTION_RESTORED
- TRANSACTION_DONE
- TRANSACTION_IMPORT_PENDING
- TRANSACTION_IMPORTED
- TRANSACTION_CANCELLED
- TRANSACTION_REJECTED
- TRANSACTION_DELAYED
- TRANSACTION_RETRIED
- TRANSACTION_FAILED
- TRANSACTION_EXPIRED
- TRANSACTION_BROADCASTING
- OTHER_TRANSACTION_STATUS
- TRANSACTION_CONSTRUCTED
coinbase.public_rest_api.TransactionType:
title: Indicates the transaction type
type: string
description: |-
- TRANSACTION_TYPE_UNKNOWN: An unknown transaction type
- DEPOSIT: A fiat or crypto deposit
- WITHDRAWAL: A fiat or crypto withdrawal
- INTERNAL_DEPOSIT: An internal fiat or crypto deposit
- INTERNAL_WITHDRAWAL: An internal fiat or crypto withdrawal
- SWEEP_DEPOSIT: Internal automated deposit to a cold address from a restored address
- SWEEP_WITHDRAWAL: Internal automated withdrawal from a restored address to a cold address
- PROXY_DEPOSIT: On-chain deposit of funds into proxy contract from cold address
- PROXY_WITHDRAWAL: On-chain withdrawal of funds from proxy contract to cold address
- BILLING_WITHDRAWAL: Coinbase Prime automated invoice settlement payment
- REWARD: Reward payment to an associated address for a staked asset
- COINBASE_REFUND: Coinbase Prime refund for the leftover amount for a CPFP (child pays for parent) transaction
- TRANSACTION_TYPE_OTHER: An OTHER type of transaction
- WITHDRAWAL_ADJUSTMENT: A manual adjustment withdrawal transaction
- DEPOSIT_ADJUSTMENT: A manual adjustment deposit transaction
- KEY_REGISTRATION: An on-chain registration for an address
- DELEGATION: An on-chain delegation transaction
- UNDELEGATION: An on-chain undelegation transaction
- RESTAKE: On-chain restaking transaction
- COMPLETE_UNBONDING: On-chain unbonding event transaction
- WITHDRAW_UNBONDED: On-chain event indicating unbonding period is over
- STAKE_ACCOUNT_CREATE: On-chain transaction to begin staking from an address
- CHANGE_VALIDATOR: On-chain transaction alter validator
- STAKE: On-chain transaction to begin staking in Cryptocurrency network
- UNSTAKE: On-chain transaction to stop staking in Cryptocurrency network
- REMOVE_AUTHORIZED_PARTY: On-chain transaction to remove a party from a multi-signature wallet
- STAKE_AUTHORIZE_WITH_SEED: On-chain transaction to begin staking from a seed account
- SLASH: On-chain transaction indicating a slash event has occurred
- COINBASE_DEPOSIT: On-chain transaction deposit for the purpose of transaction operations
- CONVERSION: Internal conversion between two assets
- CLAIM_REWARDS: On-chain transaction to claim rewards from Vote Account
- VOTE_AUTHORIZE: On-chain transaction to transfer the reward claiming permission to other pubkey
- WEB3_TRANSACTION: On-chain transaction initiated with Prime Onchain Wallet
Deprecated: Use ONCHAIN_TRANSACTION instead
- ONCHAIN_TRANSACTION: On-chain transaction initiated with Prime Onchain Wallet
- PORTFOLIO_STAKE: Portfolio-level staking operation
- PORTFOLIO_UNSTAKE: Portfolio-level unstaking operation
enum:
- DEPOSIT
- WITHDRAWAL
- INTERNAL_DEPOSIT
- INTERNAL_WITHDRAWAL
- SWEEP_DEPOSIT
- SWEEP_WITHDRAWAL
- PROXY_DEPOSIT
- PROXY_WITHDRAWAL
- BILLING_WITHDRAWAL
- REWARD
- COINBASE_REFUND
- TRANSACTION_TYPE_OTHER
- WITHDRAWAL_ADJUSTMENT
- DEPOSIT_ADJUSTMENT
- KEY_REGISTRATION
- DELEGATION
- UNDELEGATION
- RESTAKE
- COMPLETE_UNBONDING
- WITHDRAW_UNBONDED
- STAKE_ACCOUNT_CREATE
- CHANGE_VALIDATOR
- STAKE
- UNSTAKE
- REMOVE_AUTHORIZED_PARTY
- STAKE_AUTHORIZE_WITH_SEED
- SLASH
- COINBASE_DEPOSIT
- CONVERSION
- CLAIM_REWARDS
- VOTE_AUTHORIZE
- WEB3_TRANSACTION
- ONCHAIN_TRANSACTION
- PORTFOLIO_STAKE
- PORTFOLIO_UNSTAKE
coinbase.public_rest_api.TransactionValidator:
required:
- transaction_id
- validator_address
- validator_status
type: object
properties:
transaction_id:
type: string
description: The ID of the transaction which staked to this validator
validator_address:
type: string
description: The address (public key) of the validator
validator_status:
$ref: '#/components/schemas/coinbase.public_rest_api.ValidatorStatus'
coinbase.public_rest_api.TransferLocation:
type: object
properties:
type:
$ref: '#/components/schemas/coinbase.public_rest_api.TransferLocationType'
value:
type: string
description: "The value of the transfer location: payment method ID, wallet\
\ ID or crypto address"
example: 0bf7bf1e-bafa-4d7e-9312-fa0bf3b63f27
address:
type: string
description: The crypto address of the transfer location
example: 0x742d35Cc6634C0532925a3b844Bc454e4438f44e
account_identifier:
type: string
description: "The tag/memo of the address, if applicable -- required for\
\ certain assets (e.g. XRP, XLM, etc.)"
example: "387879289"
coinbase.public_rest_api.TransferLocationType:
title: |-
- TRANSFER_LOCATION_TYPE_UNKNOWN: The nil value
- PAYMENT_METHOD: The ID of a fiat payment method
- WALLET: The ID of a wallet
- ADDRESS: A cryptocurrency address
- OTHER: Another type of transfer location: Blockchain Network, Coinbase
- MULTIPLE_ADDRESSES: Multiple cryptocurrency addresses
- COUNTERPARTY_ID: Counterparty ID
type: string
enum:
- PAYMENT_METHOD
- WALLET
- ADDRESS
- OTHER
- MULTIPLE_ADDRESSES
- COUNTERPARTY_ID
coinbase.public_rest_api.TravelRuleData:
type: object
properties:
beneficiary:
$ref: '#/components/schemas/coinbase.public_rest_api.TravelRuleParty'
originator:
$ref: '#/components/schemas/coinbase.public_rest_api.TravelRuleParty'
is_self:
title: True if user owns the counterparty address (self-transfer)
type: boolean
is_intermediary:
type: boolean
description: True if Coinbase is being used as an intermediary for a customer
transfer.
opt_out_of_ownership_verification:
title: True to skip wallet ownership verification
type: boolean
attest_verified_wallet_ownership:
type: boolean
description: |-
Whether the originating VASP attests to verified wallet ownership.
When true with is_intermediary, enables automatic VASP data enrichment from the legal entity.
description: Data object used for withdrawals.
coinbase.public_rest_api.TravelRuleParty:
type: object
properties:
name:
title: Legal name (for entities or simple name format)
type: string
natural_person_name:
$ref: '#/components/schemas/coinbase.public_rest_api.NaturalPersonName'
address:
$ref: '#/components/schemas/coinbase.public_rest_api.DetailedAddress'
wallet_type:
$ref: '#/components/schemas/coinbase.public_rest_api.TravelRuleWalletType'
vasp_id:
title: VASP identifier when wallet_type is VASP
type: string
vasp_name:
title: VASP name fallback when vasp_id is unknown
type: string
personal_id:
type: string
description: |-
Personal identifier for travel rule compliance.
For individuals: passport number, national ID, driver's license.
For institutions: LEI (Legal Entity Identifier).
date_of_birth:
$ref: '#/components/schemas/google.type.Date'
telephone_number:
type: string
description: Telephone number for contact purposes.
account_id:
type: string
description: |-
Account identifier for travel rule compliance.
If not provided, defaults to portfolio ID.
description: Represents a party in a travel rule transfer (originator or beneficiary).
coinbase.public_rest_api.TravelRuleStatus:
title: Travel rule compliance status for a transaction
type: string
default: TRAVEL_RULE_STATUS_UNSPECIFIED
enum:
- TRAVEL_RULE_STATUS_UNSPECIFIED
- TRAVEL_RULE_STATUS_PENDING
- TRAVEL_RULE_STATUS_SUBMITTED
coinbase.public_rest_api.TravelRuleWalletType:
title: Type of wallet being used for transfers
type: string
description: |-
- TRAVEL_RULE_WALLET_TYPE_UNSPECIFIED: Default unspecified wallet type
- TRAVEL_RULE_WALLET_TYPE_VASP: Centralized exchange wallet
- TRAVEL_RULE_WALLET_TYPE_SELF_CUSTODIED: Self-hosted/custodial wallet
default: TRAVEL_RULE_WALLET_TYPE_UNSPECIFIED
enum:
- TRAVEL_RULE_WALLET_TYPE_UNSPECIFIED
- TRAVEL_RULE_WALLET_TYPE_VASP
- TRAVEL_RULE_WALLET_TYPE_SELF_CUSTODIED
coinbase.public_rest_api.UnstakeType:
type: string
default: UNSTAKE_TYPE_UNSPECIFIED
enum:
- UNSTAKE_TYPE_UNSPECIFIED
- UNSTAKE_TYPE_PARTIAL
- UNSTAKE_TYPE_FULL
coinbase.public_rest_api.UnstakingStatus:
required:
- amount
- estimate_description
- estimate_type
type: object
properties:
amount:
type: string
description: "Amount being unstaked (whole amount, e.g., 16 ETH)"
example: "16"
unstake_type:
$ref: '#/components/schemas/coinbase.public_rest_api.UnstakeType'
finishing_at:
type: string
description: Estimated date when unstaking will complete (ISO 8601 format)
format: date-time
example: 2025-10-27T00:00:00Z
remaining_hours:
type: integer
description: Estimated hours until this unstaking request completes
format: int64
example: 672
requested_at:
type: string
description: Timestamp when the unstake request was originally created
format: date-time
example: 2025-09-29T12:00:00Z
estimate_type:
$ref: '#/components/schemas/coinbase.public_rest_api.EstimateType'
estimate_description:
type: string
description: Detailed explanation of the estimate status for display to
users.
example: Live estimate based on current network conditions
coinbase.public_rest_api.UpdateFundingSettingsResponse:
type: object
properties:
activity_id:
type: string
description: Identifier for the created activity / proposal
activity_type:
type: string
description: Type of the activity (e.g. PCS proposal type)
num_approvals_remaining:
type: integer
description: Number of approvals still required before the change applies
format: int32
coinbase.public_rest_api.UserAction:
type: object
properties:
action:
$ref: '#/components/schemas/coinbase.public_rest_api.Action'
user_id:
type: string
description: Id of the user who executed the action
timestamp:
type: string
description: Time the action was taken
coinbase.public_rest_api.UserRole:
title: Indicates the user's role
type: string
description: |-
- USER_ROLE_UNKNOWN: nil value
- AUDITOR: An auditor
- SIGNATORY: A signatory
- ADMIN: An admin
- INITIATOR: An initiator
- REVIEWER: A reviewer
- TRADER: A trader
- FULL_TRADER: A trader with full permissions
- TEAM_MANAGER: A team manager
- APPROVER: An approver
- TAX_MANAGER: A tax manager
- BUSINESS_MANAGER: A business manager
enum:
- AUDITOR
- SIGNATORY
- ADMIN
- INITIATOR
- REVIEWER
- TRADER
- FULL_TRADER
- TEAM_MANAGER
- APPROVER
- TAX_MANAGER
- BUSINESS_MANAGER
coinbase.public_rest_api.ValidatorAllocation:
required:
- amount
- validator_address
type: object
properties:
validator_address:
type: string
description: The validator address for performing staking operations
amount:
type: string
description: Amount for performing staking operations with this validator
description: |-
ValidatorAllocation specifies the validator and amount for staking or unstaking.
Used for granular ETH V2 validator-level staking or unstaking operations.
coinbase.public_rest_api.ValidatorProvider:
type: string
description: ValidatorProvider enumerates the ETH validator service providers
accepted for unstaking.
default: VALIDATOR_PROVIDER_UNSPECIFIED
enum:
- VALIDATOR_PROVIDER_UNSPECIFIED
- VALIDATOR_PROVIDER_COINBASE_CLOUD
- VALIDATOR_PROVIDER_MAVAN
- VALIDATOR_PROVIDER_FIGMENT
- VALIDATOR_PROVIDER_CODEFI
- VALIDATOR_PROVIDER_ATTESTANT
- VALIDATOR_PROVIDER_GALAXY
coinbase.public_rest_api.ValidatorStakingInfo:
required:
- statuses
- validator_address
type: object
properties:
validator_address:
type: string
description: The validator address (public key)
statuses:
type: array
description: List of active staking requests for this validator
items:
$ref: '#/components/schemas/coinbase.public_rest_api.StakingStatus'
coinbase.public_rest_api.ValidatorStatus:
type: string
default: VALIDATOR_STATUS_UNSPECIFIED
enum:
- VALIDATOR_STATUS_UNSPECIFIED
- VALIDATOR_STATUS_PENDING
- VALIDATOR_STATUS_ACTIVE
- VALIDATOR_STATUS_EXITING
- VALIDATOR_STATUS_EXITED
- VALIDATOR_STATUS_WITHDRAWN
coinbase.public_rest_api.ValidatorUnstakePreview:
type: object
properties:
validator_address:
type: string
description: Public address of the validator being unstaked from
estimated_unstaking_amount:
type: string
description: Estimated amount that would be unstaked from this validator
(in ETH)
unstake_time_estimate_in_hours:
type: number
description: "Estimated time until this validator's unstake completes, in\
\ hours"
format: double
estimated_unstake_date:
type: string
description: Estimated date when this validator's unstake will complete
(ISO 8601)
description: ValidatorUnstakePreview contains the per-validator breakdown for
an unstake preview.
coinbase.public_rest_api.ValidatorUnstakingInfo:
required:
- statuses
- validator_address
type: object
properties:
validator_address:
type: string
description: The validator address (public key)
statuses:
type: array
description: List of active unstaking requests for this validator
items:
$ref: '#/components/schemas/coinbase.public_rest_api.UnstakingStatus'
coinbase.public_rest_api.VisibilityStatus:
title: |-
- UNKNOWN_VISIBILITY_STATUS: nil
- VISIBLE: Visible
- HIDDEN: Hidden
- SPAM: Spam
type: string
enum:
- VISIBLE
- HIDDEN
- SPAM
coinbase.public_rest_api.Wallet:
type: object
properties:
id:
title: The unique UUID for the wallet
type: string
name:
title: The name of the wallet
type: string
symbol:
title: The asset stored in the wallet
type: string
type:
$ref: '#/components/schemas/coinbase.public_rest_api.WalletType'
created_at:
title: The UTC timestamp when this wallet was created
type: string
format: date-time
address:
title: The active address of the wallet
type: string
visibility:
$ref: '#/components/schemas/coinbase.public_rest_api.WalletVisibility'
network:
$ref: '#/components/schemas/coinbase.public_rest_api.Network'
coinbase.public_rest_api.WalletClaimRewardsInputs:
type: object
properties:
amount:
type: string
description: "Optional amount to claim rewards (ETH only). If omitted, the\
\ wallet will claim the maximum amount available"
description: |-
WalletClaimRewardsInputs contains the custom inputs for claim rewards operations on a wallet.
Requirements and supported fields vary by asset type.
coinbase.public_rest_api.WalletCryptoDepositInstructions:
type: object
properties:
id:
type: string
description: The ID of the wallet
example: e84255eb-2e21-439e-a1d0-f5dd1e1292b9
name:
type: string
description: The name of the wallet
example: Wallet 1
type:
$ref: '#/components/schemas/coinbase.public_rest_api.WalletDepositInstructionType'
address:
type: string
description: The address of the wallet
example: ca13fdc4-e459-4fd9-868e-82291343b213
account_identifier:
type: string
description: "The tag/memo of the address, if applicable -- required for\
\ certain assets (e.g. XRP, XLM, etc.)"
example: "387879289"
account_identifier_name:
type: string
description: "The blockchain network's terminology for the unique identifier\
\ used to identify the receiver of the transaction (different blockchain\
\ networks use different names, such as `destination_tag` or `memo`)"
example: memo
network:
$ref: '#/components/schemas/coinbase.public_rest_api.Network'
coinbase.public_rest_api.WalletDepositInstructionType:
title: Indicates the wallet's deposit instruction type
type: string
description: |-
- UNKNOWN_WALLET_DEPOSIT_TYPE: nil value
- CRYPTO: A cryptocurrency deposit
- WIRE: A wire deposit
- SEN: DEPRECATED. A Silvergate Exchange Network deposit
- SWIFT: A SWIFT deposit
- SEPA: A SEPA deposit (Single Euro Payments Area)
enum:
- CRYPTO
- WIRE
- SEN
- SWIFT
- SEPA
coinbase.public_rest_api.WalletFiatDepositInstructions:
type: object
properties:
id:
title: The id of the wallet
type: string
name:
title: The name of the wallet
type: string
type:
$ref: '#/components/schemas/coinbase.public_rest_api.WalletDepositInstructionType'
account_number:
title: The fiat account number
type: string
routing_number:
title: The fiat routing number
type: string
reference_code:
title: Reference code to be used as a memo/description
type: string
coinbase.public_rest_api.WalletStakeInputs:
type: object
properties:
amount:
type: string
description: "Optional amount to stake (ETH only). If omitted, the wallet\
\ will stake the maximum amount available"
validator_address:
type: string
description: "Optional validator address, defaults to Coinbase validator.\
\ For SOL, must be the vote account address. Ignored for ETH."
description: |-
WalletStakeInputs contains the custom inputs for staking operations on a wallet.
Requirements and supported fields vary by asset type.
coinbase.public_rest_api.WalletStakingMetadata:
type: object
properties:
external_id:
type: string
description: An optional custom identifier (up to 255 bytes) to attach to
the transaction. This is not a searchable transaction field. Retries with
the same idempotency_key must use the same external_id; a differing value
on retry will be silently ignored.
description: |-
WalletStakingMetadata contains optional metadata for wallet staking requests.
external_id tags the discrete TWS transaction stake/unstake create; automatic reward crediting (e.g. SOL inflation) does not produce one.
StakingClaimRewardsRequest intentionally omits this field; add metadata to claim rewards only if a supported network's claim flow creates a discrete TWS transaction clients need to tag.
coinbase.public_rest_api.WalletType:
title: Indicates the wallet type
type: string
description: |-
- VAULT: A crypto vault
- TRADING: A trading wallet
- WALLET_TYPE_OTHER: Other wallet types (like consumer, etc)
- QC: A QC Wallet
- ONCHAIN: An Onchain wallet
enum:
- VAULT
- TRADING
- WALLET_TYPE_OTHER
- QC
- ONCHAIN
coinbase.public_rest_api.WalletUnstakeInputs:
type: object
properties:
amount:
type: string
description: "Optional amount to unstake (ETH only). If omitted, the wallet\
\ will unstake the maximum amount available"
validator_allocations:
type: array
description: (Alpha) Optional validator-level allocations for ETH V2 unstaking.
Allows specifying which validators to unstake from and how much. This
feature is in alpha. Please reach out to your Coinbase Prime account manager
for more information
items:
$ref: '#/components/schemas/coinbase.public_rest_api.ValidatorAllocation'
description: |-
WalletUnstakeInputs contains the custom inputs for unstaking operations on a wallet.
Requirements and supported fields vary by asset type.
coinbase.public_rest_api.WalletVisibility:
type: string
default: WALLET_VISIBILITY_UNSPECIFIED
enum:
- WALLET_VISIBILITY_UNSPECIFIED
- WALLET_VISIBILITY_VISIBLE
- WALLET_VISIBILITY_HIDDEN
coinbase.public_rest_api.Web3Asset:
type: object
properties:
network:
title: Network this asset is on (ie "ethereum-mainnet")
type: string
contract_address:
type: string
description: Contract Address of this asset (empty for native assets).
symbol:
type: string
description: Symbol of this asset.
token_id:
type: string
description: Token ID of this asset (empty for non NFT assets).
name:
type: string
description: "Name of this asset, either the name of the crypto token or\
\ the NFT collection name."
coinbase.public_rest_api.Web3Balance:
type: object
properties:
asset:
$ref: '#/components/schemas/coinbase.public_rest_api.Web3Asset'
amount:
type: string
description: The total amount in whole units with full precision.
example: "109.42"
visibility_status:
$ref: '#/components/schemas/coinbase.public_rest_api.VisibilityStatus'
coinbase.public_rest_api.Web3TransactionMetadata:
type: object
properties:
label:
type: string
description: The transaction type label of the confirmed transaction post
settlement
confirmed_asset_changes:
type: array
description: The confirmed asset changes (onchain)
items:
$ref: '#/components/schemas/coinbase.public_rest_api.AssetChange'
coinbase.public_rest_api.WithdrawalPower:
type: object
properties:
symbol:
type: string
description: The currency symbol
example: BTC
amount:
type: string
description: Withdrawal power
example: "2.84882377"
coinbase.public_rest_api.XMCallStatus:
title: XMCallStatus is the current status of the margin call
type: string
description: |-
- CALL_STATUS_OPEN: Margin call is open and not expired
- CALL_STATUS_AGED: Margin call is open and it is expired
- CALL_STATUS_SETTLED: Margin call is fully settled
- CALL_STATUS_CANCELED: Margin call was canceled by Credit Risk
default: XM_CALL_STATUS_UNSPECIFIED
enum:
- XM_CALL_STATUS_UNSPECIFIED
- CALL_STATUS_OPEN
- CALL_STATUS_AGED
- CALL_STATUS_SETTLED
- CALL_STATUS_CANCELED
coinbase.public_rest_api.XMCallType:
title: XMCallType is the type of margin call
type: string
description: |-
- CALL_TYPE_STANDARD: Evaluated at standard margin call evaluation time
- CALL_TYPE_URGENT: Evaluated in realtime
- CALL_TYPE_DEBIT: Evaluated at debit call evaluation time
default: XM_CALL_TYPE_UNSPECIFIED
enum:
- XM_CALL_TYPE_UNSPECIFIED
- CALL_TYPE_STANDARD
- CALL_TYPE_URGENT
- CALL_TYPE_DEBIT
coinbase.public_rest_api.XMControlStatus:
title: XMControlStatus is a summarization of XM customer controls for trades
and withdrawals
type: string
description: |-
- TRADES_AND_WITHDRAWALS: Allowed to trade and withdraw. See XM Margin Methodology for full description of when trading and withdrawals are enabled or disabled.
- TRADES_ONLY: Allowed to trade but not withdraw. See XM Margin Methodology for full description of when trading and withdrawals are enabled or disabled.
- SESSION_LOCKED: Not allowed to trade or withdraw. See XM Margin Methodology for full description of when trading and withdrawals are enabled or disabled.
default: XM_CONTROL_STATUS_UNSPECIFIED
enum:
- XM_CONTROL_STATUS_UNSPECIFIED
- TRADES_AND_WITHDRAWALS
- TRADES_ONLY
- SESSION_LOCKED
coinbase.public_rest_api.XMEntityCallStatus:
type: string
description: |-
XMEntityCallStatus summarizes the state of open margin calls or debit calls. When multiple calls exist, the status reflects the highest priority call type.
Priority order (highest to lowest): aged > urgent > standard > debit.
- ENTITY_NO_CALL: There are no margin calls or debit calls.
- ENTITY_OPEN_STANDARD_CALL: There is a standard margin call. There may also be debit calls, but there are no urgent margin calls or expired calls..
- ENTITY_OPEN_URGENT_CALL: There is an urgent margin call. There may also be standard margin calls or debit calls, but there are no expired calls.
- ENTITY_AGED_CALL: At least one open margin call (standard or urgent) or debit call is aged. This will trigger the SESSION_LOCKED control status.
- ENTITY_OPEN_DEBIT_CALL: There is a debit call. There are no standard margin calls, urgent margin calls, or expired calls.
default: XM_ENTITY_CALL_STATUS_UNSPECIFIED
enum:
- XM_ENTITY_CALL_STATUS_UNSPECIFIED
- ENTITY_NO_CALL
- ENTITY_OPEN_STANDARD_CALL
- ENTITY_OPEN_URGENT_CALL
- ENTITY_AGED_CALL
- ENTITY_OPEN_DEBIT_CALL
coinbase.public_rest_api.XMLiquidationStatus:
title: XMLiquidationStatus is the current status of an XM liquidation
type: string
description: |-
- XM_LIQUIDATION_STATUS_PRE_LIQUIDATION: Liquidation is in the pre-liquidation phase
- XM_LIQUIDATION_STATUS_LIQUIDATING: Liquidation is actively in progress
- XM_LIQUIDATION_STATUS_LIQUIDATED: Liquidation has completed successfully
- XM_LIQUIDATION_STATUS_CANCELED: Liquidation was canceled
- XM_LIQUIDATION_STATUS_FAILED: Liquidation failed
default: XM_LIQUIDATION_STATUS_UNSET
enum:
- XM_LIQUIDATION_STATUS_UNSET
- XM_LIQUIDATION_STATUS_PRE_LIQUIDATION
- XM_LIQUIDATION_STATUS_LIQUIDATING
- XM_LIQUIDATION_STATUS_LIQUIDATED
- XM_LIQUIDATION_STATUS_CANCELED
- XM_LIQUIDATION_STATUS_FAILED
coinbase.public_rest_api.XMLoan:
title: XMLoan contains details about a Cross Margin loan
type: object
properties:
loan_id:
type: string
description: Financing loan UUID
example: b91a0ed6-eeec-4496-a04e-98b72b33c2b4
loan_party:
$ref: '#/components/schemas/coinbase.public_rest_api.XMParty'
principal_currency:
type: string
description: Loan principal currency
example: BTC
principal_currency_market_price:
type: string
description: Loan principal currency market price
example: "114531.73"
initial_principal_amount:
type: string
description: Principal amount (nominal) as of loan initiation
example: "0.2"
outstanding_principal_amount:
type: string
description: Current outstanding amount (nominal)
example: "0.2"
created_at:
type: string
description: Timestamp when the loan was created / initiated
format: date-time
updated_at:
type: string
description: Timestamp when the loan was last updated
format: date-time
coinbase.public_rest_api.XMMarginCall:
title: XMMarginCall contains details about a margin call in Cross Margin
type: object
properties:
margin_call_id:
type: string
description: Financing margin call UUID
example: 63a2577a-930d-413b-81e4-9e77765da8f9
currency:
type: string
description: Margin call currency
example: USD
initial_notional_amount:
type: string
description: Call amount (notional) as of the margin call creation
example: "32083.26"
outstanding_notional_amount:
type: string
description: Current outstanding call amount (notional)
example: "32083.26"
margin_call_type:
$ref: '#/components/schemas/coinbase.public_rest_api.XMCallType'
margin_call_status:
$ref: '#/components/schemas/coinbase.public_rest_api.XMCallStatus'
called_with_margin_level:
$ref: '#/components/schemas/coinbase.public_rest_api.XMMarginLevel'
called_with_margin_summary:
$ref: '#/components/schemas/coinbase.public_rest_api.XMSummary'
due_at:
type: string
description: Timestamp when the margin call settlement is due
format: date-time
created_at:
type: string
description: Timestamp when the margin call was created
format: date-time
updated_at:
type: string
description: Timestamp when the margin call was last updated
format: date-time
coinbase.public_rest_api.XMMarginLevel:
title: XMMarginLevel is the realtime state of EQ/MR and MR-EQ monitored against
XM thresholds as defined in the methodology
type: string
description: |-
- HEALTHY_THRESHOLD: Margin level is healthy
- DEFICIT_THRESHOLD: Margin level is breaching the deficit threshold (DT) which will result in the issuance of a Margin Call if this is still the case by the scheduled next Margin Call time (as defined in the margin methodology)
- WARNING_THRESHOLD: Margin level is breaching the warning threshold (WT) which will result in the issuance of a Margin Call if this is still the case by the scheduled next Margin Call (as defined in the margin methodology). WT is differentiated from DT in that it means margin health is approaching the UMCT
- URGENT_MARGIN_CALL_THRESHOLD: Margin level is breaching the UMCT and, as defined in the margin methodology, this will trigger an urgent margin call
- LIQUIDATION_THRESHOLD: Margin level is breaching the liquidation threshold (LT) and, as defined in the margin methodology, this will trigger the SESSION_LOCKED control status and liquidation may commence.
default: XM_MARGIN_LEVEL_UNSPECIFIED
enum:
- XM_MARGIN_LEVEL_UNSPECIFIED
- HEALTHY_THRESHOLD
- DEFICIT_THRESHOLD
- WARNING_THRESHOLD
- URGENT_MARGIN_CALL_THRESHOLD
- LIQUIDATION_THRESHOLD
coinbase.public_rest_api.XMParty:
title: XMParty is a specific Cross Margin trading venue
type: string
description: |-
- CBE: Coinbase Exchange, trading venue that can receive the XM loan
- FCM: Coinbase’s Futures Commission Merchant, trading venue that can receive the XM loan
default: XM_PARTY_UNSPECIFIED
enum:
- XM_PARTY_UNSPECIFIED
- CBE
- FCM
coinbase.public_rest_api.XMPosition:
title: XMPosition
type: object
properties:
currency:
type: string
description: Position currency
example: BTC
market_price:
type: string
description: Current market price
example: "114531.73"
margin_eligible:
type: boolean
description: "True if margin eligible, false otherwise"
example: true
market_cap:
type: string
description: Total market capitalization
example: "770000000000.00"
adv30_days:
type: string
description: Average daily volume calculated over a 30-day period
example: "1166623585.534257"
hist5d_vol:
type: string
description: Historic volatility calculated over a 5-day period
example: "0.010996074377389616"
hist30d_vol:
type: string
description: Historic volatility calculated over a 30-day period
example: "0.013617999336643158"
hist90d_vol:
type: string
description: Historic volatility calculated over a 90-day period
example: "0.015196480084775355"
margin_requirement:
type: string
description: Base margin requirement for the specific asset
example: "0.015"
spot_balance:
type: string
description: XM spot balance nominal
example: "-0.19652944"
spot_balance_notional:
type: string
description: XM spot balance notional
example: "-22508.85"
spot_total_position_margin:
type: string
description: Pre-netted spot total position margin
futures_balance:
type: string
description: XM futures balance nominal
example: "-0.19652944"
futures_balance_notional:
type: string
description: XM futures balance notional
example: "-22508.85"
futures_total_position_margin:
type: string
description: Pre-netted futures total position margin
gmv_basis:
type: string
description: Basis GMV = |futures| + |spot| - |unnetted position|
base_requirement:
type: string
description: Base margin requirement notional
liq_shorts_add_on:
type: string
description: Effective liquidity add-on for the short positions
liq_longs_add_on:
type: string
description: Effective liquidity add-on for the long positions
vol_shorts_add_on:
type: string
description: Effective volatility add-on for the short positions
vol_longs_add_on:
type: string
description: Effective volatility add-on for the long positions
vol5days_add_on:
type: string
description: 5-day volatility add-on
vol30days_add_on:
type: string
description: 30-day volatility add-on
vol90days_add_on:
type: string
description: 90-day volatility add-on
total_position_margin:
type: string
description: Total margin required
coinbase.public_rest_api.XMRiskNettingInfo:
type: object
properties:
dco_margin_requirement:
type: string
description: "Derivatives Clearing Organization Margin Requirement (DMR)\
\ is the margin requirement for all futures positions, derived from the\
\ Derivatives Clearing Organization model"
example: "9243.25"
portfolio_margin_requirement:
type: string
description: "Portfolio Margin Requirement (PMR) is the margin requirement\
\ for all spot positions, derived from the XM model"
example: "9003.67"
integrated_portfolio_margin_requirement:
type: string
description: "Integrated Portfolio Margin Requirement (IPMR) is the margin\
\ requirement for all spot positions + futures positions with underlying\
\ assets eligible in Portfolio Margin, via the XM model with one-leg netting"
example: "10154.67"
ineligible_futures_margin_requirement:
type: string
description: Ineligible Futures Margin Requirement (IFMR) is the margin
requirement for IPMR-ineligible futures contracts
example: "194.36"
position_margin_requirement:
type: string
description: Position margin requirement for all spot positions
example: "3376.45"
portfolio_margin_addon:
type: string
description: Portfolio margin addon for all spot positions
example: "5627.21"
integrated_position_margin_requirement:
type: string
description: Position margin requirement for spot + futures positions
example: "3376.45"
integrated_portfolio_margin_addon:
type: string
description: Portfolio margin addon for spot + futures positions
example: "6778.21"
netted_futures_notional:
type: string
description: Post-netting USD notional for all futures positions
example: "11510.00"
total_gmv_basis:
type: string
description: Total basis gross market value of all XM-eligible positions
(i.e. crypto underliers)
ipm_cash_balance:
type: string
description: Integrated Portfolio Margin cash balance
example: "1002.94"
integrated_scenario_addon:
$ref: '#/components/schemas/coinbase.public_rest_api.MarginAddOn'
all_integrated_scenario_addons:
type: array
description: All integrated scenario add-ons
items:
$ref: '#/components/schemas/coinbase.public_rest_api.MarginAddOn'
xm_positions:
type: array
description: Netted positions used in the model calculation
items:
$ref: '#/components/schemas/coinbase.public_rest_api.XMPosition'
coinbase.public_rest_api.XMSummary:
title: "XMSummary is the realtime evaluated XM margin model, containing positions\
\ and netting info"
type: object
properties:
margin_requirement:
type: string
description: Cross Margin Margin Requirement (XMMR) notional
example: "10362.72"
account_equity:
type: string
description: Equity notional
example: "-21542.63"
margin_excess_shortfall:
type: string
description: Equity - XMMR (margin excess is > 0)
example: "-31891.67"
consumed_credit:
type: string
description: Credit consumed from Cross Margin Credit Limit (XMCL)
example: "22906.34"
xm_credit_limit:
type: string
description: XM Credit Limit (XMCL) is the maximum notional USD of total
fiat and digital asset loans
example: "1222322.00"
xm_margin_limit:
type: string
description: XM Margin Limit (XMML) is the maximum notional USD deficit
example: "22123.00"
spot_equity:
type: string
description: Equity attributed by spot
example: "-21505.91"
futures_equity:
type: string
description: Equity attributed by futures
example: "-36.71"
risk_netting_info:
$ref: '#/components/schemas/coinbase.public_rest_api.XMRiskNettingInfo'
google.protobuf.Any:
type: object
properties:
'@type':
type: string
description: |-
A URL/resource name that uniquely identifies the type of the serialized
protocol buffer message. This string must contain at least
one "/" character. The last segment of the URL's path must represent
the fully qualified name of the type (as in
`path/google.protobuf.Duration`). The name should be in a canonical form
(e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they
expect it to use in the context of Any. However, for URLs which use the
scheme `http`, `https`, or no scheme, one can optionally set up a type
server that maps type URLs to message definitions as follows:
* If no scheme is provided, `https` is assumed.
* An HTTP GET on the URL must yield a [google.protobuf.Type][]
value in binary format, or produce an error.
* Applications are allowed to cache lookup results based on the
URL, or have them precompiled into a binary to avoid any
lookup. Therefore, binary compatibility needs to be preserved
on changes to types. (Use versioned type names to manage
breaking changes.)
Note: this functionality is not currently available in the official
protobuf release, and it is not used for type URLs beginning with
type.googleapis.com. As of May 2023, there are no widely used type server
implementations and no plans to implement one.
Schemes other than `http`, `https` (or the empty scheme) might be
used with implementation specific semantics.
additionalProperties:
type: object
description: |-
`Any` contains an arbitrary serialized protocol buffer message along with a
URL that describes the type of the serialized message.
Protobuf library provides support to pack/unpack Any values in the form
of utility functions or additional generated methods of the Any type.
Example 1: Pack and unpack a message in C++.
Foo foo = ...;
Any any;
any.PackFrom(foo);
...
if (any.UnpackTo(&foo)) {
...
}
Example 2: Pack and unpack a message in Java.
Foo foo = ...;
Any any = Any.pack(foo);
...
if (any.is(Foo.class)) {
foo = any.unpack(Foo.class);
}
// or ...
if (any.isSameTypeAs(Foo.getDefaultInstance())) {
foo = any.unpack(Foo.getDefaultInstance());
}
Example 3: Pack and unpack a message in Python.
foo = Foo(...)
any = Any()
any.Pack(foo)
...
if any.Is(Foo.DESCRIPTOR):
any.Unpack(foo)
...
Example 4: Pack and unpack a message in Go
foo := &pb.Foo{...}
any, err := anypb.New(foo)
if err != nil {
...
}
...
foo := &pb.Foo{}
if err := any.UnmarshalTo(foo); err != nil {
...
}
The pack methods provided by protobuf library will by default use
'type.googleapis.com/full.type.name' as the type URL and the unpack
methods only use the fully qualified type name after the last '/'
in the type URL, for example "foo.bar.com/x/y.z" will yield type
name "y.z".
JSON
====
The JSON representation of an `Any` value uses the regular
representation of the deserialized, embedded message, with an
additional field `@type` which contains the type URL. Example:
package google.profile;
message Person {
string first_name = 1;
string last_name = 2;
}
{
"@type": "type.googleapis.com/google.profile.Person",
"firstName": ,
"lastName":
}
If the embedded message type is well-known and has a custom JSON
representation, that representation will be embedded adding a field
`value` which holds the custom JSON in addition to the `@type`
field. Example (for message [google.protobuf.Duration][]):
{
"@type": "type.googleapis.com/google.protobuf.Duration",
"value": "1.212s"
}
google.rpc.Status:
type: object
properties:
code:
type: integer
format: int32
message:
type: string
details:
type: array
items:
$ref: '#/components/schemas/google.protobuf.Any'
google.type.Date:
title: |-
Represents a whole or partial calendar date, such as a birthday. The time of
day and time zone are either specified elsewhere or are insignificant. The
date is relative to the Gregorian Calendar. This can represent one of the
following:
type: object
properties:
year:
type: integer
description: |-
Year of the date. Must be from 1 to 9999, or 0 to specify a date without
a year.
format: int32
month:
type: integer
description: |-
Month of a year. Must be from 1 to 12, or 0 to specify a year without a
month and day.
format: int32
day:
type: integer
description: |-
Day of a month. Must be from 1 to 31 and valid for the year and month, or 0
to specify a year by itself or a year and month where the day isn't
significant.
format: int32
description: |-
* A full date, with non-zero year, month, and day values.
* A month and day, with a zero year (for example, an anniversary).
* A year on its own, with a zero month and a zero day.
* A year and month, with a zero day (for example, a credit card expiration
date).
Related types:
* [google.type.TimeOfDay][google.type.TimeOfDay]
* [google.type.DateTime][google.type.DateTime]
* [google.protobuf.Timestamp][google.protobuf.Timestamp]
public_rest_apiCreateAllocationRequest:
type: object
properties:
allocation_id:
type: string
description: The ID of the allocation
source_portfolio_id:
type: string
description: The source portfolio id for the allocation
product_id:
type: string
description: The product for the allocation
order_ids:
type: array
description: The list of order ids in the allocation
items:
type: string
allocation_legs:
type: array
description: The list of allocation_legs for the allocation
items:
$ref: '#/components/schemas/coinbase.public_rest_api.AllocationLeg'
size_type:
$ref: '#/components/schemas/coinbase.public_rest_api.AllocationSizeType'
remainder_destination_portfolio:
type: string
description: The portfolio where to allocate the remainder of the size
public_rest_apiCreateNetAllocationRequest:
type: object
properties:
source_portfolio_id:
type: string
description: The source portfolio id for the allocation
product_id:
type: string
description: The product for the allocation
order_ids:
type: array
description: The list of order ids in the allocation
items:
type: string
allocation_legs:
type: array
description: The list of allocation_legs for the allocation
items:
$ref: '#/components/schemas/coinbase.public_rest_api.AllocationLeg'
size_type:
$ref: '#/components/schemas/coinbase.public_rest_api.AllocationSizeType'
remainder_destination_portfolio:
type: string
description: The portfolio where to allocate the remainder of the size
netting_id:
type: string
description: The ID to identify an in-flight net allocation.
x-readme:
explorer-enabled: false
samples-enabled: false
headers:
- key: X-CB-ACCESS-KEY
value: $ACCESS_KEY
- key: X-CB-ACCESS-PASSPHRASE
value: $PASSPHRASE
- key: X-CB-ACCESS-SIGNATURE
value: $SIGNATURE
- key: X-CB-ACCESS-TIMESTAMP
value: $TIMESTAMP
x-original-swagger-version: "2.0"