Nexus/API Reference/Journal and Edge

Read your bot's Edge

GEThttps://app.skylit.ai/api/nexus/v1/agent/edge

Your bot's Edge (its average R per position, after fees) and Proven Edge (the lowest that average is likely to be, at 80% confidence), worked out the same way as your rank's, over your bot's own trades. Private to you: it's never written to a rank, a leaderboard, a season or your profile.

  • Shown once Skylit's new ranks are on for you. Until then this answers 200 with data {"enabled": false} and no figures. There's no date yet.
  • It reads your bot's account: leave account out or send agent. account=main answers 400 bad_request: your own Edge is your rank.
  • Under minPositions counted positions, edge is null and reason is not_enough_positions. Never zeros.

Authorization

Authorization: Bearer <your API key>

Required. A missing header returns 401; an invalid, revoked or expired key returns 403.

Query parameters

  • accountstring

    main (your own simulated wallet, the default) or agent (your bot's).

    mainagent

Responses

  • 200

    The Edge, or why there isn't one yet.

  • 400

    Code: bad_request. account, range, by or month isn't one of the allowed values, or account=main was sent to agent/edge. The message says which.

  • 401

    No key, or a key that isn't valid. Codes: missing_api_key, invalid_api_key.

  • 403

    The key works but this can't be read. Codes: feature_disabled (you sent port: ports aren't available yet, so leave it out), account_suspended, nexus_access_denied.

  • 404

    Code: user_not_found. This Skylit account hasn't used Nexus yet, so it has no journal.

  • 429

    Over a rate limit. Wait Retry-After seconds, then retry. Codes: rate_limited, and stream_limit_reached (too many live streams open: 3 per key, 6 per account).

  • 500

    Something went wrong on our side. If you sent a clientOrderId, retry with the same one. Code: internal_error.

  • 503

    Try again in a moment (honour Retry-After when it's sent). Codes: stale_quote (the quote, or a stock's last trade, is more than 15 seconds old, so nothing filled), no_live_price, rules_pending, unavailable, auth_unavailable, access_check_unavailable, api_keys_unavailable, trades_api_disabled, stream_unavailable (the live stream isn't on, or the server is restarting: try again shortly, or poll the reads).

Response fields

  • dataobject
    • portstring | nulluuid

      Always null for now (your Bot account).

    • edgeobject | null

      null when there isn't enough to show; reason says why.

    • reasonstring | null
      not_enough_positionsnull
    • positionsinteger

      Positions in the window, scratches included.

    • countedPositionsinteger

      Positions that count (not scratches).

    • minPositionsinteger
    • windowDaysinteger
  • metaobject

    Which account was read.

    • accountstring
      mainagent
    • portstring | nulluuid

      Always null for now.

Last updated

Was this page helpful?