Use Concordal as your backend
The same decision pipeline is available as JSON during a managed beta. Self-serve billing and API-key provisioning are not open yet.
Same endpoints as our frontend uses. POST /v1/decisions returns a job id; poll /v1/decisions/job/{id} until done.
Use the JWT returned by the existing invite or magic-link flow. Requests are rate-limited per identity.
The router uses only providers configured in production. If real data or a real model is unavailable, the request fails explicitly instead of returning a synthetic result.
Quick start (Python)
import requests, time
API = "https://trading-agents-platform.onrender.com"
TOKEN = "<JWT from /v1/auth/redeem>"
# Kick off a decision job
job = requests.post(
f"{API}/v1/decisions",
headers={"Authorization": f"Bearer {TOKEN}"},
json={"ticker": "AAPL", "debate_rounds": 2, "locale": "en"},
).json()
# Poll until done (typical 60-90s for real LLM)
while True:
r = requests.get(
f"{API}/v1/decisions/job/{job['job_id']}",
headers={"Authorization": f"Bearer {TOKEN}"},
).json()
if r["status"] == "done":
break
if r["status"] == "error":
raise RuntimeError(r["error"])
time.sleep(2)
decision = r["result"]["decision"]
print(decision["side"], decision["target_weight"], decision["confidence"])…or just curl
curl -X POST https://trading-agents-platform.onrender.com/v1/decisions \
-H "Authorization: Bearer sk_xxx" \
-H "Content-Type: application/json" \
-d '{"ticker": "AAPL", "debate_rounds": 2}'Register a private source without changing consumers
A source handler joins the priority-ordered data bus. The handler remains responsible for licensing, authentication and returning timestamped data that satisfies the schema.
from trading_agents.ecosystem.data_bus import bus, Source, NeedKind
bus.register(Source(
project_slug="your_firm_source",
handles=NeedKind.OHLCV,
priority=1,
handler=lambda need: client.get_bars(
ticker=need.params["ticker"],
asof=need.params["asof"],
lookback_days=need.params.get("lookback_days", 90),
),
description="Licensed internal OHLCV source",
))API access is currently a managed beta
Self-serve billing and an API-key console have not passed production verification. Tell us the use case first so we can confirm limits, data coverage, and latency.
The full OpenAPI schema is auto-generated by FastAPI at /docs (interactive Swagger UI). Source on GitHub if you want to self-host instead.