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

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 ledger-first routePlan metadata for the detected country
/api/withdrawal-optionsGETCountry-aware withdrawal options plus settlementModel, paymentRails, and ledger-first routePlan metadata for Solana USDC, Base/EVM USDC, bridge, and local payout availability
/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