Skip to content

    Trading APIs

    Paper trading API India: what broker sandboxes actually test

    A paper trading API in India usually means one of two things: a broker sandbox where your code can place test orders with no real money, or a virtual-money account that follows live prices. Upstox, Zerodha’s Kite Connect and Dhan document API sandboxes of the first kind, each with limits, and Dhan states that its sandbox is not live-market paper trading with virtual money. This comparison, checked 14 October 2026, shows what each official page says.

    Facts checked 14 Oct 2026 against 9 sources. No affiliate links. Not investment advice.

    Choose the test you need before choosing a sandbox

    A paper trading API India comparison needs to identify what is being simulated. An API sandbox can help you check authentication, payloads and order-state handling without establishing realistic fills or profitable execution. A virtual-money account following prices answers a different question. An API explorer may simply send requests to the environment configured behind it.

    We checked current official documentation on 14 October 2026. The table records documented capabilities, without claiming a hands-on order or fill test. No broker account was connected and no live order was submitted. Missing coverage is left visible rather than treated as a reason to switch an automated test into production.

    Our paper-trading guide covers practice trading more broadly. This page focuses on integration boundaries and evidence.

    Three documented broker environments and their limits

    Official documentation opened 14 October 2026. Alphabetical. Documentation review only; no authenticated test or performance ranking.

    BrokerWhat is documentedImportant boundarySource IDs
    DhanHQClosed testing of API requests, responses, order workflows and automation logic without actual market trades.Explicitly not live-market paper trading with virtual money. External requests/integrations cannot be made from its sandbox.d-paper / d-external / d-test
    Kite ConnectOfficial sandbox using demo credentials and no real money, with documented order and portfolio calls.No MARKET orders (use LIMIT), no GTT, and no order-margin, basket-margin or virtual contract-note calls. Requests go to sandbox.kite.trade, so it is not a full copy of the live API.kite
    UpstoxSeparate sandbox app/token and sandbox-enabled API documentation. SDK configuration supports sandbox mode.One sandbox app per user; token valid 30 days. Sandbox tokens cannot make live transactions, and API coverage is incomplete.up-sandbox / up-build

    A documented environment is not a guarantee of realistic queueing, slippage, charges or every production feature. Other brokers are not labelled unavailable merely because they are outside this verified table.

    Dhan’s sandbox name does not imply a virtual-money account

    Dhan’s dedicated support answer says its sandbox does not provide live-market simulation with virtual funds. Its test-scope FAQ instead describes integration requests, responses, order workflows and related logic. A separate FAQ says the environment is closed to external requests and integrations.

    Those limits matter if you intended to attach an outside strategy engine or compare changing quote prices with execution. The inspected answers do not establish that workflow. Preserve the distinction when planning a test or describing results to someone else. A broker sandbox can still be useful for the integration tasks it actually supports.

    Do not substitute a third-party service carrying the broker’s name without checking who operates it and which destination it calls. The official source and the actual environment address belong in the test record.

    A proposed checklist before the first dry run

    • Use separate configuration and credentials

      Keep a sandbox destination distinct from production. Make the chosen environment visible in the test output before any order-related request.

    • Check endpoint coverage in the current reference

      Confirm the exact operation you want to exercise. A sandbox flag on one API is not proof that another is supported.

    • Stop when coverage is missing

      Treat unsupported calls as skipped tests. An automatic fallback to a production order endpoint would change the purpose and consequence of the run.

    • Record the state you actually observed

      Keep request identifiers, acknowledgement, rejection and any simulated fill separate. Sanitise tokens and account data before sharing a log.

    • Test failure handling explicitly

      Use provider-documented errors or a local synthetic fixture to examine invalid inputs, duplicate submissions, interrupted responses and retries.

    • Keep performance claims out of an integration result

      A mocked fill is not evidence about live liquidity, queue position, spread or the trading outcome.

    Kite and Upstox need their own configuration checks

    Kite’s current official reference documents a sandbox, even though a July 2021 forum reply by sujith says none was available. The current reference is the relevant capability source; an old answer should not become a permanent no-sandbox comparison cell. It lists specific unsupported operations, so it should not be described as a complete copy of production.

    Upstox documents a sandbox-specific SDK setting and access token. Its coverage section says the supported suite is expanding. Keep the sandbox setting explicit when using Python or another SDK, and check the operation’s sandbox indicator rather than assuming language support establishes endpoint support.

    Upstox’s sandbox page says you can test there “without incurring any costs”. We did not measure speed or fill accuracy for either sandbox. For ongoing API and data costs, see the API charges comparison.

    “the public can invest and undertake trading activities in the securities markets only through/with registered intermediaries.”
    SEBI advisory of 4 November 2024, PDF PR 27/2024

    Source: [8]

    Read SEBI’s virtual-trading warning at its actual scope

    SEBI’s advisory dated 4 November 2024 is about apps, web applications and platforms offering virtual trading, paper trading or fantasy games to the public based on the stock price data of listed companies. SEBI said such activities are in violation of the Securities Contracts (Regulation) Act, 1956 and the SEBI Act, 1992. It cautioned investors not to deal through unregistered platforms, and said SEBI and exchange investor-protection routes such as SCORES and SmartODR will not be available for disputes about them. It does not certify the broker sandboxes in this table, and this guide does not claim that a testing label makes any product legally compliant.

    The advisory is a press release, not a circular. Its PDF says PR No. 27/2024, while SEBI’s web page lists it as 37/2024. We show both so you can find it either way.

    For the separate price-data sharing rules, see why market data is delayed. This guide supplies no instructions for wiring live prices into a public virtual-trading platform. It is a plain-English explanation, not legal advice.

    Keep a test record that survives the move between environments

    1. 1

      Write the expected behaviour first

      State the operation, supplied input and expected state. Synthetic fixtures should say they are synthetic.

    2. 2

      Save the environment and documentation date

      Record which sandbox, SDK configuration and supported endpoint were used. Keep credentials out of the shared record.

    3. 3

      Separate observations from assumptions

      A response can confirm that a field was accepted while leaving fill quality untested. Mark that limit alongside the result.

    4. 4

      Review production requirements separately

      Do not infer permission to trade from a sandbox pass. The static-IP guide and broker documentation address different production requirements.

    Where OneTradeJournal fits in the record

    OneTradeJournal is a manual journal. A practice calculation or a manually recorded test result does not create a broker connection, market feed or execution capability. Label practice observations clearly so they cannot be mistaken for actual fills.

    A local arithmetic drill has a narrower purpose than broker integration testing. Its result can illustrate supplied assumptions; it does not establish live fills or regulatory approval for a market-data service. Keep the intended use and the evidence for it clear.

    When reviewing a later real trade, compare the actual contract note and fills with the assumption you had written down. That comparison explains the gap more clearly than treating a sandbox success as a prediction of execution.

    Sources

    Every figure on this page comes from one of these. Each was checked on the date shown.

    1. [1]Upstox sandbox documentation · checked 14 Oct 2026
    2. [2]Upstox SDK sandbox configuration and coverage limits · checked 14 Oct 2026
    3. [3]Kite Connect sandbox reference · checked 14 Oct 2026
    4. [4]Kite official forum, older no-sandbox reply · checked 14 Oct 2026
    5. [5]Dhan: sandbox is not live-market paper trading · checked 14 Oct 2026
    6. [6]Dhan: closed environment and external requests · checked 14 Oct 2026
    7. [7]Dhan: API integration and order workflow tests · checked 14 Oct 2026
    8. [8]SEBI 4 November 2024 advisory, PDF PR 27/2024 · checked 14 Oct 2026
    9. [9]SEBI advisory web metadata, shows PR 37/2024 · checked 14 Oct 2026