Skip to main content
Use the 0xinsider command to read games, markets, wallets, large trades, positions, picks, reports, and your account usage. Data commands print JSON. login and logout manage the CLI’s session. You need Node.js 22 or newer and an active Pro or Max account. For example data without an account, use the sandbox; the CLI has no sandbox mode.

Install and sign in

On macOS or Linux, install with one command. The script uses npm when Node.js 22 or newer is installed and Homebrew when Node.js is not, and it prints each command before it runs it:
Run it again to upgrade. To see its plan without changing anything, run curl -fsSL https://0xinsider.com/install.sh | sh -s -- --dry-run, or read the script first. To install with npm yourself, and on Windows:
login prints a verification URL and a code, then waits for approval. Open the URL, sign in, confirm the code, and approve the read and usage scopes. The CLI never asks for your password or API key during sign-in. The browser does not open automatically. You can sign in from another device when the terminal has no browser. Ctrl-C cancels the wait; if you already approved the connection, revoke it on Developers.

Upgrade or switch packages

@0xinsider/mcp@3.15.0 installs both the CLI and the local MCP server. 0xinsider --version reports the runtime version. To try the CLI without installing it globally, run npx --yes @0xinsider/mcp@3.15.0 --help. Runtime 3.0.0 removed the 4 retired sports tools and replaces them with the Max-only get_edge_hunter tool. An older MCP package upgrades in place with the install command above. If you installed the separate 0xinsider package globally, uninstall it before switching: npm uninstall --global 0xinsider. Both packages install the same executable, so do not install both globally or overwrite one with --force. The install script upgrades whichever of the two you already have. The 1.x package is the older MCP runtime for Node.js 18 or 20 and has no product CLI commands. The Homebrew tap also provides the 3.x CLI. The commands on this page use npm.

Use an API key in scripts

Set OXINSIDER_API_KEY in your environment, then run a data command. This works for agents, CI, and Windows, where stored sign-in sessions are unavailable. The environment key takes precedence over a stored session. The CLI never saves it, and logout does not revoke it. Pass credentials through the environment, never through --query token=... or a URL.

Commands

Each command below reads one endpoint. login, logout, and completions are covered in their own sections. With runtime version 3.0.0 or newer, read the Max-only Edge Hunter board with 0xinsider api call getEdgeHunter --query horizon_hours=24 --json, or 0xinsider edge-hunter --query horizon_hours=24 from runtime 3.7.0. For ranked evidence, add --query view=signals --query category=Soccer --query min_grade=A. For observations, use --query view=observations --query cohort=wider_holder. Runtime 3.1.0 supports the advanced views; runtime 3.2.0 adds shared selector arrays and board grade/limit options. Runtime 3.3.0 adds board token IDs, frozen ranking timestamps, and aggregate category evidence. Runtime 3.4.0 requires typed degradation_reasons and all 6 coverage counts on observations; read the observation quality contract to distinguish source coverage from your selected page. Advanced views return paginated list envelopes; the default board remains data.rows. The old sports signals and observations operation IDs target retired routes. Every Edge Hunter view supports shared market selection. For an NFL board, use 0xinsider api call getEdgeHunter --query sports=Football --query leagues=nfl --query limit=10 --json. Repeat an axis such as --query sports=Football --query sports=Basketball for multiple values; selection-aware reads use strict query validation.

Find an operation id

Runtime 3.7.0 adds api list. It prints each operation api call runs, its method, its path, its path and query parameter names, and the command that reads it when one exists. It needs no credential.
A mistyped id names the closest registered ids and exits with code 2. 0xinsider api call getGames suggests listGames and getGame. api call runs JSON GET reads. Of the webhook and export routes, it runs only listWebhooks, getWebhook, and getTraderExportSnapshot, which the MCP tools also serve. api call also runs the batch lookups batchGetTraders and batchGetMarketFlow; pass the request body as --body '<json>'. It refuses every write, the other webhook routes, streams, MCP, the other export routes, and Markdown routes.

Options

If more data remains after the page limit, complete is false, next_cursor contains the continuation point, and the command exits with code 8. Save that cursor to continue later. If a later page fails, the output retains the pages already fetched and stderr reports where to resume. A nonzero exit means you must check whether the result is incomplete.

Sign out and manage the session

logout revokes the stored connection before deleting its file. If revocation fails, the file stays so you can retry. To change accounts, log out first; login refuses to replace an existing session. The file is $XDG_CONFIG_HOME/0xinsider/cli/session.json, or ~/.config/0xinsider/cli/session.json when XDG_CONFIG_HOME is unset. OXINSIDER_CONFIG_DIR overrides the directory. The file permissions are 0600, and its directory permissions are 0700. The session works only with the API origin that issued it. OXINSIDER_API_URL accepts the production origin or a loopback development origin. A session.lock blocks session commands while another process owns the session. After a crash, check the lock’s owner.json and confirm that process has stopped before removing the lock.

Exit codes

--help, --version, api list, and completions bash|zsh|fish work offline without credentials. | Exit | Meaning || --- | --- | | 0 | Success. | | 2 | A command or parameter error, or the API answered 400. | | 3 | The credential is missing, invalid, or revoked (401). | | 4 | Subscription, scope, or account access was denied (402, 403, 423). | | 5 | Rate limited (429). | | 6 | An upstream, storage, or response-contract failure. | | 7 | A network or timeout failure. | | 8 | The --pages bound was reached before the traversal finished. | | 130 | Interrupted. | A connection failure or interrupted response body exits with code 7. Invalid JSON or an invalid response shape exits with code 6. Ctrl-C exits with code 130. Sign-in registration, token refresh, and revocation are not retried automatically. If their response is lost, the operation may have completed; follow the session’s recovery instructions before retrying. Failure messages identify the error without printing response bodies or credentials.

Limits

  • Data commands require Pro or Max access. A lapsed subscription exits with code 4.
  • The CLI does not place orders or provide webhook management commands.
  • Running 0xinsider with no arguments, or with serve, starts the stdio MCP server. init configures an MCP client.
  • The MCP server reads OXINSIDER_API_KEY; it does not use a CLI sign-in session.