Browse documentation
DocsGet started
Implemented prototype

Run the NeuraMesh prototype locally

Run npm run api and npm run dev in separate terminals from the repository root. The API defaults to port 8787 and Vite proxies /api requests to it. Open the local Vite URL, then visit /app to inspect the finance prototype. No wallet funding or real payment is required.

On this page

Before you begin#

Use a local checkout, Node.js compatible with the installed Vite version, and npm. Install the lockfile dependencies with npm ci. These instructions cover the React/Vite and Node prototype in this repository, not deployment of a production exchange or the separate Python and Move scaffolds.

Run this on a development machine with test inputs. The Node scaffold has no authentication, durable storage or hardened request validation. Do not expose it as a public service or enter credentials, private customer data or real payment instructions.

Install dependenciesshell
npm ci

Start the API and frontend#

Keep the API running in one terminal and start Vite in another. Vite prints the actual URL; if its default port is occupied, use the alternative port it reports. The frontend proxy targets localhost:8787. Setting NEURAMESH_API_PORT to another port also requires updating the proxy target in vite.config.js.

Two separate terminalsshell
# Terminal 1 — local API
npm run api

# Terminal 2 — frontend
npm run dev

Verify the API before using the interface#

A healthy prototype returns status: prototype and liveTrading: false. The settlement string is a descriptive fixture, not a transaction receipt or proof of a connected Sui deployment. A connection failure usually means the API is not running on the expected port.

Local health check and expected JSONshell / json
curl http://localhost:8787/api/health

{
  "status": "prototype",
  "settlement": "sui-walrus-testnet",
  "liveTrading": false
}

Read the market and pricing routes#

GET /api/markets reports status unavailable with an empty markets array, because the prototype has no verified supply to list. GET /api/gpu-prices proxies a public external GPU price feed so the marketplace page has a price reference. Neither route is NeuraMesh inventory, a quote or a tradable price.

The write routes — POST /api/orders, /api/swap/quote and /api/settlements — return HTTP 503 and store nothing. The finance workspace does not submit them. Check the HTTP status directly when debugging, and never interpret an interface success message alone as evidence of execution.

Example prototype requestsshell
curl http://localhost:8787/api/markets

curl http://localhost:8787/api/gpu-prices

# Refused: responds 503, stores nothing
curl -i -X POST http://localhost:8787/api/orders \
  -H "Content-Type: application/json" \
  -d '{"symbol":"NM.H100.US-EAST.2026-11","side":"buy","hours":100}'

Build and inspect the next boundary#

Run npm run build to generate the production frontend and pre-rendered documentation. Run npm run check:content to validate content and metadata. The preview server serves built pages; it does not turn the in-memory backend into a production service.

Before extending an integration, read the API limitations and the architecture responsibilities. Add persistent, validated order state before assuming that any order can be accepted at all. Add a defined signed transaction workflow before presenting a claim as owned or a reservation as funded.

Common questions

Do I need USDC, NMESH or a funded wallet?

No. This quickstart only reads status and price-reference responses. It does not sign transactions or move real funds.

Why can’t I place an order in the finance workspace?

The workspace shows prototype status without live quotes or account access, and the local API refuses order, swap and settlement writes with HTTP 503.

Sources & implementation status

Based on the NeuraMesh investor brief and the project sources below. Source review: . Design explanations are not a deployment audit, legal opinion or commitment to launch.

Read our source and status conventions. Suggest a correction.