EntradeX CLI
Install
npm i -g entradex-cli
Usage
entradex [global-options] [command]
Configuration
Credential priority order:
- Config file (
~/.entradex-cli/config.json) - recommended - Environment variables (
DNSE_API_KEY,DNSE_API_SECRET) - Global command options (
--api-key,--api-secret)
Setup and inspect config:
entradex config set --key "<api-key>" --secret "<api-secret>"
entradex config set
entradex config get
entradex config clear
Security & Safety
Before using this skill:
- Verify the npm package:
npm view entradex-cli- check author ishieuhaniand repository matches - Inspect package contents:
npm pack entradex-cli --dry-runor view on npmjs.com - Treat
DNSE_API_KEYandDNSE_API_SECRETas highly sensitive trading credentials
Autonomous execution warning:
- This skill can place real trades using provided credentials
- Consider using a separate limited-permission account
- Rotate API keys if you suspect unauthorized access
Global Options
--api-key <key>DNSE API key--api-secret <secret>DNSE API secret--base-url <url>API base URL (default:https://openapi.dnse.com.vn)--debugShow request details-V, --versionShow CLI version-h, --helpShow help
Commands
Config
entradex config set [--key <key>] [--secret <secret>] [--url <url>]
entradex config get
entradex config clear
Account
entradex account list
entradex account balances <accountNo>
entradex account loan-packages <accountNo> <marketType> [--symbol <symbol>]
Trade
entradex trade order <marketType> <symbol> <side> <orderType> <price> <quantity> <tradingToken> [--price-stop <price>]
entradex trade modify <accountNo> <orderId> <marketType> <symbol> <side> <orderType> <price> <quantity> <tradingToken> [--price-stop <price>]
entradex trade cancel <accountNo> <orderId> <marketType> <tradingToken>
Parameters:
marketType(enum):STOCK,DERIVATIVEside(enum):NB(buy),NS(sell)orderType(enum):ATO,ATC,LO,MTL,MOK,PLOATO: At The OpeningATC: At The CloseLO: Limit OrderMTL: Market To LimitMOK: Market Order KillPLO: Post Limit Order
price(number): unit price; follow DNSE tick-size/market constraints- If
orderType=LO,pricemust be greater than0. - If
orderTypeis anything other thanLO(ATO,ATC,MTL,MOK,PLO),pricemust be exactly0.
- If
quantity(integer): order quantity; must satisfy market lot rules- For
marketType=STOCK, valid quantity is either:- Board lot: multiples of 100 (
100,200, ...) - Odd lot: integers from
1to99
- Board lot: multiples of 100 (
- For
marketType=STOCK, values like101,102, ... are invalid odd lots and must be rejected.
- For
tradingToken(string): token fromentradex auth create-token
Normalization rules for user intent:
- If user says
buy/sell, map toNB/NS. - Uppercase enum-style params before execution (
marketType,side,orderType). - If user provides an unsupported enum value, stop and ask for a valid value.
- If
orderTypeis not supported by the target market/session, stop and ask user to choose a supported type.
Order
entradex order list <accountNo> <marketType>
entradex order detail <accountNo> <orderId> <marketType>
entradex order history <accountNo> <marketType> [--from <date>] [--to <date>] [--page-size <size>] [--page-index <index>]
entradex order deals <accountNo> <marketType>
Market
entradex market secdef <symbol> [--board-id <id>]
entradex market ppse <accountNo> <marketType> <symbol> <price> <loanPackageId>
Auth
entradex auth send-otp <email> [--otp-type <type>]
entradex auth create-token <otpType> <passcode>
Dry Run
entradex dry-run accounts
entradex dry-run balances <accountNo>
entradex dry-run order <marketType> <symbol> <side> <orderType> <price> <quantity> [--price-stop <price>]
Common Workflow
# 1) Configure credentials
entradex config set
# 2) Send OTP
entradex auth send-otp user@example.com
# 3) Create trading token with passcode
entradex auth create-token smart_otp <passcode>
# 4) Place an order
entradex trade order STOCK VIC NB LO 15000 100 <trading-token>












