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.