Skip to content
Get an API key

Value one public address across every hosted account venue in one call.

GET
/v1/portfolio
curl --request GET \
--url 'https://data.predictefy.com/v1/portfolio?address=example' \
--header 'Authorization: Bearer <token>'

Fans out only to registry venues with a served public balance or position lane. The optional venues query is a comma-separated subset of that live registry-derived set. Balance and position envelopes fail independently per venue, so one upstream outage never blanks another venue. Position marks resolve (venue, marketId) against one hot-catalog snapshot: outcomes[].price is authoritative, yes_price/no_price are the binary fast path, and last_price is used only for outcome-less long/short instruments. Unresolvable markets, missing prices, and missing sizes return mark=null with markReason; totals sum only real marks and remain null when none exist. Venues with served public fills get average-cost unrealized PnL from the bounded fetched window, always labeled basis=fills_window and complete=false. No realized PnL is manufactured. Dark unless READS_ENABLE_PORTFOLIO=true.

address
required
string
>= 1 characters <= 96 characters
venues
string

Optional comma-separated subset of portfolio-capable registry venues.

A bounded cross-venue portfolio snapshot with honest partial availability.

Media typeapplication/json
object
success
required
boolean
data
required
object
address
required
string
venues
required
object
key
additional properties
object
balances
required
object
availability
required
string
Allowed values: available owner_auth_required not_supported temporarily_unavailable
data
required
One of:
Array
asOf
required
string | null format: date-time
provenance
required
One of:
object
source
required
string
Allowed values: venue_api chain derived
visibility
required
string
Allowed values: public owner
derived
required
boolean
reason
string
totalCount
required

Exact when the first adapter page proves the complete count; otherwise null.

integer | null
data
required
One of:
Array<object>
<= 20 items
object
venue
required
string
accountId
required
string
currency
required
string
kind
required
string
Allowed values: cash collateral available_to_trade positions_value perp_margin locked other
total
required
number | null
available
required
number | null
locked
required
number | null
asOf
required
string | null format: date-time
raw
positions
required
object
availability
required
string
Allowed values: available owner_auth_required not_supported temporarily_unavailable
data
required
One of:
Array
asOf
required
string | null format: date-time
provenance
required
One of:
object
source
required
string
Allowed values: venue_api chain derived
visibility
required
string
Allowed values: public owner
derived
required
boolean
reason
string
totalCount
required

Exact when the first adapter page proves the complete count; otherwise null.

integer | null
data
required
One of:
Array
<= 20 items
object
venue
required
string
accountId
required
string
positionId
required
string | null
marketId
required
string
canonicalMarketId
required
string | null
outcomeId
required
string | null
side
required
One of:
string
Allowed values: long short yes no
size
required
number | null
avgEntryPrice
required
number | null
markPrice
required
number | null
unrealizedPnl
required
number | null
realizedPnl
required
number | null
status
required
string
Allowed values: open resolved unknown
asOf
required
string | null format: date-time
raw
mark
required
One of:
object
valueUsd
required
number
price
required
number
source
required
string
Allowed value: hot_catalog
asOf
required
string | null format: date-time
markReason
string
Allowed values: catalog_unavailable market_not_resolvable price_unavailable size_unavailable
pnl
required
One of:
object
unrealizedUsd
required
number
basis
required
string
Allowed value: fills_window
complete
required
boolean
totals
required
object
markValueUsd
required
number | null
byVenue
required
object
key
additional properties
number | null
asOf
required
string format: date-time
Example
{
"data": {
"venues": {
"additionalProperty": {
"balances": {
"availability": "available",
"provenance": {
"source": "venue_api",
"visibility": "public"
},
"data": [
{
"kind": "cash"
}
]
},
"positions": {
"availability": "available",
"provenance": {
"source": "venue_api",
"visibility": "public"
},
"data": [
{
"side": "long",
"status": "open",
"mark": {
"source": "hot_catalog"
},
"markReason": "catalog_unavailable",
"pnl": {
"basis": "fills_window",
"complete": false
}
}
]
}
}
}
}
}

Enveloped error.

Media typeapplication/json
object
success
required
boolean
error
required
object
message
required
string
code
required
string
Allowed values: VALIDATION_ERROR NOT_SUPPORTED ACCOUNTS_UNSUPPORTED VENUE_NOT_AVAILABLE EXCHANGE_NOT_AVAILABLE MARKET_NOT_FOUND EVENT_NOT_FOUND CLUSTER_NOT_FOUND OUTCOME_NOT_FOUND SNAPSHOT_NOT_FOUND CATALOG_UNAVAILABLE CATALOG_QUERY_TOO_BROAD HISTORY_UNAVAILABLE ROUTE_NOT_FOUND INTERNAL AUTHENTICATION_ERROR PERMISSION_DENIED RATE_LIMIT_EXCEEDED NETWORK_ERROR NOT_FOUND BAD_REQUEST BRIDGE_UNSUPPORTED BRIDGE_UPSTREAM BRIDGE_PROVIDER_UNAVAILABLE BRIDGE_TRANSACTION_NOT_FOUND BRIDGE_SESSION_NOT_FOUND TRANSFER_PLAN_UNSUPPORTED UNAUTHORIZED SCOPE_MISSING PLAN_REQUIRED INSUFFICIENT_CREDITS RATE_LIMITED GEO_BLOCKED VENUE_REGION_BLOCKED IDEMPOTENCY_KEY_REQUIRED IDEMPOTENCY_CONFLICT ARTIFACT_VERSION_CONFLICT SPEND_CAP_EXCEEDED ARTIFACT_BOUNDS_VIOLATION ARTIFACT_INTEGRITY_MISMATCH VENUE_NOT_SUPPORTED EXECUTION_NOT_FOUND NOT_IMPLEMENTED VENUE_CREDENTIAL_REJECTED VENUE_CREDENTIAL_BREAKER_OPEN GEMINI_TIME_NONCE_REQUIRED GEMINI_HEARTBEAT_KEY_UNSUPPORTED VENUE_RELAY_FAILED EXEC_UNAVAILABLE RAIN_INVALID_OPTION RAIN_INVALID_SIDE RAIN_INVALID_PRICE RAIN_INVALID_AMOUNT RAIN_SLIPPAGE_REQUIRED RAIN_INVALID_DEADLINE RAIN_PHASE_NOT_OPEN RAIN_ORDER_LIMIT_REACHED RAIN_POOL_SAFETY_CHECK_FAILED PLATFORM_UNAVAILABLE PACK_NOT_FOUND BILLING_UNAVAILABLE BILLING_CUSTOMER_REQUIRED INVALID_SIGNATURE FEED_NOT_FOUND FEEDS_UNAVAILABLE FEED_UPSTREAM MATCHES_UNAVAILABLE
retryable
required
boolean
requestId
required

Always present on errors; quote this id when reporting a failed request.

string
exchange

Present only when a venue error is attributed to a specific exchange.

string
Example
{
"success": false,
"error": {
"code": "VALIDATION_ERROR"
}
}

Enveloped error.

Media typeapplication/json
object
success
required
boolean
error
required
object
message
required
string
code
required
string
Allowed values: VALIDATION_ERROR NOT_SUPPORTED ACCOUNTS_UNSUPPORTED VENUE_NOT_AVAILABLE EXCHANGE_NOT_AVAILABLE MARKET_NOT_FOUND EVENT_NOT_FOUND CLUSTER_NOT_FOUND OUTCOME_NOT_FOUND SNAPSHOT_NOT_FOUND CATALOG_UNAVAILABLE CATALOG_QUERY_TOO_BROAD HISTORY_UNAVAILABLE ROUTE_NOT_FOUND INTERNAL AUTHENTICATION_ERROR PERMISSION_DENIED RATE_LIMIT_EXCEEDED NETWORK_ERROR NOT_FOUND BAD_REQUEST BRIDGE_UNSUPPORTED BRIDGE_UPSTREAM BRIDGE_PROVIDER_UNAVAILABLE BRIDGE_TRANSACTION_NOT_FOUND BRIDGE_SESSION_NOT_FOUND TRANSFER_PLAN_UNSUPPORTED UNAUTHORIZED SCOPE_MISSING PLAN_REQUIRED INSUFFICIENT_CREDITS RATE_LIMITED GEO_BLOCKED VENUE_REGION_BLOCKED IDEMPOTENCY_KEY_REQUIRED IDEMPOTENCY_CONFLICT ARTIFACT_VERSION_CONFLICT SPEND_CAP_EXCEEDED ARTIFACT_BOUNDS_VIOLATION ARTIFACT_INTEGRITY_MISMATCH VENUE_NOT_SUPPORTED EXECUTION_NOT_FOUND NOT_IMPLEMENTED VENUE_CREDENTIAL_REJECTED VENUE_CREDENTIAL_BREAKER_OPEN GEMINI_TIME_NONCE_REQUIRED GEMINI_HEARTBEAT_KEY_UNSUPPORTED VENUE_RELAY_FAILED EXEC_UNAVAILABLE RAIN_INVALID_OPTION RAIN_INVALID_SIDE RAIN_INVALID_PRICE RAIN_INVALID_AMOUNT RAIN_SLIPPAGE_REQUIRED RAIN_INVALID_DEADLINE RAIN_PHASE_NOT_OPEN RAIN_ORDER_LIMIT_REACHED RAIN_POOL_SAFETY_CHECK_FAILED PLATFORM_UNAVAILABLE PACK_NOT_FOUND BILLING_UNAVAILABLE BILLING_CUSTOMER_REQUIRED INVALID_SIGNATURE FEED_NOT_FOUND FEEDS_UNAVAILABLE FEED_UPSTREAM MATCHES_UNAVAILABLE
retryable
required
boolean
requestId
required

Always present on errors; quote this id when reporting a failed request.

string
exchange

Present only when a venue error is attributed to a specific exchange.

string
Example
{
"success": false,
"error": {
"code": "VALIDATION_ERROR"
}
}

Enveloped error.

Media typeapplication/json
object
success
required
boolean
error
required
object
message
required
string
code
required
string
Allowed values: VALIDATION_ERROR NOT_SUPPORTED ACCOUNTS_UNSUPPORTED VENUE_NOT_AVAILABLE EXCHANGE_NOT_AVAILABLE MARKET_NOT_FOUND EVENT_NOT_FOUND CLUSTER_NOT_FOUND OUTCOME_NOT_FOUND SNAPSHOT_NOT_FOUND CATALOG_UNAVAILABLE CATALOG_QUERY_TOO_BROAD HISTORY_UNAVAILABLE ROUTE_NOT_FOUND INTERNAL AUTHENTICATION_ERROR PERMISSION_DENIED RATE_LIMIT_EXCEEDED NETWORK_ERROR NOT_FOUND BAD_REQUEST BRIDGE_UNSUPPORTED BRIDGE_UPSTREAM BRIDGE_PROVIDER_UNAVAILABLE BRIDGE_TRANSACTION_NOT_FOUND BRIDGE_SESSION_NOT_FOUND TRANSFER_PLAN_UNSUPPORTED UNAUTHORIZED SCOPE_MISSING PLAN_REQUIRED INSUFFICIENT_CREDITS RATE_LIMITED GEO_BLOCKED VENUE_REGION_BLOCKED IDEMPOTENCY_KEY_REQUIRED IDEMPOTENCY_CONFLICT ARTIFACT_VERSION_CONFLICT SPEND_CAP_EXCEEDED ARTIFACT_BOUNDS_VIOLATION ARTIFACT_INTEGRITY_MISMATCH VENUE_NOT_SUPPORTED EXECUTION_NOT_FOUND NOT_IMPLEMENTED VENUE_CREDENTIAL_REJECTED VENUE_CREDENTIAL_BREAKER_OPEN GEMINI_TIME_NONCE_REQUIRED GEMINI_HEARTBEAT_KEY_UNSUPPORTED VENUE_RELAY_FAILED EXEC_UNAVAILABLE RAIN_INVALID_OPTION RAIN_INVALID_SIDE RAIN_INVALID_PRICE RAIN_INVALID_AMOUNT RAIN_SLIPPAGE_REQUIRED RAIN_INVALID_DEADLINE RAIN_PHASE_NOT_OPEN RAIN_ORDER_LIMIT_REACHED RAIN_POOL_SAFETY_CHECK_FAILED PLATFORM_UNAVAILABLE PACK_NOT_FOUND BILLING_UNAVAILABLE BILLING_CUSTOMER_REQUIRED INVALID_SIGNATURE FEED_NOT_FOUND FEEDS_UNAVAILABLE FEED_UPSTREAM MATCHES_UNAVAILABLE
retryable
required
boolean
requestId
required

Always present on errors; quote this id when reporting a failed request.

string
exchange

Present only when a venue error is attributed to a specific exchange.

string
Example
{
"success": false,
"error": {
"code": "VALIDATION_ERROR"
}
}

Enveloped error.

Media typeapplication/json
object
success
required
boolean
error
required
object
message
required
string
code
required
string
Allowed values: VALIDATION_ERROR NOT_SUPPORTED ACCOUNTS_UNSUPPORTED VENUE_NOT_AVAILABLE EXCHANGE_NOT_AVAILABLE MARKET_NOT_FOUND EVENT_NOT_FOUND CLUSTER_NOT_FOUND OUTCOME_NOT_FOUND SNAPSHOT_NOT_FOUND CATALOG_UNAVAILABLE CATALOG_QUERY_TOO_BROAD HISTORY_UNAVAILABLE ROUTE_NOT_FOUND INTERNAL AUTHENTICATION_ERROR PERMISSION_DENIED RATE_LIMIT_EXCEEDED NETWORK_ERROR NOT_FOUND BAD_REQUEST BRIDGE_UNSUPPORTED BRIDGE_UPSTREAM BRIDGE_PROVIDER_UNAVAILABLE BRIDGE_TRANSACTION_NOT_FOUND BRIDGE_SESSION_NOT_FOUND TRANSFER_PLAN_UNSUPPORTED UNAUTHORIZED SCOPE_MISSING PLAN_REQUIRED INSUFFICIENT_CREDITS RATE_LIMITED GEO_BLOCKED VENUE_REGION_BLOCKED IDEMPOTENCY_KEY_REQUIRED IDEMPOTENCY_CONFLICT ARTIFACT_VERSION_CONFLICT SPEND_CAP_EXCEEDED ARTIFACT_BOUNDS_VIOLATION ARTIFACT_INTEGRITY_MISMATCH VENUE_NOT_SUPPORTED EXECUTION_NOT_FOUND NOT_IMPLEMENTED VENUE_CREDENTIAL_REJECTED VENUE_CREDENTIAL_BREAKER_OPEN GEMINI_TIME_NONCE_REQUIRED GEMINI_HEARTBEAT_KEY_UNSUPPORTED VENUE_RELAY_FAILED EXEC_UNAVAILABLE RAIN_INVALID_OPTION RAIN_INVALID_SIDE RAIN_INVALID_PRICE RAIN_INVALID_AMOUNT RAIN_SLIPPAGE_REQUIRED RAIN_INVALID_DEADLINE RAIN_PHASE_NOT_OPEN RAIN_ORDER_LIMIT_REACHED RAIN_POOL_SAFETY_CHECK_FAILED PLATFORM_UNAVAILABLE PACK_NOT_FOUND BILLING_UNAVAILABLE BILLING_CUSTOMER_REQUIRED INVALID_SIGNATURE FEED_NOT_FOUND FEEDS_UNAVAILABLE FEED_UPSTREAM MATCHES_UNAVAILABLE
retryable
required
boolean
requestId
required

Always present on errors; quote this id when reporting a failed request.

string
exchange

Present only when a venue error is attributed to a specific exchange.

string
Example
{
"success": false,
"error": {
"code": "VALIDATION_ERROR"
}
}

Enveloped error.

Media typeapplication/json
object
success
required
boolean
error
required
object
message
required
string
code
required
string
Allowed values: VALIDATION_ERROR NOT_SUPPORTED ACCOUNTS_UNSUPPORTED VENUE_NOT_AVAILABLE EXCHANGE_NOT_AVAILABLE MARKET_NOT_FOUND EVENT_NOT_FOUND CLUSTER_NOT_FOUND OUTCOME_NOT_FOUND SNAPSHOT_NOT_FOUND CATALOG_UNAVAILABLE CATALOG_QUERY_TOO_BROAD HISTORY_UNAVAILABLE ROUTE_NOT_FOUND INTERNAL AUTHENTICATION_ERROR PERMISSION_DENIED RATE_LIMIT_EXCEEDED NETWORK_ERROR NOT_FOUND BAD_REQUEST BRIDGE_UNSUPPORTED BRIDGE_UPSTREAM BRIDGE_PROVIDER_UNAVAILABLE BRIDGE_TRANSACTION_NOT_FOUND BRIDGE_SESSION_NOT_FOUND TRANSFER_PLAN_UNSUPPORTED UNAUTHORIZED SCOPE_MISSING PLAN_REQUIRED INSUFFICIENT_CREDITS RATE_LIMITED GEO_BLOCKED VENUE_REGION_BLOCKED IDEMPOTENCY_KEY_REQUIRED IDEMPOTENCY_CONFLICT ARTIFACT_VERSION_CONFLICT SPEND_CAP_EXCEEDED ARTIFACT_BOUNDS_VIOLATION ARTIFACT_INTEGRITY_MISMATCH VENUE_NOT_SUPPORTED EXECUTION_NOT_FOUND NOT_IMPLEMENTED VENUE_CREDENTIAL_REJECTED VENUE_CREDENTIAL_BREAKER_OPEN GEMINI_TIME_NONCE_REQUIRED GEMINI_HEARTBEAT_KEY_UNSUPPORTED VENUE_RELAY_FAILED EXEC_UNAVAILABLE RAIN_INVALID_OPTION RAIN_INVALID_SIDE RAIN_INVALID_PRICE RAIN_INVALID_AMOUNT RAIN_SLIPPAGE_REQUIRED RAIN_INVALID_DEADLINE RAIN_PHASE_NOT_OPEN RAIN_ORDER_LIMIT_REACHED RAIN_POOL_SAFETY_CHECK_FAILED PLATFORM_UNAVAILABLE PACK_NOT_FOUND BILLING_UNAVAILABLE BILLING_CUSTOMER_REQUIRED INVALID_SIGNATURE FEED_NOT_FOUND FEEDS_UNAVAILABLE FEED_UPSTREAM MATCHES_UNAVAILABLE
retryable
required
boolean
requestId
required

Always present on errors; quote this id when reporting a failed request.

string
exchange

Present only when a venue error is attributed to a specific exchange.

string
Example
{
"success": false,
"error": {
"code": "VALIDATION_ERROR"
}
}

Enveloped error.

Media typeapplication/json
object
success
required
boolean
error
required
object
message
required
string
code
required
string
Allowed values: VALIDATION_ERROR NOT_SUPPORTED ACCOUNTS_UNSUPPORTED VENUE_NOT_AVAILABLE EXCHANGE_NOT_AVAILABLE MARKET_NOT_FOUND EVENT_NOT_FOUND CLUSTER_NOT_FOUND OUTCOME_NOT_FOUND SNAPSHOT_NOT_FOUND CATALOG_UNAVAILABLE CATALOG_QUERY_TOO_BROAD HISTORY_UNAVAILABLE ROUTE_NOT_FOUND INTERNAL AUTHENTICATION_ERROR PERMISSION_DENIED RATE_LIMIT_EXCEEDED NETWORK_ERROR NOT_FOUND BAD_REQUEST BRIDGE_UNSUPPORTED BRIDGE_UPSTREAM BRIDGE_PROVIDER_UNAVAILABLE BRIDGE_TRANSACTION_NOT_FOUND BRIDGE_SESSION_NOT_FOUND TRANSFER_PLAN_UNSUPPORTED UNAUTHORIZED SCOPE_MISSING PLAN_REQUIRED INSUFFICIENT_CREDITS RATE_LIMITED GEO_BLOCKED VENUE_REGION_BLOCKED IDEMPOTENCY_KEY_REQUIRED IDEMPOTENCY_CONFLICT ARTIFACT_VERSION_CONFLICT SPEND_CAP_EXCEEDED ARTIFACT_BOUNDS_VIOLATION ARTIFACT_INTEGRITY_MISMATCH VENUE_NOT_SUPPORTED EXECUTION_NOT_FOUND NOT_IMPLEMENTED VENUE_CREDENTIAL_REJECTED VENUE_CREDENTIAL_BREAKER_OPEN GEMINI_TIME_NONCE_REQUIRED GEMINI_HEARTBEAT_KEY_UNSUPPORTED VENUE_RELAY_FAILED EXEC_UNAVAILABLE RAIN_INVALID_OPTION RAIN_INVALID_SIDE RAIN_INVALID_PRICE RAIN_INVALID_AMOUNT RAIN_SLIPPAGE_REQUIRED RAIN_INVALID_DEADLINE RAIN_PHASE_NOT_OPEN RAIN_ORDER_LIMIT_REACHED RAIN_POOL_SAFETY_CHECK_FAILED PLATFORM_UNAVAILABLE PACK_NOT_FOUND BILLING_UNAVAILABLE BILLING_CUSTOMER_REQUIRED INVALID_SIGNATURE FEED_NOT_FOUND FEEDS_UNAVAILABLE FEED_UPSTREAM MATCHES_UNAVAILABLE
retryable
required
boolean
requestId
required

Always present on errors; quote this id when reporting a failed request.

string
exchange

Present only when a venue error is attributed to a specific exchange.

string
Example
{
"success": false,
"error": {
"code": "VALIDATION_ERROR"
}
}

Enveloped error.

Media typeapplication/json
object
success
required
boolean
error
required
object
message
required
string
code
required
string
Allowed values: VALIDATION_ERROR NOT_SUPPORTED ACCOUNTS_UNSUPPORTED VENUE_NOT_AVAILABLE EXCHANGE_NOT_AVAILABLE MARKET_NOT_FOUND EVENT_NOT_FOUND CLUSTER_NOT_FOUND OUTCOME_NOT_FOUND SNAPSHOT_NOT_FOUND CATALOG_UNAVAILABLE CATALOG_QUERY_TOO_BROAD HISTORY_UNAVAILABLE ROUTE_NOT_FOUND INTERNAL AUTHENTICATION_ERROR PERMISSION_DENIED RATE_LIMIT_EXCEEDED NETWORK_ERROR NOT_FOUND BAD_REQUEST BRIDGE_UNSUPPORTED BRIDGE_UPSTREAM BRIDGE_PROVIDER_UNAVAILABLE BRIDGE_TRANSACTION_NOT_FOUND BRIDGE_SESSION_NOT_FOUND TRANSFER_PLAN_UNSUPPORTED UNAUTHORIZED SCOPE_MISSING PLAN_REQUIRED INSUFFICIENT_CREDITS RATE_LIMITED GEO_BLOCKED VENUE_REGION_BLOCKED IDEMPOTENCY_KEY_REQUIRED IDEMPOTENCY_CONFLICT ARTIFACT_VERSION_CONFLICT SPEND_CAP_EXCEEDED ARTIFACT_BOUNDS_VIOLATION ARTIFACT_INTEGRITY_MISMATCH VENUE_NOT_SUPPORTED EXECUTION_NOT_FOUND NOT_IMPLEMENTED VENUE_CREDENTIAL_REJECTED VENUE_CREDENTIAL_BREAKER_OPEN GEMINI_TIME_NONCE_REQUIRED GEMINI_HEARTBEAT_KEY_UNSUPPORTED VENUE_RELAY_FAILED EXEC_UNAVAILABLE RAIN_INVALID_OPTION RAIN_INVALID_SIDE RAIN_INVALID_PRICE RAIN_INVALID_AMOUNT RAIN_SLIPPAGE_REQUIRED RAIN_INVALID_DEADLINE RAIN_PHASE_NOT_OPEN RAIN_ORDER_LIMIT_REACHED RAIN_POOL_SAFETY_CHECK_FAILED PLATFORM_UNAVAILABLE PACK_NOT_FOUND BILLING_UNAVAILABLE BILLING_CUSTOMER_REQUIRED INVALID_SIGNATURE FEED_NOT_FOUND FEEDS_UNAVAILABLE FEED_UPSTREAM MATCHES_UNAVAILABLE
retryable
required
boolean
requestId
required

Always present on errors; quote this id when reporting a failed request.

string
exchange

Present only when a venue error is attributed to a specific exchange.

string
Example
{
"success": false,
"error": {
"code": "VALIDATION_ERROR"
}
}