Deterministic trade & logistics primitives for commerce agents.
Language models confidently invent GTIN check digits, mangle GS1 barcode fields, and guess HS codes. TradeRails doesn't guess — every answer is pure public-spec math (GS1 General Specifications, ISO 6346, IMO), re-verifiable offline against a signed key. Agents pay per call; the same input always returns the same bytes.
GET /v1/gtin/validate?code=Validate GTIN-8/12/13/14, UPC-A, EAN-13 — check digit, format, GTIN-14, packaging indicator. | $0.004 |
GET /v1/gtin/prefix?code=GS1 Member Organisation for a prefix. (Numbering org — not country of origin.) | $0.004 |
GET /v1/sscc/validate?code=SSCC-18 logistics-unit serial shipping container code. | $0.004 |
GET /v1/container/validate?code=ISO 6346 shipping container number — owner, category, serial, check digit. | $0.004 |
GET /v1/imo/validate?code=IMO ship identification number check digit. | $0.004 |
GET /v1/gs1/decode?data=Decode a GS1 element string / GS1-128 (GTIN, batch, expiry, serial, weight). Human (01)…(17)… or raw FNC1. | $0.006 |
GET /v1/hs/classify?q=HS-code triage: ranked candidate headings + official text + GRI note. Informational, not a customs ruling. | $0.02 |
Every paid response carries an _attestation (Ed25519 compact JWS). Verify it offline against /.well-known/signing-key.json — proof the answer came from TradeRails and wasn't altered.