Skip to content

API Reference


API Reference / DhanClient

Class: DhanClient

Defined in: src/client/DhanClient.ts:40

Constructors

Constructor

new DhanClient(config, dependencies?): DhanClient

Defined in: src/client/DhanClient.ts:73

Parameters

config

DhanClientConfig

dependencies?

DhanClientDependencies = {}

Returns

DhanClient

Properties

generated

readonly generated: GeneratedClient

Defined in: src/client/DhanClient.ts:41


orders

readonly orders: Orders

Defined in: src/client/DhanClient.ts:42


superOrders

readonly superOrders: SuperOrders

Defined in: src/client/DhanClient.ts:43


positions

readonly positions: Positions

Defined in: src/client/DhanClient.ts:44


alerts

readonly alerts: Alerts

Defined in: src/client/DhanClient.ts:45


conditionalTriggers

readonly conditionalTriggers: ConditionalTriggers

Defined in: src/client/DhanClient.ts:46


expiredOptionsData

readonly expiredOptionsData: ExpiredOptionsData

Defined in: src/client/DhanClient.ts:47


foreverOrders

readonly foreverOrders: ForeverOrders

Defined in: src/client/DhanClient.ts:48


funds

readonly funds: Funds

Defined in: src/client/DhanClient.ts:49


charts

readonly charts: Charts

Defined in: src/client/DhanClient.ts:50


edis

readonly edis: Edis

Defined in: src/client/DhanClient.ts:51


statements

readonly statements: Statements

Defined in: src/client/DhanClient.ts:52


traderControls

readonly traderControls: TraderControls

Defined in: src/client/DhanClient.ts:53


ipSetup

readonly ipSetup: IpSetup

Defined in: src/client/DhanClient.ts:54


profile

readonly profile: Profile

Defined in: src/client/DhanClient.ts:55


marketFeed

readonly marketFeed: MarketFeed

Defined in: src/client/DhanClient.ts:56


optionChain

readonly optionChain: OptionChain

Defined in: src/client/DhanClient.ts:57


instruments

readonly instruments: Instruments

Defined in: src/client/DhanClient.ts:58


globalStocks

readonly globalStocks: GlobalStocks

Defined in: src/client/DhanClient.ts:60

The US equities book — a separate namespace so USD and INR never mix.


marginCalculator

readonly marginCalculator: MarginCalculator

Defined in: src/client/DhanClient.ts:61


ws

readonly ws: DhanWS

Defined in: src/client/DhanClient.ts:62


auth

readonly auth: object

Defined in: src/client/DhanClient.ts:63

generateAccessToken

generateAccessToken: (request, dependencies) => Promise<TokenResponse>

Exchanges client id + PIN + TOTP for an access token.

Parameters
request

GenerateAccessTokenRequest

dependencies?

DhanAuthDependencies = {}

Returns

Promise<TokenResponse>

generateTotp

generateTotp: (secret, options) => string

RFC 6238 TOTP from a base32 secret.

Provided so a headless process can log in without a phone, but note that the secret is then as sensitive as the PIN — anything holding both can mint tokens for the account indefinitely.

Parameters
secret

string

options?

TotpOptions = {}

Returns

string

renewWebToken

renewWebToken: (request, dependencies) => Promise<TokenResponse>

Extends an existing token without a fresh PIN/TOTP round trip.

Only works while the current token is still valid — once it has expired, generateAccessToken is the only way back in.

Parameters
request

RenewWebTokenRequest

dependencies?

DhanAuthDependencies = {}

Returns

Promise<TokenResponse>

enableAutoTokenManagement

enableAutoTokenManagement: (options) => TokenManager

Parameters
options

EnableAutoTokenManagementOptions

Returns

TokenManager

Methods

getConfig()

getConfig(): DhanClientConfig

Defined in: src/client/DhanClient.ts:135

Returns

DhanClientConfig


fromEnv()

static fromEnv(env?, overrides?): DhanClient

Defined in: src/client/DhanClient.ts:147

Builds a client from the standard environment variables: DHAN_CLIENT_ID, DHAN_ACCESS_TOKEN and optionally DHAN_BASE_URL, DHAN_PARTNER_ID and DHAN_PARTNER_SECRET.

Throws rather than constructing a client that would fail on its first request — a missing credential is a startup problem, not a runtime one.

Parameters

env?

ProcessEnv = process.env

overrides?

Partial<DhanClientConfig> = {}

Returns

DhanClient


fromTokenEndpoint()

static fromTokenEndpoint(options): Promise<DhanClient>

Defined in: src/client/DhanClient.ts:175

Parameters

options
endpointBaseUrl

string

bearerToken

string

axiosInstance?

AxiosInstance

Returns

Promise<DhanClient>

Community project — not affiliated with Dhan. MIT License.