sifting/io
Developer Tutorials
5 min readSiftingIO Team

Supporting enterprise market data customers in China: evaluation to production

How SiftingIO supports enterprise market data customers in China: technical trials, written licensing answers, procurement documents, USD invoicing, and wires.

Supporting enterprise market data customers in China: evaluation to production

Enterprise market data procurement in China usually stalls on questions that have nothing to do with API quality. An engineering team can finish its technical evaluation in two weeks. Then the slower work begins: procurement asks for vendor documentation, finance asks how a USD invoice from a United States company actually gets paid, legal wants data usage rights stated in writing, and everyone wants a named contact who answers within a working day. SiftingIO has completed enterprise onboarding with a customer in China, and its enterprise process is built around removing exactly this friction. This post describes how that process works for an institution in China evaluating an international market data vendor, from first API call to production.

Technical evaluation before any commitment#

An evaluation should start with real requests against real data, and it should cost nothing. The free tier includes 10,000 REST calls per month and one WebSocket connection with no credit card, which is enough for an engineer to verify schemas, latency from their own network, and coverage of the instruments that matter to them. The machine-readable specs (OpenAPI 3.1 at /openapi.yaml, AsyncAPI 3.0 at /asyncapi.yaml) let a team generate internal client stubs and review field definitions before writing a line of integration code.

A first probe of the normalized schema takes one command:

curl -H "X-API-Key: $SIFTING_KEY" --compressed \
  "https://api.sifting.io/v1/hist/forex/USDJPY/bars?interval=1h"

The same credential covers live snapshots, so checking the quote path is equally direct:

curl -H "X-API-Key: $SIFTING_KEY" \
  "https://api.sifting.io/v1/last/quote/commodities/XAUUSD"

For institutions that need FIX connectivity, SiftingIO provides a market data FIX API (FIX 4.4 standard, FIX 5.0 SP2 on request) covering crypto, forex, and commodities. Sessions run over TLS from three datacenters, including TY3 in Tokyo, which matters for round-trip times from mainland and Hong Kong infrastructure. FIX evaluation happens in a dedicated UAT environment before any production traffic, so conformance can be tested without a signed contract driving the timeline.

Usage rights and licensing, in writing#

Legal review of a data vendor turns on a few concrete questions. Can the data be shown to internal users? Can derived analytics be stored and redistributed? Is the license for raw feeds or for an aggregated reference price? SiftingIO answers these in writing, per customer, before contract signature. The substance is straightforward to state plainly: SiftingIO publishes a consensus fair price aggregated from multiple independent venues rather than redistributing raw exchange feeds, and the licensing terms follow from that.

One boundary is worth stating explicitly. SiftingIO does not claim regulatory certification, legal approval, or any form of jurisdiction-specific compliance status in China or elsewhere. Whether a given use of international market data fits an institution's regulatory position is a determination for that institution's own counsel. What the vendor side can do, and does, is provide precise written answers about what the data is, where it comes from in generic terms, and what the contract permits, so that counsel reviews facts instead of marketing copy.

Documentation for procurement and finance review#

Vendor onboarding at a Chinese institution usually requires a documentation package: company registration for the legal entity (SaltingIO LLC, doing business as SiftingIO), banking details on company letterhead, tax documentation, and answers to security and vendor-risk questionnaires. SiftingIO assembles this package as part of enterprise onboarding rather than treating each request as an exception. A dedicated account manager, included at the enterprise tier, is the single point of contact through the review, which shortens the loop when procurement needs a revised document or a stamped copy.

Contracts, USD invoicing, and cross-border payment#

Enterprise agreements are executed under an MSA, with a DPA available where data protection review requires one. Payment terms of Net-30 or Net-60 fit standard procurement cycles. Invoicing is in USD, and SiftingIO coordinates the international wire directly with the customer's finance team: full beneficiary details, SWIFT routing, and confirmation of receipt once funds arrive. Cross-border payments from China involve internal approval steps and bank processing that the vendor cannot see, so the practical help is making the paperwork unambiguous and confirming each step promptly rather than leaving finance to reconcile silence.

A clear path from evaluation to production#

The sequence from trial to production is defined in advance. For REST and WebSocket, keys are issued immediately and entitlements (quotas, concurrent connections, IP allowlisting) follow the contract. For FIX, onboarding runs in four steps: credential provisioning, UAT, conformance certification, and production promotion. The enterprise tier carries a 99.95% uptime SLA. Because every step is named up front, an institution can put real dates against the project plan instead of estimating around an undefined vendor process.

Common pitfalls in a cross-border evaluation#

Three issues come up repeatedly during evaluations, and all three are avoidable.

First, heavy endpoints require gzip. Historical bars and XBRL financials return 406 with the error code gzip_required if the request lacks Accept-Encoding: gzip. An evaluation script that omits it will look like a broken endpoint to the reviewing engineer. With curl, pass, compressed; most HTTP libraries negotiate gzip by default, but hand-rolled clients often do not.

Second, throughput tests belong on the right tier. The free tier allows 60 requests per minute, so a load test run against a free key trips 429 rate_limit_exceeded almost immediately and reads Retry-After from the response. That result says nothing about production capacity. Throughput validation should run against a trial enterprise entitlement, which the account manager can arrange during evaluation.

Third, wire transfers fail on name mismatches. The invoicing entity is SaltingIO LLC, while the product name is SiftingIO. If the payment application at the customer's bank names the brand instead of the legal entity on the invoice, the receiving bank can hold or return the wire. The beneficiary name on the payment instruction should match the invoice exactly, and it is worth confirming this detail before the payment enters the internal approval queue rather than after a wire bounces.

Where to start#

An evaluation can begin today with a free key and the public specs, and the enterprise process picks up from there when procurement gets involved. For FIX provisioning, trial entitlements, or the documentation package, contact the team.

Keep reading

Related posts