Skip to content
Docs

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

ModeUsed forHeaders
Public readdiscovery, many market reads, selected streamsnone
Agent API keyprotected discovery, commercial data, developer diagnosticsAuthorization: Bearer <key> or x-api-key: <key>
Wallet-signed writeorder placement, cancellation, RFQ acceptAPI 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

EndpointMethodUse
/.well-known/agent.jsonGETWell-known agent discovery
/api/agent/cardGETA2A-compatible capability card
/api/agent/accessGETAuth state, execution metadata, idempotency, retry, safety, compatibility
/api/bot/configGETBot polling, auth, error taxonomy, commercial plan metadata
/api/rate-limitsGETPublic rate-limit budgets and endpoint-cost pointer
/api/markets/policyGETMarket integrity and sensitive-market exclusion policy
/openapi.jsonGETOpenAPI contract
/api-schema.jsonGETStable endpoint/schema catalog
/api/v1/statusGETVersioned status, auth split, idempotency contract
/api/v1/agent/toolsGETAgent-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

EndpointMethodUse
/api/v1/aggregator/marketsGETNormalized, attributed feed for odds comparison, directories, terminals, and routing partners
/api/eventsGETEvent list with status, sort, cursor, and limit filters
/api/v1/eventsGETVersioned alias for event discovery
/api/v1/marketsGETVersioned market discovery alias
/api/events/:slugGETMarket/event detail by slug
/api/v1/markets/:idGETVersioned detail alias by slug or event public key
/api/events/topGETRanked top markets with quality signals
/api/events/healthGETBulk health metrics for bots
/api/events/:slug/healthGETSingle-market health metrics
/api/searchGETSearch markets and app content
/api/markets/requestsGETPublic demand queue for user-requested markets
/api/markets/requests/readinessPOSTPreflight a requested-market draft before wallet signing or creator outreach
/api/markets/requests/launch-packsGETRanked request launch packs with maker briefs, social drafts, data angles, and institutional pilot framing
/api/markets/requests/maker-kit?id=123GETDry-run maker activation kit for one public request, including first-order terms, risk caps, commands, and outreach copy
/api/markets/requests/maker-kit?queue=1GETRanked 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

EndpointMethodUse
/api/events/:slug/snapshotGETUnified market snapshot, health, best bid/ask, tradability
/api/events/snapshotsPOSTBulk snapshots by slug or event public key
/api/events/snapshotsGETCacheable bulk snapshots via query params
/api/events/health-snapshotsPOSTCombined health and snapshots for bots
/api/events/health-snapshotsGETCacheable health and snapshots
/api/events/bot-snapshotPOSTBulk ranked snapshots for bots
/api/bot/quantGET/POSTAgent-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

EndpointMethodUse
/api/clob/v2/orderbookGETCLOB depth for eventPubkey, outcomeIndex, depth
/api/v1/markets/:id/orderbookGETVersioned orderbook alias
/api/events/:slug/orderbook/snapshotGETEvent-slug orderbook snapshot
/api/events/:slug/orderbook/summaryGETOrderbook summary for UI and bots
/api/markets/:id/candlesGETOHLC candle history
/api/markets/:id/historyGETMarket history alias
/api/v1/markets/:id/historyGETVersioned history/candles alias
/api/events/:slug/activityGETRecent trades/activity
/api/v1/markets/:id/tradesGETVersioned trade/activity alias

See docs/public/ORDERBOOK_AND_PRICING.md for field semantics and examples.

Trading

EndpointMethodUse
/api/v1/orders/validatePOSTPreflight signed-order readiness
/api/v1/orders/estimate-impactPOSTEstimate size/depth impact
/api/clob/v2/ordersPOSTSubmit one signed limit order
/api/clob/v2/orders/batchPOSTSubmit multiple signed limit orders
/api/clob/v2/ordersDELETECancel one or more signed orders
/api/clob/v2/cancelPOSTCancel one signed order
/api/clob/v2/cancel-allPOSTSet min nonce and invalidate older open orders
/api/clob/v2/cancel-allDELETECancel all open signed orders for a user
/api/clob/v2/cancel-market-ordersDELETECancel open orders for a market or outcome
/api/clob/v2/my-ordersPOSTList authenticated user's open signed orders
/api/clob/v2/data/ordersGETQuery public order records by id, market, owner, or asset
/api/fees/estimateGET, POSTEstimate CLOB maker/taker fees for price and size
/api/treasury/fee-configGETLive on-chain fee config when available
/api/clob/v2/configGETPublic CLOB/RFQ limits, fee policy, and exposure-group support
/api/clob/v2/rfq/quotePOSTRequest a signed maker quote
/api/clob/v2/rfq/acceptPOSTAccept a signed RFQ quote
/api/clob/v2/rfq/networkGETRFQ 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

EndpointMethodUse
/api/deposit-optionsGETCountry-aware deposit options plus settlementModel, paymentRails, and custody-aware routePlan metadata for the detected country
/api/withdrawal-optionsGETCountry-aware withdrawal options plus settlementModel, paymentRails, and custody-aware routePlan metadata for native Solana USDC or enabled custodial payout adapters
/api/payment-rails/countriesGETPublic 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=USGETSingle-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-intentsPOSTCountry-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-transfersGETSigned 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-connectPOSTCountry-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-requestsPOSTCountry-aware signed tokenized bank payout request with phone, compliance, idempotency, generic provider submit, and active-source Stripe Connect payout gates
/api/webhooks/payment-providerPOSTSigned 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

EndpointMethodUse
/api/events/:slug/streamGETSSE trades and optional top-of-book
/api/events/:slug/orderbook/streamGETSSE orderbook snapshots, deltas, heartbeat
/api/v1/streams/manifestGETStream contract, sequence policy, channel map
/api/v1/streams/replayGETReplay 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

EndpointMethodUse
/api/data/market-intelligenceGETRanked market intelligence
/api/data/signalsGETDerived trading and market-quality signals
/api/data/market-intelligence/historyGETPremium time-series metrics
/api/data/tradesGETNormalized historical trades
/api/data/positionsGETPublic wallet position export
/api/data/providers/official-sourcesGETResolution/data provider source metadata

Commercial data endpoints may require agent/developer API keys and plan-level entitlements.

Developer Diagnostics

EndpointMethodUse
/api/developer/diagnosticsGETSigned-in developer readiness checks
/api/developer/usageGETDeveloper usage summary
/api/v1/developer/endpoint-costsGETEndpoint cost and quota unit matrix
/api/v1/developer/request-logsGETRedacted request log contract
/api/v1/developer/latencyGETLatency-stage contract
/api/v1/developer/explain-errorPOSTError 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.md
  • docs/public/ORDERBOOK_AND_PRICING.md
  • docs/public/ERROR_CODES.md
  • docs/public/AUTH_AND_RATE_LIMITS.md
  • docs/public/STREAMING_AND_RECONCILIATION.md
  • docs/public/TRADING_INTEGRATION_WORKFLOW.md