Soulhall Product handbook

Change language?

Open Soulhall
Chapters

Veinmesh data

Save the organization's key, turn it on for an Office, and follow Veinmesh's own docs for the data.

Veinmesh data is paid market data. Soulhall does not include it. An organization enters a key Veinmesh issued, and each Office turns it on when that work needs the data. The key stays in Soulhall. It is not given to an Embodiment or written into a program.

This page only says how Soulhall connects. What the data contains, what a field means, how to query, and what an error code means are in Veinmesh's own documentation. Use the links below.

Save the organization's key

  1. Open Organization › Services & integrations.
  2. On Veinmesh, select Enter key, enter the API key, and select Save.
  3. The block shows Connected. The key is not shown again.

A key Veinmesh refuses is not saved. How Veinmesh issues a key is in Veinmesh: Quick start.

The block then lists what the key can read, as Veinmesh reports it: history and bars, the live stream, bulk export, order-book levels and exchanges. An Embodiment needs History and bars. Select Check again after Veinmesh changes the key's grant.

Turn it on for an Office

  1. Open the Office's Settings, then Services.
  2. Turn on Veinmesh. The switch stays off until a key is saved.
  3. Select Connect your own tool in Veinmesh when you need a key for your own tool.

Turning it off stops this Office using the data. It does not delete the organization's key.

Read it from Python

An Embodiment in that Office calls the URL in VEINMESH_URL. Do not send an Authorization header and do not put the organization's key in the program. Soulhall adds the key. The sandbox has curl and Python's csv module. It does not have the pandas package the documentation examples import.

Symbols look like SHFE.rb2601 or SSE.600519; SHFE.rb.main is the continuous main contract. The Embodiment finds them with its instrument search instead of guessing. Veinmesh computes the bars; nobody builds them from trades:

curl -sS -o bars.csv \
  "$VEINMESH_URL/v2/bars?symbol=SHFE.rb.main&interval=1d&from_day=2026-01-05&to_day=2026-10-20&format=csv"

Days are YYYY-MM-DD. A day Veinmesh has not prepared yet answers 503 with data_pending and a retry_after; repeating the same call after that many seconds returns it. Each continuous-contract bar names the actual contract it used.

The v1 trade and series routes are retired. Do not call them. What is served today is the coverage page.

Examples in the Veinmesh documentation send the key themselves, to Veinmesh's public host. Inside Soulhall, use VEINMESH_URL and leave that line out.

A result computed this way is not an Edgewright evaluation.

Connect your own tool

Under Services in the navigation, open Veinmesh and create a key for one Office that has Veinmesh on. Copy it when it is shown. It opens that Office's market data. The organization's key is under Organization › Services & integrations.

The model cost of your own tool is on your account. The data cost is on the organization's Veinmesh key, not the Office's model budget.

Where to read about the data

You want Veinmesh documentation
Symbols, continuous contracts and bars v2 data
Exchanges and date ranges in v2 v2 coverage
What is available, and the date range Coverage
What changed in the data Coverage and what replaced v1
A live stream Streaming
Error codes and limits Errors and limits
The documentation home Veinmesh market data