For the complete documentation index, see llms.txt. This page is also available as Markdown.

Native Core API

The Native Core API is the direct integration surface for the on-chain CLOB. Clients submit signed business actions with POST /trade and read business state with POST /info, or stream both over a WebSocket connection. It serves market makers, trading bots, AI agents, and anyone integrating directly with Native Core.

Operational, recovery, and node-private interfaces are intentionally not part of this contract.

Native Core runs on mainnet (https://api.native.org), with a testnet (https://api-test.native.org) for integration and testing. See environments for base URLs and signing chain ids.

Start here

New to Native Core? The guides take you from zero to a working integration — start with your first order over REST:

Trade over RESTGuides

Prefer a client library? The official Python SDK wraps both REST endpoints and the WebSocket, signs /trade for you, and ships an MCP server for AI agents:

Python SDK

Conventions

  • API_URL examples use https://api.native.org (mainnet); for testnet and signing chain ids, see environments.

  • Hex values are 0x-prefixed lowercase strings unless noted otherwise.

  • Protocol numeric fields in signed actions are decimal strings; integer-valued fields (ids, nonces) also accept an unsigned JSON integer, while decimal price/quantity/amount fields must be strings.

  • Business query responses carry query_height and app_hash — the chain height the answer was read at.

  • POST /trade is synchronous: it blocks for the execution outcome and returns submission_status (accepted / rejected / timeout) with a tx_hash. It reports that a write landed, not an order's fill state — read the outcome per the Handle outcomes & timeouts playbook.

Reference & concepts

The exhaustive contract — every endpoint, field, and error code — and the models it assumes:

ReferenceConcepts