Norynta public docs
Norynta API Reference
Human-readable endpoint map for Norynta OpenAPI, schema, market data, orderbook, and trading APIs.
API Reference
Current product mode (2026-07-28): Norynta is play-only. Real-money trading, deposits, withdrawals, cash payouts, yield, and mainnet execution are postponed until further notice. Any such workflow retained below is historical or implementation reference, not an available product capability. See
PLAY_MODE_GUIDE.md.
Purpose
This page is the human-readable reference map for Norynta's external API. Use it together with the machine-readable contracts:
- OpenAPI:
public/openapi.json - AsyncAPI:
public/asyncapi.json - Stable schema catalog:
public/api-schema.json - Versioned OpenAPI wrapper:
GET /api/v1/openapi.json - Versioned AsyncAPI wrapper:
GET /api/v1/asyncapi.json
For a task-first path, start with docs/public/DEVELOPER_QUICKSTART.md.
Base URL
Use the deployment URL provided by Norynta, or local development:
export NORYNTA_BASE_URL="${NORYNTA_BASE_URL:-http://localhost:3000}"
Auth Modes
| Mode | Used for | Headers |
|---|---|---|
| Public read | discovery, many market reads, selected streams | none |
| Agent API key | protected discovery, commercial data, developer diagnostics | Authorization: Bearer <key> or x-api-key: <key> |
| Wallet-signed write | order placement, cancellation, RFQ accept | API key when enabled plus wallet signature headers from /api/agent/access |
API keys identify, quota, and scope the integration. Wallet signatures authorize trading writes.
Discovery And Contracts
| Endpoint | Method | Use |
|---|---|---|
/.well-known/agent.json | GET | Well-known agent discovery |
/api/agent/card | GET | A2A-compatible capability card |
/api/agent/access | GET | Auth state, execution metadata, idempotency, retry, safety, compatibility |
/api/bot/config | GET | Bot polling, auth, error taxonomy, commercial plan metadata |
/api/rate-limits | GET | Public rate-limit budgets and endpoint-cost pointer |
/api/markets/policy | GET | Market integrity and sensitive-market exclusion policy |
/openapi.json | GET | OpenAPI contract |
/api-schema.json | GET | Stable endpoint/schema catalog |
/api/v1/status | GET | Versioned status, auth split, idempotency contract |
/api/v1/agent/tools | GET | Agent-native tool manifest |
Recommended startup probe:
curl -sS "$NORYNTA_BASE_URL/api/v1/status" | jq
curl -sS "$NORYNTA_BASE_URL/api/agent/access" | jq
curl -sS "$NORYNTA_BASE_URL/api/v1/agent/tools" | jq
Market Discovery
| Endpoint | Method | Use |
|---|---|---|
/api/v1/aggregator/markets | GET | Normalized, attributed feed for odds comparison, directories, terminals, and routing partners |
/api/events | GET | Event list with status, sort, cursor, and limit filters |
/api/v1/events | GET | Versioned alias for event discovery |
/api/v1/markets | GET | Versioned market discovery alias |
/api/events/:slug | GET | Market/event detail by slug |
/api/v1/markets/:id | GET | Versioned detail alias by slug or event public key |
/api/events/top | GET | Ranked top markets with quality signals |
/api/events/health | GET | Bulk health metrics for bots |
/api/events/:slug/health | GET | Single-market health metrics |
/api/search | GET | Search markets and app content |
/api/markets/requests | GET | Public demand queue for user-requested markets |
/api/markets/requests/readiness | POST | Preflight a requested-market draft before wallet signing or creator outreach |
/api/markets/requests/launch-packs | GET | Ranked request launch packs with maker briefs, social drafts, data angles, and institutional pilot framing |
/api/markets/requests/maker-kit?id=123 | GET | Dry-run maker activation kit for one public request, including first-order terms, risk caps, commands, and outreach copy |
/api/markets/requests/maker-kit?queue=1 | GET | Ranked zero-budget maker activation queue for finding requests that can recruit external first liquidity without house MM capital |
See docs/public/AGGREGATOR_INTEGRATION.md for the stable partner contract,
matching guidance, and SDK helper.
See docs/public/MARKET_DATA_DISCOVERY.md for workflow examples.
Request-readiness preflight is useful before asking a creator, bot, or maker to
support a market. The response includes readiness scoring plus launchKit
copy for maker outreach, X, YouTube Shorts, data-sales, institutional pilot, and
bot-starter workflows:
curl -sS "$NORYNTA_BASE_URL/api/markets/requests/readiness" \
-H 'content-type: application/json' \
-d '{
"question": "Will BTC close above $150,000 on Dec. 31, 2026?",
"category": "Crypto",
"end_timestamp": 1800000000,
"outcomes": "Yes, No",
"source_name": "Pyth",
"source_url": "https://pyth.network/price-feeds/crypto-btc-usd",
"observation_rule": "Resolve using the official BTC/USD close at the final timestamp.",
"demand_evidence": "Traders want a clear BTC hedge market with first-maker interest.",
"suggested_yes_probability": 55,
"first_limit_order_intent": true
}' | jq
Snapshots And Health
| Endpoint | Method | Use |
|---|---|---|
/api/events/:slug/snapshot | GET | Unified market snapshot, health, best bid/ask, tradability |
/api/events/snapshots | POST | Bulk snapshots by slug or event public key |
/api/events/snapshots | GET | Cacheable bulk snapshots via query params |
/api/events/health-snapshots | POST | Combined health and snapshots for bots |
/api/events/health-snapshots | GET | Cacheable health and snapshots |
/api/events/bot-snapshot | POST | Bulk ranked snapshots for bots |
/api/bot/quant | GET/POST | Agent-key targeted spread, midpoint, depth-band, stale-age, and market-state metrics |
Use bulk endpoints for polling many markets. Use single-market endpoints for inspection, debugging, and event pages.
Orderbook And Pricing
| Endpoint | Method | Use |
|---|---|---|
/api/clob/v2/orderbook | GET | CLOB depth for eventPubkey, outcomeIndex, depth |
/api/v1/markets/:id/orderbook | GET | Versioned orderbook alias |
/api/events/:slug/orderbook/snapshot | GET | Event-slug orderbook snapshot |
/api/events/:slug/orderbook/summary | GET | Orderbook summary for UI and bots |
/api/markets/:id/candles | GET | OHLC candle history |
/api/markets/:id/history | GET | Market history alias |
/api/v1/markets/:id/history | GET | Versioned history/candles alias |
/api/events/:slug/activity | GET | Recent trades/activity |
/api/v1/markets/:id/trades | GET | Versioned trade/activity alias |
See docs/public/ORDERBOOK_AND_PRICING.md for field semantics and examples.
Trading
| Endpoint | Method | Use |
|---|---|---|
/api/v1/orders/validate | POST | Preflight signed-order readiness |
/api/v1/orders/estimate-impact | POST | Estimate size/depth impact |
/api/clob/v2/orders | POST | Submit one signed limit order |
/api/clob/v2/orders/batch | POST | Submit multiple signed limit orders |
/api/clob/v2/orders | DELETE | Cancel one or more signed orders |
/api/clob/v2/cancel | POST | Cancel one signed order |
/api/clob/v2/cancel-all | POST | Set min nonce and invalidate older open orders |
/api/clob/v2/cancel-all | DELETE | Cancel all open signed orders for a user |
/api/clob/v2/cancel-market-orders | DELETE | Cancel open orders for a market or outcome |
/api/clob/v2/my-orders | POST | List authenticated user's open signed orders |
/api/clob/v2/data/orders | GET | Query public order records by id, market, owner, or asset |
/api/fees/estimate | GET, POST | Estimate CLOB maker/taker fees for price and size |
/api/treasury/fee-config | GET | Live on-chain fee config when available |
/api/clob/v2/config | GET | Public CLOB/RFQ limits, fee policy, and exposure-group support |
/api/clob/v2/rfq/quote | POST | Request a signed maker quote |
/api/clob/v2/rfq/accept | POST | Accept a signed RFQ quote |
/api/clob/v2/rfq/network | GET | RFQ network and maker-broadcast capability discovery |
All mutating order endpoints should use deterministic clientOrderId and
Idempotency-Key values. See docs/public/TRADING_INTEGRATION_WORKFLOW.md.
Cash And Payment Rails
| Endpoint | Method | Use |
|---|---|---|
/api/deposit-options | GET | Country-aware deposit options plus settlementModel, paymentRails, and custody-aware routePlan metadata for the detected country |
/api/withdrawal-options | GET | Country-aware withdrawal options plus settlementModel, paymentRails, and custody-aware routePlan metadata for native Solana USDC or enabled custodial payout adapters |
/api/payment-rails/countries | GET | Public country payment-rail readiness catalog for multi-chain USDC, exchange transfer, card, bank, hosted onramp, bridge withdrawal, and local payout candidates |
/api/payment-rails/countries?country=US | GET | Single-country payment rail plan, including staged local method hints such as ACH, SEPA, Pix, UPI, FPX, bank payout, and crypto fallback rails |
/api/users/:id/fiat-deposit-intents | POST | Country-aware signed hosted fiat-to-USDC intent with Coinbase or Stripe Crypto Onramp support, settlement-network destination validation, and idempotent retry handling |
/api/users/:id/fiat-transfers | GET | Signed user view of provider-backed fiat deposit and withdrawal status with signed direction/status/limit filters, redacted provider metadata, and lifecycle summary counts |
/api/users/:id/fiat-withdrawal-beneficiaries/stripe-connect | POST | Country-aware signed Stripe Connect onboarding link creation for tokenized bank payout beneficiaries; stores only the connected-account token and sanitized status |
/api/users/:id/fiat-withdrawal-requests | POST | Country-aware signed tokenized bank payout request with phone, compliance, idempotency, generic provider submit, and active-source Stripe Connect payout gates |
/api/webhooks/payment-provider | POST | Signed provider settlement webhook for generic providers and Stripe callbacks; idempotently records events, validates amount/currency/user/country against stored intents, credits deposits, confirms payouts, updates Stripe Connect account readiness, and posts accounting ledger entries |
Deposit and withdrawal history rows preserve legacy vault_ata /
collateral_mint fields, but multi-rail reconciliation should read the
structured settlement_network, settlement_adapter, provider,
provider_reference, rail_code, destination_address,
settlement_transaction_id, bridge_route, and settlement_metadata fields.
Fiat rails are candidates until provider coverage, jurisdiction review, KYC,
accounting, reconciliation, proof controls, and canaries are ready. See
docs/public/CASH_DEPOSITS_WITHDRAWALS.md.
Streams
| Endpoint | Method | Use |
|---|---|---|
/api/events/:slug/stream | GET | SSE trades and optional top-of-book |
/api/events/:slug/orderbook/stream | GET | SSE orderbook snapshots, deltas, heartbeat |
/api/v1/streams/manifest | GET | Stream contract, sequence policy, channel map |
/api/v1/streams/replay | GET | Replay contract; refresh snapshots when storage is unavailable |
The current production-safe stream path is SSE plus periodic snapshot reconciliation. The versioned stream manifest locks the future WebSocket contract shape for market, user, sports, and RFQ channels.
Commercial Data API
| Endpoint | Method | Use |
|---|---|---|
/api/data/market-intelligence | GET | Ranked market intelligence |
/api/data/signals | GET | Derived trading and market-quality signals |
/api/data/market-intelligence/history | GET | Premium time-series metrics |
/api/data/trades | GET | Normalized historical trades |
/api/data/positions | GET | Public wallet position export |
/api/data/providers/official-sources | GET | Resolution/data provider source metadata |
Commercial data endpoints may require agent/developer API keys and plan-level entitlements.
Developer Diagnostics
| Endpoint | Method | Use |
|---|---|---|
/api/developer/diagnostics | GET | Signed-in developer readiness checks |
/api/developer/usage | GET | Developer usage summary |
/api/v1/developer/endpoint-costs | GET | Endpoint cost and quota unit matrix |
/api/v1/developer/request-logs | GET | Redacted request log contract |
/api/v1/developer/latency | GET | Latency-stage contract |
/api/v1/developer/explain-error | POST | Error code and request-id remediation |
Endpoint costs are a contract for client budgeting and should be read before high-volume integration tests:
curl -sS "$NORYNTA_BASE_URL/api/v1/developer/endpoint-costs" | jq
Reference Generation
Validate the local contract before publishing integration changes:
npm run openapi:check
npm run check:agent-docs
npm run bot:cli -- doctor
Regenerate contracts when endpoint shapes change:
npm run openapi:generate
Related Docs
docs/public/MARKET_DATA_DISCOVERY.mddocs/public/ORDERBOOK_AND_PRICING.mddocs/public/ERROR_CODES.mddocs/public/AUTH_AND_RATE_LIMITS.mddocs/public/STREAMING_AND_RECONCILIATION.mddocs/public/TRADING_INTEGRATION_WORKFLOW.md