Skip to main content
ScripX is the exchange for India’s duty credit scrips, the RoDTEP and RoSCTL credits that pay basic customs duty at face value. Quote a firm price for an exact amount, place the order, and settle the same business day (T+0) against a bank UTR, with provenance checked on every scrip before it can trade. This is one REST API over the whole product. JSON over HTTPS, one X-ScripX-Key header, the same contract in sandbox and production. Whether you sell a single matured scrip, cover a Bill of Entry, run a broker book, square a group of companies, or embed all of it in your own product, you are calling the same endpoints.

Choose your path

Sell scrips

Exporters. List a firm’s matured credits, take a firm quote per scrip, sell with a price floor, and get paid with a UTR the same day.

Buy scrips

Importers. Quote a duty requirement, receive the whole-scrip bundle that covers it, and fund customs duty below face value.

Run a desk

Brokers and desks. Price a block deal, then prepare, fund and release it as separate deliberate steps, and read your earnings.

Net a group

Enterprises. Read positions across every entity, net internal surplus against internal demand, and take only the residual to market.

Embed ScripX

Platforms. Onboard client firms from your own UI, mint a scoped key per service, and reconcile the whole book with one audit trail.

Quick start

Everyone. Market snapshot to firm quote to a placed order, in five curl calls.

What the API gives you

  • A firm price, not an indication. POST /v1/quote returns one binding price for an exact scrip or an exact duty requirement, good until a stated valid_until, with all_in_paise as the only number that changes hands.
  • Orders that cannot slip. A sell order carries min_pct_bps as a floor, a buy order carries max_pct_bps as a ceiling, and an Idempotency-Key makes any retry safe.
  • Delivery versus payment. Title and money move together or neither moves, and the seller payout carries a bank UTR on the same business day.
  • Provenance on every scrip. A credit is quotable only once it has been screened. sellable: true on a firm’s credits is the flag to trade on.
  • Status without polling. Signed webhooks for order.matched, settlement.settled and payout.sent, with retries, dead-letters and replay.
  • A record that reconciles. Statements, earnings and a hash-chained audit export your auditor can verify offline.

The lifecycle at a glance

1

Connect the firm

Register the firm with its IEC, verify it under its own mandate, and complete with the one-time authorization code. A firm trades once its state is connected.
2

Quote

Read the market snapshot or the live stream, then take a firm quote for the exact scrip or the exact requirement.
3

Order

Place the order at your limit with an Idempotency-Key, or batch up to 500. Desks book block deals and intra-group transfers on the cross desk.
4

Settle and reconcile

Poll positions or take the webhook. Settlement completes delivery versus payment, the payout carries a UTR, and statements plus the audit export close the loop.

Base URL and environments

The environment lives in the key, not the host. scripx_live_… is production; scripx_test_… is the sandbox, where the full lifecycle runs with simulated money and nothing real ever moves. Build your entire UI there first: see Environments. The machine-readable contract is public at GET /v1/openapi.json.

Three conventions that hold everywhere

Money is integer paise, price is bps of face value, timestamps are ISO 8601 (IST). Learn them once and every payload reads itself. Worked examples are in the Money and price annexure, and every term the API uses is defined in the Terminology annexure.

Learn the market

What is a scrip?

The instrument itself: how a claim becomes a credit, and what the credit can pay.

RoDTEP explained

What the scheme remits, how rates are notified, and who earns them.

RoSCTL explained

The apparel and made-ups scheme, and how it differs from RoDTEP.

Price and discount

What moves the discount, and how bps convert to rupees.

Core concepts

Scrips, the reference rate, provenance, DvP settlement and the UTR.

Glossary

Every term in the market, with the API field that carries it.

Build the integration

Authentication

The X-ScripX-Key header, scopes, child keys, and the rate limit headers on every response.

Errors

The flat error body, every status code, and the stable code values to branch on.

Webhooks

Signature verification, delivery headers, retries, dead-letters and replay.

SDKs and tools

Python and TypeScript clients, webhook verification helpers, and the live OpenAPI spec.

Need help?

Write to support

Support is first-party, no ticket maze. Include your key prefix (never the full key) and, for a specific call, the response body you received.
ScripX is a product of Eximfiles, operated by Dreamfuel Technologies Private Limited.