{"_id":"@quicknode/hyperliquid-sdk","_rev":"27-105412b0886a353e119e9066c987b425","name":"@quicknode/hyperliquid-sdk","dist-tags":{"latest":"0.1.10"},"versions":{"0.1.0":{"name":"@quicknode/hyperliquid-sdk","version":"0.1.0","keywords":["hyperliquid","trading","crypto","defi","perpetuals","spot","orderbook","websocket","grpc","evm","quicknode"],"author":{"name":"QuickNode","email":"support@quicknode.com"},"license":"MIT","_id":"@quicknode/hyperliquid-sdk@0.1.0","maintainers":[{"name":"0xsergen","email":"suysal@quiknode.io"},{"name":"alopezquiknode","email":"alopez@quiknode.io"},{"name":"bartekwitczak","email":"bartek@quiknode.io"},{"name":"alejandrofabiancampos","email":"camposalejandrofabian@gmail.com"},{"name":"brdrck","email":"jeff@brdrck.me"},{"name":"ferhatqn","email":"ferhat@quiknode.io"},{"name":"qnzach","email":"zach@quiknode.io"},{"name":"jmitsch","email":"john@quiknode.io"},{"name":"sahilsen","email":"sensahil25@gmail.com"},{"name":"josescasanova","email":"josescasanova@gmail.com"},{"name":"vittitow","email":"corey@quiknode.io"},{"name":"rorygraman","email":"rgraman@quiknode.io"},{"name":"galinap684","email":"galina@quiknode.io"},{"name":"mikehale-qn","email":"mhale@quiknode.io"},{"name":"gayleqn","email":"gayle@quiknode.io"},{"name":"maurodelazeri","email":"maurodelazeri@gmail.com"},{"name":"raquicknode","email":"rartemev@quicknode.com"},{"name":"shayaanakbar","email":"sakbar@quiknode.io"},{"name":"quiknodedave","email":"dhe@quicknode.com"},{"name":"vrohlfs","email":"victorrohlfs@gmail.com"},{"name":"sandeeppainuly","email":"sandeep@quicknode.io"},{"name":"lucqn","email":"luc@quicknode.com"},{"name":"jwelchqn","email":"jwelch+npm@quiknode.io"},{"name":"ronyqn","email":"rony@quiknode.io"},{"name":"qn-srikanth","email":"srikanth@quiknode.io"},{"name":"mcastilla","email":"mcastilla@quiknode.io"}],"homepage":"https://hyperliquidapi.com","bugs":{"url":"https://github.com/quiknode-labs/hyperliquid-sdk/issues"},"dist":{"shasum":"975178e6925332d78bf15a9a28a5f8265d42b8cf","tarball":"https://registry.npmjs.org/@quicknode/hyperliquid-sdk/-/hyperliquid-sdk-0.1.0.tgz","fileCount":23,"integrity":"sha512-0Pblv88pxPPDXEWm7B2gMrYpzMs2k+TKseqfZB92nVEUieI1z+GP0p0/Ivaleg2NWYlCp+p2K8T57dXvGrtRoA==","signatures":[{"sig":"MEUCIDxNMb0NqJbzQq37F3W0MhbCTb9sYy0zYKKe6AmjX9wlAiEA8Yk1ShIx+DpBra41qbEGBuLAM9uYALllqRtDnNrLGvE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1611775},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"21621763124d621cd75af573f9fe7878e19b6ccd","scripts":{"build":"tsup","clean":"rm -rf dist","example":"tsx --tsconfig tsconfig.examples.json","typecheck":"tsc --noEmit","test:examples":"for f in examples/*.ts; do echo \"Testing $(basename $f)...\"; tsx --tsconfig tsconfig.examples.json \"$f\" --help 2>/dev/null || timeout 2 tsx --tsconfig tsconfig.examples.json \"$f\" 2>&1 | head -5; done","prepublishOnly":"npm run build"},"_npmUser":{"name":"maurodelazeri","email":"maurodelazeri@gmail.com"},"repository":{"url":"git+https://github.com/quiknode-labs/hyperliquid-sdk.git","type":"git"},"_npmVersion":"10.5.1","description":"Community SDK for Hyperliquid. One line to place orders, zero ceremony. HyperCore, HyperEVM, WebSocket and gRPC streams. Not affiliated with Hyperliquid Foundation.","directories":{},"_nodeVersion":"22.0.0","dependencies":{"ethers":"^6.11.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","tsup":"^8.0.1","@types/ws":"^8.5.10","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"ethers":"^6.0.0"},"optionalDependencies":{"ws":"^8.16.0","@grpc/grpc-js":"^1.10.0","@grpc/proto-loader":"^0.7.0"},"_npmOperationalInternal":{"tmp":"tmp/hyperliquid-sdk_0.1.0_1772289741064_0.3143284111880533","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@quicknode/hyperliquid-sdk","version":"0.1.1","keywords":["hyperliquid","trading","crypto","defi","perpetuals","spot","orderbook","websocket","grpc","evm","quicknode"],"author":{"name":"QuickNode","email":"support@quicknode.com"},"license":"MIT","_id":"@quicknode/hyperliquid-sdk@0.1.1","maintainers":[{"name":"0xsergen","email":"suysal@quiknode.io"},{"name":"alopezquiknode","email":"alopez@quiknode.io"},{"name":"bartekwitczak","email":"bartek@quiknode.io"},{"name":"alejandrofabiancampos","email":"camposalejandrofabian@gmail.com"},{"name":"brdrck","email":"jeff@brdrck.me"},{"name":"ferhatqn","email":"ferhat@quiknode.io"},{"name":"qnzach","email":"zach@quiknode.io"},{"name":"jmitsch","email":"john@quiknode.io"},{"name":"sahilsen","email":"sensahil25@gmail.com"},{"name":"josescasanova","email":"josescasanova@gmail.com"},{"name":"vittitow","email":"corey@quiknode.io"},{"name":"rorygraman","email":"rgraman@quiknode.io"},{"name":"galinap684","email":"galina@quiknode.io"},{"name":"mikehale-qn","email":"mhale@quiknode.io"},{"name":"gayleqn","email":"gayle@quiknode.io"},{"name":"maurodelazeri","email":"maurodelazeri@gmail.com"},{"name":"raquicknode","email":"rartemev@quicknode.com"},{"name":"shayaanakbar","email":"sakbar@quiknode.io"},{"name":"quiknodedave","email":"dhe@quicknode.com"},{"name":"vrohlfs","email":"victorrohlfs@gmail.com"},{"name":"sandeeppainuly","email":"sandeep@quicknode.io"},{"name":"lucqn","email":"luc@quicknode.com"},{"name":"jwelchqn","email":"jwelch+npm@quiknode.io"},{"name":"ronyqn","email":"rony@quiknode.io"},{"name":"qn-srikanth","email":"srikanth@quiknode.io"},{"name":"mcastilla","email":"mcastilla@quiknode.io"}],"homepage":"https://hyperliquidapi.com","bugs":{"url":"https://github.com/quiknode-labs/hyperliquid-sdk/issues"},"dist":{"shasum":"10244d6bb567cfa663a16c575a40b18d96f88a5e","tarball":"https://registry.npmjs.org/@quicknode/hyperliquid-sdk/-/hyperliquid-sdk-0.1.1.tgz","fileCount":23,"integrity":"sha512-iDYHHH2zSIs1+BL7Zsc6j97JLdpmd+ZVm/xI7wRcqgXB41cDM/V8w5Fx8arz+gltHTt3iERjITnG5wVlxAnWQQ==","signatures":[{"sig":"MEUCIDamPJXRFLiMhZmKNJolclJ3LYCQl/dtJWaKXDslqz6yAiEArLpW8CSA0PNp0bO79ueIb2kxG+Bi1z6JvoSHcuqI4aM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1602180},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"5da38abb00a13f117ff8cada08c3f60943d9f1d1","scripts":{"build":"tsup","clean":"rm -rf dist","example":"tsx --tsconfig tsconfig.examples.json","typecheck":"tsc --noEmit","test:examples":"for f in examples/*.ts; do echo \"Testing $(basename $f)...\"; tsx --tsconfig tsconfig.examples.json \"$f\" --help 2>/dev/null || timeout 2 tsx --tsconfig tsconfig.examples.json \"$f\" 2>&1 | head -5; done","prepublishOnly":"npm run build"},"_npmUser":{"name":"maurodelazeri","email":"maurodelazeri@gmail.com"},"repository":{"url":"git+https://github.com/quiknode-labs/hyperliquid-sdk.git","type":"git"},"_npmVersion":"10.5.1","description":"Community SDK for Hyperliquid. One line to place orders, zero ceremony. HyperCore, HyperEVM, WebSocket and gRPC streams. Not affiliated with Hyperliquid Foundation.","directories":{},"_nodeVersion":"22.0.0","dependencies":{"ws":"^8.16.0","ethers":"^6.11.0","@grpc/grpc-js":"^1.10.0","@grpc/proto-loader":"^0.7.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","tsup":"^8.0.1","@types/ws":"^8.5.10","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"ethers":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/hyperliquid-sdk_0.1.1_1772302234021_0.24290121425516253","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@quicknode/hyperliquid-sdk","version":"0.1.2","keywords":["hyperliquid","trading","crypto","defi","perpetuals","spot","orderbook","websocket","grpc","evm","quicknode"],"author":{"name":"QuickNode","email":"support@quicknode.com"},"license":"MIT","_id":"@quicknode/hyperliquid-sdk@0.1.2","maintainers":[{"name":"0xsergen","email":"suysal@quiknode.io"},{"name":"alopezquiknode","email":"alopez@quiknode.io"},{"name":"bartekwitczak","email":"bartek@quiknode.io"},{"name":"alejandrofabiancampos","email":"camposalejandrofabian@gmail.com"},{"name":"brdrck","email":"jeff@brdrck.me"},{"name":"ferhatqn","email":"ferhat@quiknode.io"},{"name":"qnzach","email":"zach@quiknode.io"},{"name":"jmitsch","email":"john@quiknode.io"},{"name":"sahilsen","email":"sensahil25@gmail.com"},{"name":"josescasanova","email":"josescasanova@gmail.com"},{"name":"vittitow","email":"corey@quiknode.io"},{"name":"rorygraman","email":"rgraman@quiknode.io"},{"name":"galinap684","email":"galina@quiknode.io"},{"name":"mikehale-qn","email":"mhale@quiknode.io"},{"name":"gayleqn","email":"gayle@quiknode.io"},{"name":"maurodelazeri","email":"maurodelazeri@gmail.com"},{"name":"raquicknode","email":"rartemev@quicknode.com"},{"name":"shayaanakbar","email":"sakbar@quiknode.io"},{"name":"quiknodedave","email":"dhe@quicknode.com"},{"name":"vrohlfs","email":"victorrohlfs@gmail.com"},{"name":"sandeeppainuly","email":"sandeep@quicknode.io"},{"name":"lucqn","email":"luc@quicknode.com"},{"name":"jwelchqn","email":"jwelch+npm@quiknode.io"},{"name":"ronyqn","email":"rony@quiknode.io"},{"name":"qn-srikanth","email":"srikanth@quiknode.io"},{"name":"mcastilla","email":"mcastilla@quiknode.io"}],"homepage":"https://hyperliquidapi.com","bugs":{"url":"https://github.com/quiknode-labs/hyperliquid-sdk/issues"},"dist":{"shasum":"20514a4f7e6211c13c0e36d54252f4a691bbb47a","tarball":"https://registry.npmjs.org/@quicknode/hyperliquid-sdk/-/hyperliquid-sdk-0.1.2.tgz","fileCount":23,"integrity":"sha512-DpQCr1YBhfTPKP74fFM5vVMuCCQYzuW8jK5ji+6dQiNWKfj8dx80JH/repCbePMo4OGwSY9IUiv7eauMn6qpYQ==","signatures":[{"sig":"MEQCIFbItEORgRFTpcf8tDXxMNT//zZxBPxDlTwjj0MByAKWAiAFYp/PI/9BGZxGdj80pgW9PZ+W4qGzdcqF2YHcd1esqA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1603158},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"75803d7acfd5fad31ef7c056f4ccb251972ed38b","scripts":{"build":"tsup","clean":"rm -rf dist","example":"tsx --tsconfig tsconfig.examples.json","typecheck":"tsc --noEmit","test:examples":"for f in examples/*.ts; do echo \"Testing $(basename $f)...\"; tsx --tsconfig tsconfig.examples.json \"$f\" --help 2>/dev/null || timeout 2 tsx --tsconfig tsconfig.examples.json \"$f\" 2>&1 | head -5; done","prepublishOnly":"npm run build"},"_npmUser":{"name":"maurodelazeri","email":"maurodelazeri@gmail.com"},"repository":{"url":"git+https://github.com/quiknode-labs/hyperliquid-sdk.git","type":"git"},"_npmVersion":"10.5.1","description":"Community SDK for Hyperliquid. One line to place orders, zero ceremony. HyperCore, HyperEVM, WebSocket and gRPC streams. Not affiliated with Hyperliquid Foundation.","directories":{},"_nodeVersion":"22.0.0","dependencies":{"ws":"^8.16.0","ethers":"^6.11.0","@grpc/grpc-js":"^1.10.0","@grpc/proto-loader":"^0.7.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","tsup":"^8.0.1","@types/ws":"^8.5.10","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"ethers":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/hyperliquid-sdk_0.1.2_1772307060713_0.30923793884622075","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@quicknode/hyperliquid-sdk","version":"0.1.3","keywords":["hyperliquid","trading","crypto","defi","perpetuals","spot","orderbook","websocket","grpc","evm","quicknode"],"author":{"name":"QuickNode","email":"support@quicknode.com"},"license":"MIT","_id":"@quicknode/hyperliquid-sdk@0.1.3","maintainers":[{"name":"0xsergen","email":"suysal@quiknode.io"},{"name":"alopezquiknode","email":"alopez@quiknode.io"},{"name":"bartekwitczak","email":"bartek@quiknode.io"},{"name":"alejandrofabiancampos","email":"camposalejandrofabian@gmail.com"},{"name":"brdrck","email":"jeff@brdrck.me"},{"name":"ferhatqn","email":"ferhat@quiknode.io"},{"name":"qnzach","email":"zach@quiknode.io"},{"name":"jmitsch","email":"john@quiknode.io"},{"name":"sahilsen","email":"sensahil25@gmail.com"},{"name":"josescasanova","email":"josescasanova@gmail.com"},{"name":"vittitow","email":"corey@quiknode.io"},{"name":"rorygraman","email":"rgraman@quiknode.io"},{"name":"galinap684","email":"galina@quiknode.io"},{"name":"mikehale-qn","email":"mhale@quiknode.io"},{"name":"gayleqn","email":"gayle@quiknode.io"},{"name":"maurodelazeri","email":"maurodelazeri@gmail.com"},{"name":"raquicknode","email":"rartemev@quicknode.com"},{"name":"shayaanakbar","email":"sakbar@quiknode.io"},{"name":"quiknodedave","email":"dhe@quicknode.com"},{"name":"vrohlfs","email":"victorrohlfs@gmail.com"},{"name":"sandeeppainuly","email":"sandeep@quicknode.io"},{"name":"lucqn","email":"luc@quicknode.com"},{"name":"jwelchqn","email":"jwelch+npm@quiknode.io"},{"name":"ronyqn","email":"rony@quiknode.io"},{"name":"qn-srikanth","email":"srikanth@quiknode.io"},{"name":"mcastilla","email":"mcastilla@quiknode.io"}],"homepage":"https://hyperliquidapi.com","bugs":{"url":"https://github.com/quiknode-labs/hyperliquid-sdk/issues"},"dist":{"shasum":"132e904d06ea650b5eff924d8b9bc3ff54263a86","tarball":"https://registry.npmjs.org/@quicknode/hyperliquid-sdk/-/hyperliquid-sdk-0.1.3.tgz","fileCount":23,"integrity":"sha512-GcbYTpijPjoq0+CRcyjYoznj75rUrQPd8kTtNdIiUAAxqx00Zpt6+Jq6105bBQ9bF8r3wi7ZKguK2lcW3VCoMA==","signatures":[{"sig":"MEYCIQCIGOmHzUwtEDZ9vPBWSOatYOQiMFV36EslmmLX+LhIqgIhANi3G0TVeZW4RtFkmKKPQarXKjE2eR3YZj2+liTXqLf4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1603158},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"75803d7acfd5fad31ef7c056f4ccb251972ed38b","scripts":{"build":"tsup","clean":"rm -rf dist","example":"tsx --tsconfig tsconfig.examples.json","typecheck":"tsc --noEmit","test:examples":"for f in examples/*.ts; do echo \"Testing $(basename $f)...\"; tsx --tsconfig tsconfig.examples.json \"$f\" --help 2>/dev/null || timeout 2 tsx --tsconfig tsconfig.examples.json \"$f\" 2>&1 | head -5; done","prepublishOnly":"npm run build"},"_npmUser":{"name":"maurodelazeri","email":"maurodelazeri@gmail.com"},"repository":{"url":"git+https://github.com/quiknode-labs/hyperliquid-sdk.git","type":"git"},"_npmVersion":"10.5.1","description":"Community SDK for Hyperliquid. One line to place orders, zero ceremony. HyperCore, HyperEVM, WebSocket and gRPC streams. Not affiliated with Hyperliquid Foundation.","directories":{},"_nodeVersion":"22.0.0","dependencies":{"ws":"^8.16.0","ethers":"^6.11.0","@grpc/grpc-js":"^1.10.0","@grpc/proto-loader":"^0.7.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","tsup":"^8.0.1","@types/ws":"^8.5.10","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"ethers":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/hyperliquid-sdk_0.1.3_1772307118822_0.7178678771973614","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@quicknode/hyperliquid-sdk","version":"0.1.4","keywords":["hyperliquid","trading","crypto","defi","perpetuals","spot","orderbook","websocket","grpc","evm","quicknode"],"author":{"name":"QuickNode","email":"support@quicknode.com"},"license":"MIT","_id":"@quicknode/hyperliquid-sdk@0.1.4","maintainers":[{"name":"0xsergen","email":"suysal@quiknode.io"},{"name":"alopezquiknode","email":"alopez@quiknode.io"},{"name":"bartekwitczak","email":"bartek@quiknode.io"},{"name":"alejandrofabiancampos","email":"camposalejandrofabian@gmail.com"},{"name":"brdrck","email":"jeff@brdrck.me"},{"name":"ferhatqn","email":"ferhat@quiknode.io"},{"name":"qnzach","email":"zach@quiknode.io"},{"name":"jmitsch","email":"john@quiknode.io"},{"name":"sahilsen","email":"sensahil25@gmail.com"},{"name":"josescasanova","email":"josescasanova@gmail.com"},{"name":"vittitow","email":"corey@quiknode.io"},{"name":"rorygraman","email":"rgraman@quiknode.io"},{"name":"galinap684","email":"galina@quiknode.io"},{"name":"mikehale-qn","email":"mhale@quiknode.io"},{"name":"gayleqn","email":"gayle@quiknode.io"},{"name":"maurodelazeri","email":"maurodelazeri@gmail.com"},{"name":"raquicknode","email":"rartemev@quicknode.com"},{"name":"shayaanakbar","email":"sakbar@quiknode.io"},{"name":"quiknodedave","email":"dhe@quicknode.com"},{"name":"vrohlfs","email":"victorrohlfs@gmail.com"},{"name":"sandeeppainuly","email":"sandeep@quicknode.io"},{"name":"lucqn","email":"luc@quicknode.com"},{"name":"jwelchqn","email":"jwelch+npm@quiknode.io"},{"name":"ronyqn","email":"rony@quiknode.io"},{"name":"qn-srikanth","email":"srikanth@quiknode.io"},{"name":"mcastilla","email":"mcastilla@quiknode.io"}],"homepage":"https://hyperliquidapi.com","bugs":{"url":"https://github.com/quiknode-labs/hyperliquid-sdk/issues"},"dist":{"shasum":"4f984d8a94c59eae0d590ea70246adf6dec2c9f3","tarball":"https://registry.npmjs.org/@quicknode/hyperliquid-sdk/-/hyperliquid-sdk-0.1.4.tgz","fileCount":23,"integrity":"sha512-znjapt9PeBBzdElr1UXHDmIR7anWZXVjhw/Lp9Z8/UfSj3mkzdlT64tC9AVeQwa0pzk5caSNB2yn9r0nFR6QZQ==","signatures":[{"sig":"MEQCIAMpmSQFlma4Ncqd98EQPs2PJTsmTxAH64ASqdb+b1HEAiAmprKTOt1eplspCOgzsRuT9+FzrPGvGBtaUEigRUAX1w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1599985},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"ac43c7392c6052713cdb52a1114452c722a80d82","scripts":{"build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"maurodelazeri","email":"maurodelazeri@gmail.com"},"repository":{"url":"git+https://github.com/quiknode-labs/hyperliquid-sdk.git","type":"git"},"_npmVersion":"10.5.1","description":"Community SDK for Hyperliquid. One line to place orders, zero ceremony. HyperCore, HyperEVM, WebSocket and gRPC streams. Not affiliated with Hyperliquid Foundation.","directories":{},"_nodeVersion":"22.0.0","dependencies":{"ws":"^8.16.0","ethers":"^6.11.0","@grpc/grpc-js":"^1.10.0","@grpc/proto-loader":"^0.7.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","tsup":"^8.0.1","@types/ws":"^8.5.10","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"ethers":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/hyperliquid-sdk_0.1.4_1772465939439_0.022323037634018883","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@quicknode/hyperliquid-sdk","version":"0.1.5","keywords":["hyperliquid","trading","crypto","defi","perpetuals","spot","orderbook","websocket","grpc","evm","quicknode"],"author":{"name":"QuickNode","email":"support@quicknode.com"},"license":"MIT","_id":"@quicknode/hyperliquid-sdk@0.1.5","maintainers":[{"name":"0xsergen","email":"suysal@quiknode.io"},{"name":"alopezquiknode","email":"alopez@quiknode.io"},{"name":"bartekwitczak","email":"bartek@quiknode.io"},{"name":"alejandrofabiancampos","email":"camposalejandrofabian@gmail.com"},{"name":"brdrck","email":"jeff@brdrck.me"},{"name":"ferhatqn","email":"ferhat@quiknode.io"},{"name":"qnzach","email":"zach@quiknode.io"},{"name":"jmitsch","email":"john@quiknode.io"},{"name":"sahilsen","email":"sensahil25@gmail.com"},{"name":"josescasanova","email":"josescasanova@gmail.com"},{"name":"vittitow","email":"corey@quiknode.io"},{"name":"rorygraman","email":"rgraman@quiknode.io"},{"name":"galinap684","email":"galina@quiknode.io"},{"name":"mikehale-qn","email":"mhale@quiknode.io"},{"name":"gayleqn","email":"gayle@quiknode.io"},{"name":"maurodelazeri","email":"maurodelazeri@gmail.com"},{"name":"raquicknode","email":"rartemev@quicknode.com"},{"name":"shayaanakbar","email":"sakbar@quiknode.io"},{"name":"quiknodedave","email":"dhe@quicknode.com"},{"name":"vrohlfs","email":"victorrohlfs@gmail.com"},{"name":"sandeeppainuly","email":"sandeep@quicknode.io"},{"name":"lucqn","email":"luc@quicknode.com"},{"name":"jwelchqn","email":"jwelch+npm@quiknode.io"},{"name":"ronyqn","email":"rony@quiknode.io"},{"name":"qn-srikanth","email":"srikanth@quiknode.io"},{"name":"mcastilla","email":"mcastilla@quiknode.io"}],"homepage":"https://hyperliquidapi.com","bugs":{"url":"https://github.com/quiknode-labs/hyperliquid-sdk/issues"},"dist":{"shasum":"c7ae7c9ce57204b7c9afc22089b1d5fa6f91a1f6","tarball":"https://registry.npmjs.org/@quicknode/hyperliquid-sdk/-/hyperliquid-sdk-0.1.5.tgz","fileCount":23,"integrity":"sha512-6vKNu/b6OwMBWjhduPfaMZWI1Pu2aYb4r/SNMQmNe+wVOFA1ANuFc4z6x1QFvcA5gOAgRQ8e7lYDubk8UgR9kA==","signatures":[{"sig":"MEUCIQD6qOJZUZtHCCyG1P04tjmTH6DIgSiAjgGul50lCGfgTQIgRMElyN/HjZmS3aM0LhLqPjJTurSh38RKfl75uhFTdoo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1605230},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"8b6875efbd1dd435553280360fc38b8983d210c6","scripts":{"build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"josescasanova","email":"josescasanova@gmail.com"},"repository":{"url":"git+https://github.com/quiknode-labs/hyperliquid-sdk.git","type":"git"},"_npmVersion":"11.9.0","description":"Community SDK for Hyperliquid. One line to place orders, zero ceremony. HyperCore, HyperEVM, WebSocket and gRPC streams. Not affiliated with Hyperliquid Foundation.","directories":{},"_nodeVersion":"25.6.1","dependencies":{"ws":"^8.16.0","ethers":"^6.11.0","@grpc/grpc-js":"^1.10.0","@grpc/proto-loader":"^0.7.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","tsup":"^8.0.1","@types/ws":"^8.5.10","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"ethers":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/hyperliquid-sdk_0.1.5_1772638792568_0.5627772194109291","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@quicknode/hyperliquid-sdk","version":"0.1.6","keywords":["hyperliquid","trading","crypto","defi","perpetuals","spot","orderbook","websocket","grpc","evm","quicknode"],"author":{"name":"QuickNode","email":"support@quicknode.com"},"license":"MIT","_id":"@quicknode/hyperliquid-sdk@0.1.6","maintainers":[{"name":"0xsergen","email":"suysal@quiknode.io"},{"name":"alopezquiknode","email":"alopez@quiknode.io"},{"name":"bartekwitczak","email":"bartek@quiknode.io"},{"name":"alejandrofabiancampos","email":"camposalejandrofabian@gmail.com"},{"name":"brdrck","email":"jeff@brdrck.me"},{"name":"ferhatqn","email":"ferhat@quiknode.io"},{"name":"qnzach","email":"zach@quiknode.io"},{"name":"jmitsch","email":"john@quiknode.io"},{"name":"sahilsen","email":"sensahil25@gmail.com"},{"name":"josescasanova","email":"josescasanova@gmail.com"},{"name":"vittitow","email":"corey@quiknode.io"},{"name":"rorygraman","email":"rgraman@quiknode.io"},{"name":"galinap684","email":"galina@quiknode.io"},{"name":"mikehale-qn","email":"mhale@quiknode.io"},{"name":"gayleqn","email":"gayle@quiknode.io"},{"name":"maurodelazeri","email":"maurodelazeri@gmail.com"},{"name":"raquicknode","email":"rartemev@quicknode.com"},{"name":"aaeqn","email":"aentwistle@quiknode.io"},{"name":"shayaanakbar","email":"sakbar@quiknode.io"},{"name":"quiknodedave","email":"dhe@quicknode.com"},{"name":"vrohlfs","email":"victorrohlfs@gmail.com"},{"name":"sandeeppainuly","email":"sandeep@quicknode.io"},{"name":"lucqn","email":"luc@quicknode.com"},{"name":"jwelchqn","email":"jwelch+npm@quiknode.io"},{"name":"ronyqn","email":"rony@quiknode.io"},{"name":"qn-srikanth","email":"srikanth@quiknode.io"},{"name":"mcastilla","email":"mcastilla@quiknode.io"}],"homepage":"https://hyperliquidapi.com","bugs":{"url":"https://github.com/quiknode-labs/hyperliquid-sdk/issues"},"dist":{"shasum":"8897819903c2f87d35ef34365d23cfc53e101c41","tarball":"https://registry.npmjs.org/@quicknode/hyperliquid-sdk/-/hyperliquid-sdk-0.1.6.tgz","fileCount":23,"integrity":"sha512-8t0AU6J8rOohYrQF3jZxJSihsVZLgu/J376IWRsfk3Ag55Sj+J5V0IeQ2ZmnDw6SjNWKNl6MRkXQbbye/meSdg==","signatures":[{"sig":"MEYCIQDQbsIcCvkfpoYvdGcx4v22Pw1+vAg7Y0vqeAwJ3d5haAIhAKZ3W8EvidMKG/2uW+CgGPMQ/fJqqvI1rNEVUNsR/Qq4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1610145},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"33467f76111699c887de16b358e29ed36f9edcbf","scripts":{"build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"josescasanova","email":"josescasanova@gmail.com"},"repository":{"url":"git+https://github.com/quiknode-labs/hyperliquid-sdk.git","type":"git"},"_npmVersion":"11.9.0","description":"Community SDK for Hyperliquid. One line to place orders, zero ceremony. HyperCore, HyperEVM, WebSocket and gRPC streams. Not affiliated with Hyperliquid Foundation.","directories":{},"_nodeVersion":"25.6.1","dependencies":{"ws":"^8.16.0","ethers":"^6.11.0","@grpc/grpc-js":"^1.10.0","@grpc/proto-loader":"^0.7.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","tsup":"^8.0.1","@types/ws":"^8.5.10","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"ethers":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/hyperliquid-sdk_0.1.6_1772735707754_0.7622482383979095","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@quicknode/hyperliquid-sdk","version":"0.1.7","keywords":["hyperliquid","trading","crypto","defi","perpetuals","spot","orderbook","websocket","grpc","evm","quicknode"],"author":{"name":"QuickNode","email":"support@quicknode.com"},"license":"MIT","_id":"@quicknode/hyperliquid-sdk@0.1.7","maintainers":[{"name":"0xsergen","email":"suysal@quiknode.io"},{"name":"alopezquiknode","email":"alopez@quiknode.io"},{"name":"bartekwitczak","email":"bartek@quiknode.io"},{"name":"alejandrofabiancampos","email":"camposalejandrofabian@gmail.com"},{"name":"ferhatqn","email":"ferhat@quiknode.io"},{"name":"qnzach","email":"zach@quiknode.io"},{"name":"jmitsch","email":"john@quiknode.io"},{"name":"sahilsen","email":"sensahil25@gmail.com"},{"name":"josescasanova","email":"josescasanova@gmail.com"},{"name":"vittitow","email":"corey@quiknode.io"},{"name":"galinap684","email":"galina@quiknode.io"},{"name":"mikehale-qn","email":"mhale@quiknode.io"},{"name":"gayleqn","email":"gayle@quiknode.io"},{"name":"maurodelazeri","email":"maurodelazeri@gmail.com"},{"name":"raquicknode","email":"rartemev@quicknode.com"},{"name":"mikemaccana","email":"mike.maccana@gmail.com"},{"name":"aaeqn","email":"aentwistle@quiknode.io"},{"name":"shayaanakbar","email":"sakbar@quiknode.io"},{"name":"quiknodedave","email":"dhe@quicknode.com"},{"name":"vrohlfs","email":"victorrohlfs@gmail.com"},{"name":"rorygraman-qn","email":"rgraman@quicknode.com"},{"name":"sandeeppainuly","email":"sandeep@quicknode.io"},{"name":"lucqn","email":"luc@quicknode.com"},{"name":"echung.quiknode.io","email":"echung@quiknode.io"},{"name":"samueljudd","email":"samuel@quiknode.io"},{"name":"ronyqn","email":"rony@quiknode.io"},{"name":"qn-srikanth","email":"srikanth@quiknode.io"},{"name":"mcastilla","email":"mcastilla@quiknode.io"}],"homepage":"https://hyperliquidapi.com","bugs":{"url":"https://github.com/quiknode-labs/hyperliquid-sdk/issues"},"dist":{"shasum":"de1ff02fe8ed131178a51349367f4a26015fc0b6","tarball":"https://registry.npmjs.org/@quicknode/hyperliquid-sdk/-/hyperliquid-sdk-0.1.7.tgz","fileCount":23,"integrity":"sha512-vddvqgSwGCG+vSozlrPqiOhuc0leBA5p6heHzj0b3SOm3JbQRe+hGsNiJnVQNulkallmD4EKOo0O0hQtDyiW9g==","signatures":[{"sig":"MEUCIQDo+xuZs+s5GxHkOwLmwQbGepJeP3sGt3XJRQOQkhhgKwIgXEuAT/6Uqo4yoh2fS1HJ1EAZ+V0WAWH2I13i2Lypyrw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1716454},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"113c93345ae1896607fbd5e96206341fa3d704e1","scripts":{"build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"josescasanova","email":"josescasanova@gmail.com"},"repository":{"url":"git+https://github.com/quiknode-labs/hyperliquid-sdk.git","type":"git"},"_npmVersion":"11.12.1","description":"Community SDK for Hyperliquid. One line to place orders, zero ceremony. HyperCore, HyperEVM, WebSocket and gRPC streams. Not affiliated with Hyperliquid Foundation.","directories":{},"_nodeVersion":"25.9.0","dependencies":{"ws":"^8.16.0","ethers":"^6.11.0","@grpc/grpc-js":"^1.10.0","@grpc/proto-loader":"^0.7.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","tsup":"^8.0.1","@types/ws":"^8.5.10","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"ethers":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/hyperliquid-sdk_0.1.7_1777840573200_0.20127333482739873","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"@quicknode/hyperliquid-sdk","version":"0.1.8","keywords":["hyperliquid","trading","crypto","defi","perpetuals","spot","orderbook","websocket","grpc","evm","quicknode"],"author":{"name":"QuickNode","email":"support@quicknode.com"},"license":"MIT","_id":"@quicknode/hyperliquid-sdk@0.1.8","maintainers":[{"name":"0xsergen","email":"suysal@quiknode.io"},{"name":"alopezquiknode","email":"alopez@quiknode.io"},{"name":"bartekwitczak","email":"bartek@quiknode.io"},{"name":"alejandrofabiancampos","email":"camposalejandrofabian@gmail.com"},{"name":"ferhatqn","email":"ferhat@quiknode.io"},{"name":"qnzach","email":"zach@quiknode.io"},{"name":"jmitsch","email":"john@quiknode.io"},{"name":"sahilsen","email":"sensahil25@gmail.com"},{"name":"josescasanova","email":"josescasanova@gmail.com"},{"name":"vittitow","email":"corey@quiknode.io"},{"name":"galinap684","email":"galina@quiknode.io"},{"name":"mikehale-qn","email":"mhale@quiknode.io"},{"name":"gayleqn","email":"gayle@quiknode.io"},{"name":"maurodelazeri","email":"maurodelazeri@gmail.com"},{"name":"raquicknode","email":"rartemev@quicknode.com"},{"name":"mikemaccana","email":"mike.maccana@gmail.com"},{"name":"aaeqn","email":"aentwistle@quiknode.io"},{"name":"shayaanakbar","email":"sakbar@quiknode.io"},{"name":"quiknodedave","email":"dhe@quicknode.com"},{"name":"vrohlfs","email":"victorrohlfs@gmail.com"},{"name":"rorygraman-qn","email":"rgraman@quicknode.com"},{"name":"sandeeppainuly","email":"sandeep@quicknode.io"},{"name":"lucqn","email":"luc@quicknode.com"},{"name":"echung.quiknode.io","email":"echung@quiknode.io"},{"name":"samueljudd","email":"samuel@quiknode.io"},{"name":"ronyqn","email":"rony@quiknode.io"},{"name":"qn-srikanth","email":"srikanth@quiknode.io"},{"name":"mcastilla","email":"mcastilla@quiknode.io"}],"homepage":"https://hyperliquidapi.com","bugs":{"url":"https://github.com/quiknode-labs/hyperliquid-sdk/issues"},"dist":{"shasum":"5d8f0aeea77d7d3ab9b6cb28014466bc1f5fada2","tarball":"https://registry.npmjs.org/@quicknode/hyperliquid-sdk/-/hyperliquid-sdk-0.1.8.tgz","fileCount":23,"integrity":"sha512-1TFOzQQSem7cuYsR8SjBak/Ta5tVGZG6g7IzZQyR6pM/pKMX6fuSF/plNCRHcMwzLWrWQsJOAalKg1c1vN2nwQ==","signatures":[{"sig":"MEUCIQCKOYxh6CWzZh2qOIyr8qAh88s59/v1IBC+PwZg+iTc1QIgQjkoA0uLL77R9MMcZl+OBfTGsBRcMbU9HTILzai2GLc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1716836},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"45f34aeda4333f7c9c4be07285cadb2f57ffd067","scripts":{"build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"josescasanova","email":"josescasanova@gmail.com"},"repository":{"url":"git+https://github.com/quiknode-labs/hyperliquid-sdk.git","type":"git"},"_npmVersion":"11.12.1","description":"Community SDK for Hyperliquid. One line to place orders, zero ceremony. HyperCore, HyperEVM, WebSocket and gRPC streams. Not affiliated with Hyperliquid Foundation.","directories":{},"_nodeVersion":"25.9.0","dependencies":{"ws":"^8.16.0","ethers":"^6.11.0","@grpc/grpc-js":"^1.10.0","@grpc/proto-loader":"^0.7.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","tsup":"^8.0.1","@types/ws":"^8.5.10","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"ethers":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/hyperliquid-sdk_0.1.8_1777840821761_0.6358713708229913","host":"s3://npm-registry-packages-npm-production"}},"0.1.10":{"name":"@quicknode/hyperliquid-sdk","version":"0.1.10","keywords":["hyperliquid","trading","crypto","defi","perpetuals","spot","orderbook","websocket","grpc","evm","quicknode"],"author":{"name":"QuickNode","email":"support@quicknode.com"},"license":"MIT","_id":"@quicknode/hyperliquid-sdk@0.1.10","maintainers":[{"name":"0xsergen","email":"suysal@quiknode.io"},{"name":"alopezquiknode","email":"alopez@quiknode.io"},{"name":"bartekwitczak","email":"bartek@quiknode.io"},{"name":"alejandrofabiancampos","email":"camposalejandrofabian@gmail.com"},{"name":"ferhatqn","email":"ferhat@quiknode.io"},{"name":"qnzach","email":"zach@quiknode.io"},{"name":"jmitsch","email":"john@quiknode.io"},{"name":"sahilsen","email":"sensahil25@gmail.com"},{"name":"josescasanova","email":"josescasanova@gmail.com"},{"name":"vittitow","email":"corey@quiknode.io"},{"name":"mikehale-qn","email":"mhale@quiknode.io"},{"name":"gayleqn","email":"gayle@quiknode.io"},{"name":"maurodelazeri","email":"maurodelazeri@gmail.com"},{"name":"raquicknode","email":"rartemev@quicknode.com"},{"name":"mikemaccana","email":"mike.maccana@gmail.com"},{"name":"aaeqn","email":"aentwistle@quiknode.io"},{"name":"shayaanakbar","email":"sakbar@quiknode.io"},{"name":"quiknodedave","email":"dhe@quicknode.com"},{"name":"vrohlfs","email":"victorrohlfs@gmail.com"},{"name":"rorygraman-qn","email":"rgraman@quicknode.com"},{"name":"sandeeppainuly","email":"sandeep@quicknode.io"},{"name":"lucqn","email":"luc@quicknode.com"},{"name":"echung.quiknode.io","email":"echung@quiknode.io"},{"name":"samueljudd","email":"samuel@quiknode.io"},{"name":"ronyqn","email":"rony@quiknode.io"},{"name":"qn-srikanth","email":"srikanth@quiknode.io"},{"name":"mcastilla","email":"mcastilla@quiknode.io"}],"homepage":"https://hyperliquidapi.com","bugs":{"url":"https://github.com/quiknode-labs/hyperliquid-sdk/issues"},"dist":{"shasum":"759e15accc035df8c939dac464a22443d9f64982","tarball":"https://registry.npmjs.org/@quicknode/hyperliquid-sdk/-/hyperliquid-sdk-0.1.10.tgz","fileCount":23,"integrity":"sha512-pH1QboXRCl/F33asI4QDejZWMUSVy2DHfrYqu/bZq/jV8WsTYxUOiBuVeIHYXCJN5EPm6K/zlcM9e+W6KqHe3Q==","signatures":[{"sig":"MEYCIQC1QUbvlRlLef5GJk3885YAIB4bhBIaUoFZEAXCLaKcggIhAOQT+5ihAubZNMxBIFVCBve2zeaoxpydt53pkfiTETS3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1750451},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"841a2c1f8631c7f034cf8547470b238c86c7c6ff","scripts":{"build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"josescasanova","email":"josescasanova@gmail.com"},"repository":{"url":"git+https://github.com/quiknode-labs/hyperliquid-sdk.git","type":"git"},"_npmVersion":"11.12.1","description":"Community SDK for Hyperliquid. One line to place orders, zero ceremony. HyperCore, HyperEVM, WebSocket and gRPC streams. Not affiliated with Hyperliquid Foundation.","directories":{},"_nodeVersion":"26.0.0","dependencies":{"ws":"^8.16.0","ethers":"^6.11.0","@grpc/grpc-js":"^1.10.0","@grpc/proto-loader":"^0.7.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","tsup":"^8.0.1","@types/ws":"^8.5.10","typescript":"^5.3.3","@types/node":"^20.11.0"},"peerDependencies":{"ethers":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/hyperliquid-sdk_0.1.10_1779294659860_0.7513900677082983","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2026-02-28T14:42:20.950Z","modified":"2026-08-21T18:15:02.969Z","0.1.0":"2026-02-28T14:42:21.288Z","0.1.1":"2026-02-28T18:10:34.203Z","0.1.2":"2026-02-28T19:31:01.019Z","0.1.3":"2026-02-28T19:31:59.000Z","0.1.4":"2026-03-02T15:38:59.659Z","0.1.5":"2026-03-04T15:39:52.770Z","0.1.6":"2026-03-05T18:35:07.916Z","0.1.7":"2026-05-03T20:36:13.379Z","0.1.8":"2026-05-03T20:40:21.913Z","0.1.10":"2026-05-20T16:31:00.172Z"},"bugs":{"url":"https://github.com/quiknode-labs/hyperliquid-sdk/issues"},"author":{"name":"QuickNode","email":"support@quicknode.com"},"license":"MIT","homepage":"https://hyperliquidapi.com","keywords":["hyperliquid","trading","crypto","defi","perpetuals","spot","orderbook","websocket","grpc","evm","quicknode"],"repository":{"url":"git+https://github.com/quiknode-labs/hyperliquid-sdk.git","type":"git"},"description":"Community SDK for Hyperliquid. One line to place orders, zero ceremony. HyperCore, HyperEVM, WebSocket and gRPC streams. Not affiliated with Hyperliquid Foundation.","maintainers":[{"email":"suysal@quiknode.io","name":"0xsergen"},{"email":"alopez@quiknode.io","name":"alopezquiknode"},{"email":"camposalejandrofabian@gmail.com","name":"alejandrofabiancampos"},{"email":"ferhat@quiknode.io","name":"ferhatqn"},{"email":"zach@quiknode.io","name":"qnzach"},{"email":"john@quiknode.io","name":"jmitsch"},{"email":"sensahil25@gmail.com","name":"sahilsen"},{"email":"josescasanova@gmail.com","name":"josescasanova"},{"email":"corey@quiknode.io","name":"vittitow"},{"email":"mwu@quiknode.io","name":"markwu35"},{"email":"mhale@quiknode.io","name":"mikehale-qn"},{"email":"gayle@quiknode.io","name":"gayleqn"},{"email":"maurodelazeri@gmail.com","name":"maurodelazeri"},{"email":"elopez@quiknode.io","name":"elopezqn"},{"email":"justin@quicknode.com","name":"justinquickestnode"},{"email":"rartemev@quicknode.com","name":"raquicknode"},{"email":"mike.maccana@gmail.com","name":"mikemaccana"},{"email":"aentwistle@quiknode.io","name":"aaeqn"},{"email":"sakbar@quiknode.io","name":"shayaanakbar"},{"email":"dhe@quicknode.com","name":"quiknodedave"},{"email":"victorrohlfs@gmail.com","name":"vrohlfs"},{"email":"rgraman@quicknode.com","name":"rorygraman-qn"},{"email":"sandeep@quicknode.io","name":"sandeeppainuly"},{"email":"luc@quicknode.com","name":"lucqn"},{"email":"echung@quiknode.io","name":"echung.quiknode.io"},{"email":"samuel@quiknode.io","name":"samueljudd"},{"email":"rony@quiknode.io","name":"ronyqn"},{"email":"srikanth@quiknode.io","name":"qn-srikanth"},{"email":"mcastilla@quiknode.io","name":"mcastilla"},{"email":"emanuel@quiknode.io","name":"emanuelquicknode"},{"email":"jnorwood@quiknode.io","name":"txg6154"}],"readme":"# Hyperliquid SDK for TypeScript\n\n**The simplest way to trade on Hyperliquid.** One line to place orders, zero ceremony.\n\n```typescript\nimport { HyperliquidSDK } from '@quicknode/hyperliquid-sdk';\n\nconst sdk = new HyperliquidSDK(endpoint);\nconst order = await sdk.marketBuy(\"BTC\", { notional: 100 });  // Buy $100 of BTC\n```\n\nThat's it. No build-sign-send ceremony. No manual hash signing. No nonce tracking. Just trading.\n\n> **Community SDK** — Not affiliated with Hyperliquid Foundation.\n\n## Installation\n\n```bash\nnpm install @quicknode/hyperliquid-sdk\n# or\nyarn add @quicknode/hyperliquid-sdk\n```\n\nEverything is included: trading, market data, WebSocket streaming, gRPC streaming, HyperCore blocks, and EVM.\n\n## Quick Start\n\n### 1. Set your private key\n\n```bash\nexport PRIVATE_KEY=\"0xYOUR_PRIVATE_KEY\"\n```\n\n### 2. Start trading\n\n```typescript\nimport { HyperliquidSDK } from '@quicknode/hyperliquid-sdk';\n\nconst sdk = new HyperliquidSDK(endpoint);\n\n// Market orders\nconst order1 = await sdk.marketBuy(\"BTC\", { size: 0.001 });\nconst order2 = await sdk.marketSell(\"ETH\", { notional: 100 });  // $100 worth\n\n// Limit orders\nconst order3 = await sdk.buy(\"BTC\", { size: 0.001, price: 65000, tif: \"gtc\" });\n\n// Check your order\nconsole.log(order3.status);  // \"filled\" or \"resting\"\nconsole.log(order3.oid);     // Order ID\n```\n\n---\n\n## Data APIs\n\nAll data APIs are accessed through the SDK instance. You can create a Hyperliquid endpoint on [Quicknode](https://www.quicknode.com/) to get access to the data APIs.\n\n### Info API\n\n50+ methods for account state, positions, market data, and metadata.\n\n```typescript\nconst sdk = new HyperliquidSDK(endpoint);\n\n// Market data\nawait sdk.info.allMids();                          // All mid prices\nawait sdk.info.l2Book(\"BTC\");                      // Order book\nawait sdk.info.recentTrades(\"BTC\");                // Recent trades\nawait sdk.info.candles(\"BTC\", \"1h\", start, end);   // OHLCV candles\nawait sdk.info.fundingHistory(\"BTC\", start, end);  // Funding history\nawait sdk.info.predictedFundings();                // Predicted funding rates\n\n// Metadata\nawait sdk.info.meta();                             // Exchange metadata\nawait sdk.info.spotMeta();                         // Spot metadata\nawait sdk.info.exchangeStatus();                   // Exchange status\nawait sdk.info.perpDexs();                         // Perpetual DEX info\nawait sdk.info.maxMarketOrderNtls();               // Max market order notionals\n\n// User data\nawait sdk.info.clearinghouseState(\"0x...\");        // Positions & margin\nawait sdk.info.spotClearinghouseState(\"0x...\");    // Spot balances\nawait sdk.info.openOrders(\"0x...\");                // Open orders\nawait sdk.info.frontendOpenOrders(\"0x...\");        // Enhanced open orders\nawait sdk.info.orderStatus(\"0x...\", oid);          // Specific order status\nawait sdk.info.historicalOrders(\"0x...\");          // Order history\nawait sdk.info.userFills(\"0x...\");                 // Trade history\nawait sdk.info.userFillsByTime(\"0x...\", start);    // Fills by time range\nawait sdk.info.userFunding(\"0x...\");               // Funding payments\nawait sdk.info.userFees(\"0x...\");                  // Fee structure\nawait sdk.info.userRateLimit(\"0x...\");             // Rate limit status\nawait sdk.info.userRole(\"0x...\");                  // Account type\nawait sdk.info.portfolio(\"0x...\");                 // Portfolio history\nawait sdk.info.subAccounts(\"0x...\");               // Sub-accounts\nawait sdk.info.extraAgents(\"0x...\");               // API keys/agents\n\n// TWAP\nawait sdk.info.userTwapSliceFills(\"0x...\");        // TWAP slice fills\n\n// Batch queries\nawait sdk.info.batchClearinghouseStates([\"0x...\", \"0x...\"]);\n\n// Vaults\nawait sdk.info.vaultSummaries();                   // All vault summaries\nawait sdk.info.vaultDetails(\"0x...\");              // Specific vault\nawait sdk.info.userVaultEquities(\"0x...\");         // User's vault equities\nawait sdk.info.leadingVaults(\"0x...\");             // Vaults user leads\n\n// Delegation/Staking\nawait sdk.info.delegations(\"0x...\");               // Active delegations\nawait sdk.info.delegatorSummary(\"0x...\");          // Delegation summary\nawait sdk.info.delegatorHistory(\"0x...\");          // Delegation history\nawait sdk.info.delegatorRewards(\"0x...\");          // Delegation rewards\n\n// Tokens\nawait sdk.info.tokenDetails(tokenId);              // Token details\nawait sdk.info.spotDeployState(\"0x...\");           // Spot deployment state\n\n// Other\nawait sdk.info.referral(\"0x...\");                  // Referral info\nawait sdk.info.maxBuilderFee(\"0x...\", \"0x...\");    // Builder fee limits\nawait sdk.info.approvedBuilders(\"0x...\");          // Approved builders\nawait sdk.info.liquidatable();                     // Liquidatable positions\n```\n\n### HyperCore API\n\nBlock data, trading operations, and real-time data via JSON-RPC.\n\n```typescript\nconst sdk = new HyperliquidSDK(endpoint);\n\n// Block data\nawait sdk.core.latestBlockNumber();                  // Latest block\nawait sdk.core.getBlock(12345);                      // Get specific block\nawait sdk.core.getBatchBlocks(100, 110);             // Get block range\nawait sdk.core.latestBlocks({ count: 10 });          // Latest blocks\n\n// Recent data\nawait sdk.core.latestTrades({ count: 10 });          // Recent trades (all coins)\nawait sdk.core.latestTrades({ count: 10, coin: \"BTC\" }); // Recent BTC trades\nawait sdk.core.latestOrders({ count: 10 });          // Recent order events\nawait sdk.core.latestBookUpdates({ count: 10 });     // Recent book updates\n\n// Discovery\nawait sdk.core.listDexes();                          // All DEXes\nawait sdk.core.listMarkets();                        // All markets\nawait sdk.core.listMarkets({ dex: \"hyperliquidity\" }); // Markets by DEX\n\n// Order queries\nawait sdk.core.openOrders(\"0x...\");                  // User's open orders\nawait sdk.core.orderStatus(\"0x...\", oid);            // Specific order status\nawait sdk.core.preflight(...);                       // Validate order before signing\n```\n\n### EVM (Ethereum JSON-RPC)\n\n50+ Ethereum JSON-RPC methods for Hyperliquid's EVM chain (chain ID 999 mainnet, 998 testnet).\n\n```typescript\nconst sdk = new HyperliquidSDK(endpoint);\n\n// Chain info\nawait sdk.evm.blockNumber();                       // Latest block\nawait sdk.evm.chainId();                           // 999 mainnet, 998 testnet\nawait sdk.evm.gasPrice();                          // Current gas price\nawait sdk.evm.maxPriorityFeePerGas();              // Priority fee\nawait sdk.evm.netVersion();                        // Network version\nawait sdk.evm.syncing();                           // Sync status\n\n// Accounts\nawait sdk.evm.getBalance(\"0x...\");                 // Account balance\nawait sdk.evm.getTransactionCount(\"0x...\");        // Nonce\nawait sdk.evm.getCode(\"0x...\");                    // Contract code\nawait sdk.evm.getStorageAt(\"0x...\", position);     // Storage value\n\n// Transactions\nawait sdk.evm.call({ to: \"0x...\", data: \"0x...\" });\nawait sdk.evm.estimateGas(tx);\nawait sdk.evm.sendRawTransaction(signedTx);\nawait sdk.evm.getTransactionByHash(\"0x...\");\nawait sdk.evm.getTransactionReceipt(\"0x...\");\n\n// Blocks\nawait sdk.evm.getBlockByNumber(12345);\nawait sdk.evm.getBlockByHash(\"0x...\");\nawait sdk.evm.getBlockReceipts(12345);\nawait sdk.evm.getBlockTransactionCountByNumber(12345);\n\n// Logs\nawait sdk.evm.getLogs({ address: \"0x...\", topics: [...] });\n\n// HyperEVM-specific\nawait sdk.evm.bigBlockGasPrice();                  // Big block gas price\nawait sdk.evm.usingBigBlocks();                    // Is using big blocks?\nawait sdk.evm.getSystemTxsByBlockNumber(12345);\n\n// Debug/Trace\nawait sdk.evm.debugTraceTransaction(\"0x...\", { tracer: \"callTracer\" });\nawait sdk.evm.debugTraceBlockByNumber(12345);\nawait sdk.evm.traceTransaction(\"0x...\");\nawait sdk.evm.traceBlock(12345);\n```\n\n---\n\n## Real-Time Streaming\n\n### WebSocket Streaming\n\n20+ subscription types for real-time data with automatic reconnection.\n\n```typescript\nconst sdk = new HyperliquidSDK(endpoint);\n\n// Subscribe to trades\nsdk.stream.trades([\"BTC\", \"ETH\"], (t) => console.log(`Trade: ${JSON.stringify(t)}`));\n\n// Subscribe to book updates\nsdk.stream.bookUpdates([\"BTC\"], (b) => console.log(`Book: ${JSON.stringify(b)}`));\n\n// Subscribe to orders (your orders)\nsdk.stream.orders([\"BTC\"], (o) => console.log(`Order: ${JSON.stringify(o)}`), { users: [\"0x...\"] });\n\n// Start streaming\nsdk.stream.start();\n\n// ... do other work ...\n\n// Stop streaming\nsdk.stream.stop();\n```\n\nAvailable streams:\n\n**Market Data:**\n- `trades(coins, callback)` — Executed trades\n- `bookUpdates(coins, callback)` — Order book changes\n- `l2Book(coin, callback)` — L2 order book snapshots\n- `allMids(callback)` — All mid price updates\n- `candle(coin, interval, callback)` — Candlestick data\n- `bbo(coin, callback)` — Best bid/offer updates\n- `activeAssetCtx(coin, callback)` — Asset context (pricing, volume)\n\n**User Data:**\n- `orders(coins, callback, options)` — Order lifecycle events\n- `openOrders(user, callback)` — User's open orders\n- `orderUpdates(user, callback)` — Order status changes\n- `userEvents(user, callback)` — All user events\n- `userFills(user, callback)` — Trade fills\n- `userFundings(user, callback)` — Funding payments\n- `userNonFundingLedger(user, callback)` — Ledger changes\n- `clearinghouseState(user, callback)` — Position updates\n- `activeAssetData(user, coin, callback)` — Trading parameters\n\n**TWAP:**\n- `twap(coins, callback)` — TWAP execution\n- `twapStates(user, callback)` — TWAP algorithm states\n- `userTwapSliceFills(user, callback)` — TWAP slice fills\n- `userTwapHistory(user, callback)` — TWAP history\n\n**System:**\n- `events(callback)` — System events (funding, liquidations)\n- `notification(user, callback)` — User notifications\n- `webData3(user, callback)` — Aggregate user info\n- `writerActions(user, callback)` — Writer actions\n\n### gRPC Streaming (High Performance)\n\nLower latency streaming via gRPC for high-frequency applications.\n\n```typescript\nconst sdk = new HyperliquidSDK(endpoint);\n\n// Subscribe to trades\nsdk.grpc.trades([\"BTC\", \"ETH\"], (t) => console.log(`Trade: ${JSON.stringify(t)}`));\n\n// Subscribe to L2 order book (aggregated by price level)\nsdk.grpc.l2Book(\"BTC\", (b) => console.log(`Book: ${JSON.stringify(b)}`), { nSigFigs: 5 });\n\n// Subscribe to L4 order book (CRITICAL: individual orders with order IDs)\nsdk.grpc.l4Book(\"BTC\", (b) => console.log(`L4: ${JSON.stringify(b)}`));\n\n// Subscribe to blocks\nsdk.grpc.blocks((b) => console.log(`Block: ${JSON.stringify(b)}`));\n\n// Subscribe to raw event blocks\nsdk.grpc.rawEvents((b) => console.log(`Events block: ${JSON.stringify(b)}`));\n\n// Start streaming\nawait sdk.grpc.start();\n\n// ... do other work ...\n\nsdk.grpc.stop();\n```\n\n**Available gRPC Streams:**\n\n| Method | Parameters | Description |\n|--------|-----------|-------------|\n| `trades(coins, callback)` | coins: `string[]` | Executed trades with price, size, direction |\n| `rawTrades(coins, callback)` | coins: `string[]` | Raw trade blocks |\n| `orders(coins, callback, options)` | coins: `string[]`, users?: `string[]` | Order lifecycle events |\n| `rawOrders(coins, callback, options)` | coins: `string[]`, users?: `string[]` | Raw order blocks |\n| `bookUpdates(coins, callback)` | coins: `string[]` | Order book changes (deltas) |\n| `rawBookUpdates(coins, callback)` | coins: `string[]` | Raw order book update blocks |\n| `l2Book(coin, callback, options)` | coin: `string`, nSigFigs?: `number` | L2 order book (aggregated by price) |\n| `l4Book(coin, callback)` | coin: `string` | **L4 order book (individual orders)** |\n| `blocks(callback)` | - | Block data |\n| `twap(coins, callback)` | coins: `string[]` | TWAP execution updates |\n| `rawTwap(coins, callback)` | coins: `string[]` | Raw TWAP execution blocks |\n| `events(callback)` | - | System events (funding, liquidations) |\n| `rawEvents(callback)` | - | Raw system event blocks with `events: [...]` |\n| `writerActions(callback)` | - | Writer actions |\n| `rawWriterActions(callback)` | - | Raw writer action blocks |\n\n### L4 Order Book (Critical for Trading)\n\nL4 order book shows **every individual order** with its order ID. This is essential for:\n\n- **Market Making**: Know your exact queue position\n- **Order Flow Analysis**: Detect large orders and icebergs\n- **Optimal Execution**: See exactly what you're crossing\n- **HFT**: Lower latency than WebSocket\n\n```typescript\nconst sdk = new HyperliquidSDK(endpoint);\n\nsdk.grpc.l4Book(\"BTC\", (data) => {\n  // L4 book data structure:\n  // {\n  //   \"coin\": \"BTC\",\n  //   \"bids\": [[price, size, order_id], ...],\n  //   \"asks\": [[price, size, order_id], ...]\n  // }\n  const bids = data.bids || [];\n  for (const bid of bids.slice(0, 3)) {\n    const [px, sz, oid] = bid;\n    console.log(`Bid: $${Number(px).toLocaleString()} x ${sz} (order: ${oid})`);\n  }\n});\n\nawait sdk.grpc.start();\n```\n\n### L2 vs L4 Comparison\n\n| Feature | L2 Book | L4 Book |\n|---------|---------|---------|\n| Aggregation | By price level | Individual orders |\n| Order IDs | No | Yes |\n| Queue Position | Unknown | Visible |\n| Bandwidth | Lower | Higher |\n| Protocol | WebSocket or gRPC | gRPC only |\n| Use Case | Price monitoring | Market making, HFT |\n\n---\n\n## Trading Features\n\n### One-Line Orders\n\n```typescript\n// Market orders\nawait sdk.marketBuy(\"BTC\", { size: 0.001 });\nawait sdk.marketSell(\"ETH\", { notional: 100 });\n\n// Limit orders\nawait sdk.buy(\"BTC\", { size: 0.001, price: 65000 });\nawait sdk.sell(\"ETH\", { size: 0.5, price: 4000, tif: \"gtc\" });\n\n// Order priority. priorityFee=10000 is 1 bp.\n// Priority fees are paid from undelegated staking HYPE.\nawait sdk.fundPriorityFees(0.001);\nawait sdk.marketBuy(\"HYPE\", { size: 0.3, priorityFee: 10000 });\n\n// Perp trader aliases\nawait sdk.long(\"BTC\", { size: 0.001, price: 65000 });\nawait sdk.short(\"ETH\", { notional: 500, tif: \"ioc\" });\n```\n\n### HIP-4 Prediction Markets\n\nAlways discover the active markets first. The returned `market.yes` and `market.no` sides are directly tradeable, so users do not need to memorize `#10` or the native asset id.\n\n```typescript\nconst markets = await sdk.predictionMarkets();\nfor (const market of markets) {\n  console.log(market.title, market.yes.symbol, market.yes.mid, market.no.symbol, market.no.mid);\n}\n\nconst market = markets.findMarket({ underlying: \"BTC\", targetPrice: \"78213\" });\nif (!market) throw new Error(\"Prediction market not found\");\n\n// HIP-4 uses USDH collateral and a 10 USDH minimum order value.\nawait sdk.buyUsdh(10.7);\nconst order = await sdk.buy(market.yes, { size: 20, price: \"0.63\" });\nconst exitOrder = await sdk.sell(market.yes, { size: 20, price: \"0.64\" });\n\n// Mint/burn equal Yes and No shares without hand-building userOutcome actions.\nconst balances = await sdk.outcomeBalances(market.outcome);\nconst minted = await sdk.outcomeSplit(market.outcome, \"1.0\");\nconst merged = await sdk.outcomeMerge(market.outcome); // max matching shares\n```\n\nHIP-4 sizes must be whole contracts. Priority fees are not supported for HIP-4, so omit `priorityFee` when trading `market.yes`, `market.no`, or raw `#` markets.\n\n### Order Management\n\n```typescript\n// Place, modify, cancel\nconst order = await sdk.buy(\"BTC\", { size: 0.001, price: 60000, tif: \"gtc\" });\nawait order.modify({ price: 61000 });\nawait order.cancel();\n\n// Cancel all\nawait sdk.cancelAll();\nawait sdk.cancelAll(\"BTC\");  // Just BTC orders\n\n// Dead-man's switch\nawait sdk.scheduleCancel(Date.now() + 60000);\n```\n\n### Position Management\n\n```typescript\nawait sdk.closePosition(\"BTC\");  // Close entire position\n```\n\n### Querying Open Orders by Trading Pair\n\n```typescript\n// Get all open orders\nconst result = await sdk.openOrders() as any;\nconsole.log(`Total open orders: ${result.orders.length}`);\n\n// Order fields: coin, limitPx (price), sz (size), side, oid, timestamp,\n//               orderType, tif, cloid, reduceOnly\nfor (const order of result.orders) {\n  console.log(`${order.coin} ${order.side} ${order.sz}@${order.limitPx}`);\n}\n\n// Filter by trading pair\nconst btcOrders = result.orders.filter(o => o.coin === 'BTC');\nfor (const order of btcOrders) {\n  console.log(`  ${order.side} ${order.sz} @ ${order.limitPx} | type=${order.orderType} tif=${order.tif} oid=${order.oid}`);\n}\n\n// For enhanced data (triggers, children), use frontendOpenOrders()\nconst enhanced = await sdk.info.frontendOpenOrders(sdk.address!);\n```\n\n### Partial Position Close by Percentage\n\n`closePosition()` closes the entire position. To close a percentage, read the current size and place a reduce-only market order for the desired amount:\n\n```typescript\nasync function closePercentage(sdk: HyperliquidSDK, coin: string, percent: number) {\n  const state = await sdk.info.clearinghouseState(sdk.address!) as any;\n  const position = state.assetPositions.find((p: any) => p.position.coin === coin);\n  if (!position) throw new Error(`No open position for ${coin}`);\n\n  // szi is signed: positive = long, negative = short\n  const szi = parseFloat(position.position.szi);\n  // Note: round closeSize to asset's size decimals in production\n  const closeSize = Math.abs(szi) * (percent / 100);\n\n  if (szi > 0) {\n    // Long position: sell to close\n    await sdk.sell(coin, { size: closeSize, tif: 'market', reduceOnly: true });\n  } else {\n    // Short position: buy to close\n    await sdk.buy(coin, { size: closeSize, tif: 'market', reduceOnly: true });\n  }\n}\n\n// Close 50% of BTC position\nawait closePercentage(sdk, \"BTC\", 50);\n```\n\n### Batch Cancel with Partial Failure Handling\n\nCancel all orders for an asset in one call:\n\n```typescript\n// Cancel all orders for a specific asset\nawait sdk.cancelAll(\"BTC\");\n\n// Cancel by client order ID (for CLOID-tracked orders)\nawait sdk.cancelByCloid(\"0xmycloid...\", \"BTC\");\n```\n\nOr cancel selectively with per-order error handling:\n\n```typescript\nimport { HyperliquidError } from '@quicknode/hyperliquid-sdk';\n\n// Get open orders\nconst result = await sdk.openOrders() as any;\nconst orders = result.orders;\n\n// Cancel specific orders with per-order error handling\nconst targetOrders = orders.filter(\n  o => o.coin === 'BTC' && parseFloat(o.limitPx) < 50000\n);\nconst failures: Array<{ oid: number; error: string }> = [];\n\nfor (const order of targetOrders) {\n  try {\n    await sdk.cancel(order.oid, order.coin);\n  } catch (e) {\n    if (e instanceof HyperliquidError) {\n      failures.push({ oid: order.oid, error: e.message });\n    }\n  }\n}\n\nif (failures.length > 0) {\n  console.log(`Failed to cancel ${failures.length} orders:`, failures);\n}\n```\n\n### Resilient Order Placement\n\nUse client order IDs (CLOIDs) for idempotent orders and categorize errors for retry logic:\n\n```typescript\nimport {\n  Order, PlacedOrder, HyperliquidError, RateLimitError, InvalidNonceError,\n  DuplicateOrderError, GeoBlockedError, InsufficientMarginError,\n  ValidationError, SignatureError, MaxOrdersError,\n} from '@quicknode/hyperliquid-sdk';\n\n// Set a CLOID for idempotency — the exchange rejects duplicates\nconst cloid = `0x${crypto.randomUUID().replace(/-/g, '')}`;\nconst order = await sdk.order(Order.buy(\"BTC\").size(0.001).price(65000).gtc().cloid(cloid));\n\n// Error categories:\n//   Transient (retry):   RateLimitError, InvalidNonceError\n//   Permanent (fail):    GeoBlockedError, InsufficientMarginError, ValidationError,\n//                        SignatureError, MaxOrdersError\n//   Already done:        DuplicateOrderError (order already placed)\n\nconst TRANSIENT_ERRORS = [RateLimitError, InvalidNonceError];\n\nasync function placeWithRetry(\n  sdk: HyperliquidSDK, orderBuilder: Order, maxRetries = 3\n): Promise<PlacedOrder | null> {\n  const cloid = `0x${crypto.randomUUID().replace(/-/g, '')}`;\n  orderBuilder = orderBuilder.cloid(cloid);\n\n  for (let attempt = 0; attempt < maxRetries; attempt++) {\n    try {\n      return await sdk.order(orderBuilder);\n    } catch (e) {\n      if (e instanceof DuplicateOrderError) {\n        return null; // Order already went through\n      }\n      if (TRANSIENT_ERRORS.some(cls => e instanceof cls)) {\n        if (attempt === maxRetries - 1) throw e;\n        const wait = (2 ** attempt) + Math.random();\n        await new Promise(r => setTimeout(r, wait * 1000));\n        continue;\n      }\n      throw e;\n    }\n  }\n  return null;\n}\n\nawait placeWithRetry(sdk, Order.buy(\"BTC\").size(0.001).price(65000).gtc());\n```\n\n#### Timeout Configuration\n\n```typescript\n// Configure timeout on SDK constructor\nconst sdkWithTimeout = new HyperliquidSDK(endpoint, { privateKey: \"0x...\", timeout: 30000 });\n```\n\n### Leverage & Margin\n\n```typescript\n// Update leverage\nawait sdk.updateLeverage(\"BTC\", { leverage: 10, isCross: true });   // 10x cross\nawait sdk.updateLeverage(\"ETH\", { leverage: 5, isCross: false });   // 5x isolated\n\n// Isolated margin management\nawait sdk.updateIsolatedMargin(\"BTC\", { amount: 100, isBuy: true });   // Add margin to long\nawait sdk.updateIsolatedMargin(\"ETH\", { amount: -50, isBuy: false });  // Remove from short\nawait sdk.topUpIsolatedOnlyMargin(\"BTC\", 100);                         // Special maintenance mode\n```\n\n### Trigger Orders (Stop Loss / Take Profit)\n\n```typescript\nimport { Side } from '@quicknode/hyperliquid-sdk';\n\n// Stop loss (market order when triggered)\nawait sdk.stopLoss(\"BTC\", { size: 0.001, triggerPrice: 60000 });\n\n// Stop loss (limit order when triggered)\nawait sdk.stopLoss(\"BTC\", { size: 0.001, triggerPrice: 60000, limitPrice: 59500 });\n\n// Take profit\nawait sdk.takeProfit(\"BTC\", { size: 0.001, triggerPrice: 70000 });\n\n// Buy-side (closing shorts)\nawait sdk.stopLoss(\"BTC\", { size: 0.001, triggerPrice: 70000, side: Side.BUY });\n```\n\n### TWAP Orders\n\n```typescript\n// Time-weighted average price order\nconst result = await sdk.twapOrder(\"BTC\", {\n  size: 0.01,\n  isBuy: true,\n  durationMinutes: 60,\n  randomize: true\n});\nconst twapId = result.response.data.running.id;\n\n// Cancel TWAP\nawait sdk.twapCancel(\"BTC\", twapId);\n```\n\n### Transfers\n\n```typescript\n// Internal transfers\nawait sdk.transferSpotToPerp(100);\nawait sdk.transferPerpToSpot(100);\n\n// External transfers\nawait sdk.transferUsd(\"0x...\", 100);\nawait sdk.transferSpot(\"0x...\", \"PURR\", 100);\nawait sdk.sendAsset(\"0x...\", \"USDC\", 100);\n\n// Withdraw to L1 (Arbitrum)\nawait sdk.withdraw(\"0x...\", 100);\n```\n\n### Vaults\n\n```typescript\nconst HLP_VAULT = \"0xdfc24b077bc1425ad1dea75bcb6f8158e10df303\";\nawait sdk.vaultDeposit(HLP_VAULT, 100);\nawait sdk.vaultWithdraw(HLP_VAULT, 50);\n```\n\n### Staking\n\n```typescript\n// Move spot HYPE into undelegated staking HYPE.\n// This is the balance Hyperliquid uses for order priority fees.\nawait sdk.fundPriorityFees(0.001);\nawait sdk.stake(0.001);\nawait sdk.unstake(0.001);  // 7-day queue\n\n// Delegate to validators\nawait sdk.delegate(\"0x...\", 0.5);\nawait sdk.undelegate(\"0x...\", 0.25);\n```\n\n### Fluent Order Builder\n\n```typescript\nimport { Order } from '@quicknode/hyperliquid-sdk';\n\nconst order = await sdk.order(\n  Order.buy(\"BTC\")\n    .size(0.001)\n    .price(65000)\n    .gtc()\n    .reduceOnly()\n);\n\nconst priorityOrder = await sdk.order(\n  Order.buy(\"HYPE\")\n    .size(0.3)\n    .market()\n    .priorityFee(10000)\n);\n```\n\n---\n\n## Error Handling\n\nAll errors inherit from `HyperliquidError` with a `code` and `message`.\n\n```typescript\nimport {\n  HyperliquidError,\n  ApprovalError,\n  InsufficientMarginError,\n  GeoBlockedError,\n} from '@quicknode/hyperliquid-sdk';\n\ntry {\n  const order = await sdk.buy(\"BTC\", { size: 0.001, price: 65000 });\n} catch (e) {\n  if (e instanceof ApprovalError) {\n    console.log(`Need approval: ${e.guidance}`);\n  } else if (e instanceof InsufficientMarginError) {\n    console.log(`Not enough margin: ${e.guidance}`);\n  } else if (e instanceof GeoBlockedError) {\n    console.log(`Geo-blocked: ${e.message}`);\n  } else if (e instanceof HyperliquidError) {\n    console.log(`Error [${e.code}]: ${e.message}`);\n  }\n}\n```\n\nAvailable error types:\n- `HyperliquidError` — Base error\n- `BuildError` — Order building failed\n- `SendError` — Transaction send failed\n- `ApprovalError` — Builder fee approval needed\n- `ValidationError` — Invalid parameters\n- `SignatureError` — Signature verification failed\n- `NoPositionError` — No position to close\n- `OrderNotFoundError` — Order not found\n- `GeoBlockedError` — Region blocked\n- `InsufficientMarginError` — Not enough margin\n- `LeverageError` — Invalid leverage\n- `RateLimitError` — Rate limited\n- `MaxOrdersError` — Too many orders\n- `ReduceOnlyError` — Reduce-only constraint\n- `DuplicateOrderError` — Duplicate order\n- `UserNotFoundError` — User not found\n- `MustDepositError` — Deposit required\n- `InvalidNonceError` — Invalid nonce\n\n---\n\n## API Reference\n\n### HyperliquidSDK\n\n```typescript\nnew HyperliquidSDK(\n  endpoint?: string,           // Endpoint URL\n  options?: {\n    privateKey?: string,       // Falls back to PRIVATE_KEY env var\n    autoApprove?: boolean,     // Auto-approve builder fee (default: true)\n    maxFee?: string,           // Max fee for auto-approval (default: \"1%\")\n    slippage?: number,         // Default slippage for market orders (default: 0.03)\n    timeout?: number,          // Request timeout in ms (default: 30000)\n    testnet?: boolean,         // Use testnet (default: false)\n  }\n)\n\n// Access sub-clients\nsdk.info      // Info API (market data, user data, metadata)\nsdk.core      // HyperCore (blocks, trades, orders)\nsdk.evm       // EVM (Ethereum JSON-RPC)\nsdk.stream    // WebSocket streaming\nsdk.grpc      // gRPC streaming\n```\n\n---\n\n## Examples\n\nSee the [hyperliquid-examples](https://github.com/quiknode-labs/hyperliquid-examples) repository for 44 complete, runnable examples covering trading, streaming, market data, and more.\n\n---\n\n## Disclaimer\n\nThis is an **unofficial community SDK**. It is **not affiliated with Hyperliquid Foundation or Hyperliquid Labs**.\n\nUse at your own risk. Always review transactions before signing.\n\n## License\n\nMIT License - see [LICENSE](LICENSE) for details.\n","readmeFilename":"README.md"}