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
dependencies?
Returns
DhanClient
Properties
generated
readonlygenerated:GeneratedClient
Defined in: src/client/DhanClient.ts:41
orders
readonlyorders:Orders
Defined in: src/client/DhanClient.ts:42
superOrders
readonlysuperOrders:SuperOrders
Defined in: src/client/DhanClient.ts:43
positions
readonlypositions:Positions
Defined in: src/client/DhanClient.ts:44
alerts
readonlyalerts:Alerts
Defined in: src/client/DhanClient.ts:45
conditionalTriggers
readonlyconditionalTriggers:ConditionalTriggers
Defined in: src/client/DhanClient.ts:46
expiredOptionsData
readonlyexpiredOptionsData:ExpiredOptionsData
Defined in: src/client/DhanClient.ts:47
foreverOrders
readonlyforeverOrders:ForeverOrders
Defined in: src/client/DhanClient.ts:48
funds
readonlyfunds:Funds
Defined in: src/client/DhanClient.ts:49
charts
readonlycharts:Charts
Defined in: src/client/DhanClient.ts:50
edis
readonlyedis:Edis
Defined in: src/client/DhanClient.ts:51
statements
readonlystatements:Statements
Defined in: src/client/DhanClient.ts:52
traderControls
readonlytraderControls:TraderControls
Defined in: src/client/DhanClient.ts:53
ipSetup
readonlyipSetup:IpSetup
Defined in: src/client/DhanClient.ts:54
profile
readonlyprofile:Profile
Defined in: src/client/DhanClient.ts:55
marketFeed
readonlymarketFeed:MarketFeed
Defined in: src/client/DhanClient.ts:56
optionChain
readonlyoptionChain:OptionChain
Defined in: src/client/DhanClient.ts:57
instruments
readonlyinstruments:Instruments
Defined in: src/client/DhanClient.ts:58
globalStocks
readonlyglobalStocks:GlobalStocks
Defined in: src/client/DhanClient.ts:60
The US equities book — a separate namespace so USD and INR never mix.
marginCalculator
readonlymarginCalculator:MarginCalculator
Defined in: src/client/DhanClient.ts:61
ws
readonlyws:DhanWS
Defined in: src/client/DhanClient.ts:62
auth
readonlyauth: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
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
dependencies?
DhanAuthDependencies = {}
Returns
Promise<TokenResponse>
enableAutoTokenManagement
enableAutoTokenManagement: (
options) =>TokenManager
Parameters
options
EnableAutoTokenManagementOptions
Returns
Methods
getConfig()
getConfig():
DhanClientConfig
Defined in: src/client/DhanClient.ts:135
Returns
fromEnv()
staticfromEnv(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()
staticfromTokenEndpoint(options):Promise<DhanClient>
Defined in: src/client/DhanClient.ts:175
Parameters
options
endpointBaseUrl
string
bearerToken
string
axiosInstance?
AxiosInstance
Returns
Promise<DhanClient>