Skip to content
API

One API for every execution on Robinhood Chain.

The console is a client of this API — anything you can do in the interface is available programmatically, with the same resources and the same guarantees.

Overview

Designed to be driven by machines.

The console is a client of this API — every figure it shows comes back from one of these routes, with the source attached.

Plain HTTP and JSON

No SDK to install and no client to keep in sync — every route is a documented GET or POST that curl can drive.

Evidence carries its source

Each fact returns with the endpoint it came from, so any figure in a response can be checked against the chain.

Absence is reported, not filled

When a source has nothing to say the response says so. No field is ever populated with a plausible substitute.

Authentication

There isn't any yet.

The service runs locally and accepts every request unauthenticated. Accounts, keys, and tenancy are not built, so nothing here asks you for a token it would only ignore.

curl
# Create a key. It is returned once and stored only as a hash.
curl -X POST http://127.0.0.1:8000/api/v1/keys \
  -H "Content-Type: application/json" \
  -d '{ "label": "my laptop" }'

# Analyses require it, and are metered against a daily allowance.
curl "http://127.0.0.1:8000/api/v1/token/0x5d3a1Ff2b6BAb83b63cd9AD0787074081a52ef34" \
  -H "Authorization: Bearer mk_..."

# Check what is left.
curl http://127.0.0.1:8000/api/v1/keys/me -H "Authorization: Bearer mk_..."

Endpoints

The resource surface

Every path below is transcribed from the running service's OpenAPI document. Analysis routes run the pipeline; the rest read chain data or describe the platform.

  • POST/api/v1/tasks

    Submit one task. Routes it through the providers this deployment has and returns a structured report, including the steps that did not run and why.

  • GET/api/v1/tasks/{task_id}

    Retrieve a finished report. Held for 24 hours.

  • POST/api/v1/execute

    Submit a free-form request. The router infers the target from the text.

  • GET/api/v1/token/{address}

    Analyze a token: metadata, holders, price, and risk.

  • GET/api/v1/wallet/{address}

    Analyze a wallet's holdings and activity.

  • GET/api/v1/contract/{address}

    Analyze a contract's verification state and source.

  • GET/api/v1/project

    A network-level overview of Robinhood Chain.

  • GET/api/v1/site

    Off-chain intelligence for a domain: published policies, DNS and mail posture, registration, and archive history.

  • GET/api/v1/stream

    The same analysis as server-sent events: stage progress, then the full evidence, then the summary token by token.

  • GET/api/v1/chain/stats

    Live chain statistics.

  • GET/api/v1/chain/tokens

    Tokens tracked on the chain, with live prices. Pass `q` to search by ticker.

  • GET/api/v1/executions

    List recent executions, newest first.

  • GET/api/v1/executions/{execution_id}

    Retrieve one execution with its pipeline stages.

  • GET/api/v1/executions/{execution_id}/result

    The stored result in full — what a shared link renders, rather than a fresh run against a chain that has moved.

  • GET/api/v1/agents

    List the registered agents.

  • GET/api/v1/agents/{agent_id}

    Retrieve one agent's capabilities.

  • GET/api/v1/watches

    Your watchlist. Each entry is re-analysed on a schedule and reports what changed.

  • POST/api/v1/watches

    Watch a subject. Every check spends one unit of the key's daily analysis quota.

  • POST/api/v1/keys

    Create an API key. Returned once and stored only as a hash — analyses require one.

  • GET/api/v1/keys/me

    Quota and usage for the key in use, and when the allowance resets.

  • GET/api/v1/pipelines

    List the pipelines.

  • GET/api/v1/status

    Component readiness and the live state of every upstream service.

  • GET/health

    Liveness probe.

  • GET/version

    Build and environment information.

Usage

Read a response.

There is no published client package. A response carries evidence, the sources behind it, and a summary that declares whether a model produced it.

execution.ts
// No SDK package is published. The API is plain HTTP and JSON.
const response = await fetch(
  "http://127.0.0.1:8000/api/v1/token/0x5d3a1Ff2b6BAb83b63cd9AD0787074081a52ef34",
);

const execution = await response.json();

// Evidence is service-derived and each item carries its source.
for (const item of execution.evidence) {
  console.log(item.label, item.value, item.source);
}

// The summary is model-generated, and says so when no key is configured.
console.log(execution.summary_status, execution.summary);

Status

What is live today.

The engine, the chain and market data, and the AI summaries all run. What is not built is listed as planned rather than left off.

  • Console

    Application shell and routing.

    Operational
  • Documentation

    Public reference surface.

    Operational
  • Execution API

    Nine agents registered, six implemented; live chain, market, and web data.

    Operational
  • AI summaries

    Streamed from Claude Sonnet 5 over collected evidence.

    Operational
  • Persistence

    Executions are stored, addressable by URL, and compared run to run.

    Operational
  • Authentication

    API keys with a daily analysis quota. History is scoped to the key that ran it.

    Operational
  • Monitoring

    Watched subjects are re-analysed on a schedule and the differences reported. Off unless MONITOR_ENABLED is set.

    Operational
  • Alert delivery

    An alarming change is written to the log and shown in the console. Nothing emails or messages you yet.

    Planned