API ReferenceAccounts & Portfolio
Value one public address across every hosted account venue in one call.
const url = 'https://data.predictefy.com/v1/portfolio?address=example';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}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, in order:
- outcomes[].price is authoritative;
- yes_price/no_price are the binary fast path;
- 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.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Query Parameters
Section titled “Query Parameters”Optional comma-separated subset of portfolio-capable registry venues.
Responses
Section titled “Responses”A bounded cross-venue portfolio snapshot with honest partial availability.
object
object
object
object
object
object
Exact when the first adapter page proves the complete count; otherwise null.
object
object
object
Exact when the first adapter page proves the complete count; otherwise null.
object
object
object
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 } } ] } } } }}VALIDATION_ERROR
object
object
Always present on errors; quote this id when reporting a failed request.
Present only when a venue error is attributed to a specific exchange.
Example
{ "success": false, "error": { "code": "VALIDATION_ERROR" }}The API key is missing, unknown, or revoked. A venue-authenticated read also answers 401 when the venue itself rejects the credential. Not retryable.
object
object
Always present on errors; quote this id when reporting a failed request.
Present only when a venue error is attributed to a specific exchange.
Example
{ "success": false, "error": { "code": "VALIDATION_ERROR" }}The account's credit balance cannot cover this endpoint's weight. Not retryable.
object
object
Always present on errors; quote this id when reporting a failed request.
Present only when a venue error is attributed to a specific exchange.
Example
{ "success": false, "error": { "code": "VALIDATION_ERROR" }}The API key lacks the scope this route requires, or the account's plan does not include the feature. Not retryable.
object
object
Always present on errors; quote this id when reporting a failed request.
Present only when a venue error is attributed to a specific exchange.
Example
{ "success": false, "error": { "code": "VALIDATION_ERROR" }}ROUTE_NOT_FOUND when the flag is off
object
object
Always present on errors; quote this id when reporting a failed request.
Present only when a venue error is attributed to a specific exchange.
Example
{ "success": false, "error": { "code": "VALIDATION_ERROR" }}Rate limit exceeded. The response carries Retry-After in whole seconds, always rounded up so a sub-second remainder never points back inside the live window.
object
object
Always present on errors; quote this id when reporting a failed request.
Present only when a venue error is attributed to a specific exchange.
Example
{ "success": false, "error": { "code": "VALIDATION_ERROR" }}Platform fail-closed; venue outages stay in the 200 body
object
object
Always present on errors; quote this id when reporting a failed request.
Present only when a venue error is attributed to a specific exchange.
Example
{ "success": false, "error": { "code": "VALIDATION_ERROR" }}