Skip to main content
Every domain term the API reference uses, defined once. If a word on an endpoint page is unfamiliar, it is defined here, with the API field that carries it. For the wider market vocabulary an exporter or importer runs into outside the API, see the Glossary.

The instrument

Duty credit scrip

A transferable electronic credit issued by the Government of India that pays basic customs duty at face value. Exporters earn them under RoDTEP and RoSCTL; importers spend them against duty on imports. Everything the API trades is a duty credit scrip. See What is a scrip?.

e-scrip

The electronic form the credit takes in the customs ledger once it has been created: a scrip number, a face value, a running balance and a validity date. Only an e-scrip can be transferred or used.

Scrip number

The identifier of one credit in the customs ledger. API field scrip_no. It is the key you quote against when you price one specific credit rather than an amount.

Scroll

The claim amount customs has sanctioned against filed shipping bills. A scroll is not yet a scrip: it is a sanctioned figure that must be converted into an e-scrip before it can be transferred or used. Credits appear on the API only after that conversion.

Scheme

Which remission scheme a credit was issued under. API field scheme, with exactly two values, RODTEP and ROSCTL. Each scheme is priced independently. See the Schemes annexure.

Face value

The duty-paying power of a credit, in rupees. API field face_paise, in integer paise. A credit with face_paise: 100000000 settles ₹10,00,000 of duty.

Balance

The duty-paying power still remaining after any utilisation. API field balance_paise. A partly used credit is priced on balance, not on face.

Validity and expiry

The window in which a credit can be used or transferred. API field expiry_date. Validity runs one year from creation in the ledger and is unaffected by transfer; an unused balance at expiry lapses in full. See Validity and expiry.

Utilisation

Applying a credit against duty payable on a Bill of Entry. Each utilisation reduces balance_paise. A credit ends at zero balance or at expiry.

Parties and identifiers

IEC

Importer Exporter Code, the ten-character identifier issued by DGFT that every Indian importer and exporter trades under. It is the primary key for a firm across the whole API: firms are addressed as /v1/firms/{iec}, and crosses name seller_iec and buyer_iec.

Firm

A registered trading entity on your desk, addressed by its IEC. API field role is exactly one of exporter or importer per firm.

Connection state

Where a firm sits in onboarding. API field state, moving verification_pending to connected, with reconnect_needed when a connection lapses. A firm trades only in connected. See Verify a firm.

ICEGATE

The Indian Customs Electronic Gateway, the CBIC portal where the e-scrip ledger lives. Scrip transfer and utilisation both happen there, which is why settlement is confirmed against it. See Scrip transfer on ICEGATE.

Bill of Entry

Abbreviated BoE. The customs document filed for an import, on which duty is assessed and paid. It is the point where a buyer applies scrips against duty.

Basic customs duty

Abbreviated BCD. The head of duty a scrip can pay. Scrips do not pay IGST on imports and do not pay most cesses and surcharges, which is what sizes an importer’s real requirement.

HSN 4907

The classification under which duty credit scrips fall for GST purposes. Scrip sales are GST-exempt under Notification 02/2017, so no GST sits on the scrip value in a transfer. This is why all_in_paise is the whole number.

Money and price

Paise

Every money field on the API is an integer number of paise and ends in _paise. There are no floats and no currency field; everything is INR. 100000000 is ₹10,00,000. See Money and price.

Basis point

Abbreviated bps. One hundredth of a percentage point. Every price field ends in _bps and means basis points of face value: 10000 is 100.00% of face, 9650 is 96.50%.

Discount

The gap between face value and price, expressed as a share of face. A price of 9650 bps is a discount of 350 bps, or 3.50% of face. See Price and discount explained.

Scrip Reference Rate

Abbreviated SRR. ScripX’s published benchmark price for scrips, by scheme and expiry band, every trading day. Public and key-free at GET /public/rates, with the daily series at GET /public/rates/{scheme}/history. The SRR is a benchmark for information; a tradable number always comes from a firm quote.

Firm quote

A binding price for an exact credit or an exact requirement, good until a stated valid_until. Returned by POST /v1/quote. Distinct from an indicative price, which is a view rather than something you can transact at.

All-in price

The single number that changes hands. API field all_in_paise. On a sell it is what the seller receives net; on a buy it is what the buyer pays in total. There is no fee schedule to add or subtract afterwards.

Requirement

The duty amount a buyer needs covered, passed as requirement_paise on a buy-side quote. The response reports covered_paise against it.

Residual

The part of a buy requirement that whole credits could not cover, because credits transfer whole and are never split. API field residual_paise; fully_covered is true when it is zero. The residual is settled in cash outside the trade.

Price floor and ceiling

Structural limits on an order that the match cannot cross. min_pct_bps is the seller’s floor, below which a fill cannot happen; max_pct_bps is the buyer’s ceiling, above which it cannot. Both are in bps of face.

Savings

On a buy-side quote, the cash gain versus paying the duty in full. API field savings_paise.

Platform fee and net spread

On the cross desk, platform_fee_paise is ScripX’s commission on the deal and net_spread_paise is what the desk keeps after it. Both are returned on the cross quote before anything is committed.

Trading

Order

An instruction to trade a stated amount on a stated side, at or better than your limit. Created with POST /v1/orders and read with GET /v1/orders/{id}.

Batch

Up to 500 orders submitted in one call with POST /v1/orders:batch. A batch does not fail wholesale: each item returns its own result.

Position

Your open and settled exposure, per scheme, with the cash side included. Read with GET /v1/positions.

Sellable

The flag on a credit that says it has cleared provenance screening and can be quoted and sold. API field sellable. Trade on this flag rather than inferring readiness from anything else.

Provenance

The screening a credit passes before it can be listed: its origin is traced to the shipping bill it derives from, the selling firm is KYC-verified, and the credit’s title and status are confirmed live in the customs ledger. A credit showing sellable: true has passed. Buyers get provenance on every scrip without running the checks themselves.

Cross, block deal

A pre-arranged trade booked inside a desk’s own book at prices the desk sets on both sides, rather than matched against the open market. kind: "external" is a brokered block between two unrelated firms; kind: "intra_group" moves credit between entities of one group. See the cross desk.

RFQ

The flag on a prepared cross that requires the counterparty to accept the terms before the deal can be funded. API field rfq.

Group netting

Squaring a group’s companies against each other with the minimal set of internal transfers, so only the true group-level residual reaches the market. Computed by POST /v1/group/net-plan from the book at GET /v1/group/positions. See the enterprise guide.

Settlement

Delivery versus payment

Abbreviated DvP. Settlement where title and money move together, or neither moves. Buyer funds are locked before the credit transfers, and the seller payout fires on confirmation of the transfer. It removes the question of who goes first. A settlement that cannot complete unwinds and refunds in full.

Settlement leg

One side of a settlement: the delivery leg is the transfer of the credit on ICEGATE, the payment leg is the movement of cash. Under DvP the two legs complete together, so a partial outcome is not a state you have to handle.

Same business day settlement

Written T+0. On ScripX the seller payout fires on confirmation of the transfer, in minutes, on the same business day.

UTR

Unique Transaction Reference, the bank reference on a completed payout. It is the proof that money moved and the reconciliation key for a finance team. Carried on payout events and through to the audit export.

IMPS

Immediate Payment Service, the interbank rails used for seller payouts, which is what makes a same-day payout possible.

Statement

The itemised record for a period, including the running one. mtd is month to date. Read with GET /v1/statements/{period}.

Audit export

A tamper-evident, hash-chained export of your event log, verifiable offline by your auditor without contacting ScripX. See GET /v1/audit/export.

API mechanics

API key

The credential on every authenticated request, sent as X-ScripX-Key. scripx_live_… is production, scripx_test_… is sandbox. Keys are shown once at issue. See Authentication.

Child key

A scoped key minted under your own key, typically one per service or sub-account, carrying a subset of your scopes and revocable on its own. See Create an API key.

Scope

The permission an endpoint demands of the key presented, such as quote, orders:write or market:read. A child key’s scopes are always a subset of its parent’s. The full table is in Authentication.

Idempotency key

The Idempotency-Key header on an order. Re-sending the same key returns the original order rather than creating a second one, so a retry after a timeout or a 429 can never double-place. One key per logical order, generated before the first attempt. See Idempotency.

Webhook

A signed HTTP delivery of an event such as order.matched, settlement.settled or payout.sent. Registered with POST /v1/webhooks; the catalog is in the Webhook events annexure.

Webhook signature

The X-ScripX-Signature header, sha256=<hmac-hex> computed over the exact body bytes with your subscription’s whsec_ signing secret. Verify it before trusting a delivery, on the raw bytes and before any JSON parsing. See Webhooks.

Delivery id

The X-ScripX-Delivery header, stable per event and subscription. Deliveries can repeat, so dedupe on this value.

Dead-letter and replay

A delivery that fails permanently, or exhausts its retries, is parked rather than dropped. List parked deliveries with GET /v1/webhooks/failures and push them again with POST /v1/webhooks/replay.

Cursor pagination

Larger collections page with limit (default 100, maximum 500) and cursor, taking next_cursor from the previous response. Responses carry count, total, next_cursor and has_more.

Request id

The X-Request-ID header on every response, success or error, correlating one call to its server-side log line. Log it on every non-2xx and quote it in support.

Error slug

The stable machine-readable value you branch on, read as code ?? error. Never branch on message. The full vocabulary is in Errors.