Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
bitmex-simple-rest
Advanced tools
npm install bitmex-simple-rest
API wrapper for the Bitmex REST API. Please refer to their documentation for all calls explained. Check out sample.js
for some example calls.
This is a low level wrapper with zero dependencies focussed on:
Used by my low latency market maker that's running in production. I don't think you can go much faster in nodejs without rewriting Node.js' core http library (if you think you can, feel free to open an issue or propose a PR).
// your api key & secret
const key = 'x';
const secret = 'y';
const BitmexRest = require('bitmex-simple-rest');
const bm = new BitmexRest({
key,
secret,
// these are optional
timeout: 90 * 1000, // ms - when this lib should timeout the call
expiration: 60 * 1000, // ms - after how many ms bitmex should refuse this call
userAgent: 'bearwhale' // string - custom ua
});
const { data, headers } = await bm.request({
path: '/user/margin',
method: 'GET',
data: { currency: 'XBt' }
});
Sending an API request to Bitmex requires hashing the payload with your API key. In nodejs, this process can easily take 0.15 millisecond (on the non compute optimized AWS boxes I tested this on - because yes, you should run on AWS-EU-1 if you want to trade fast on Bitmex). You can test the speed of creating API requests yourself on your system by running benchmark.js
, preferably with real keys and and a request similar to what your system might send.
This library allows you to prepare an API request draft before hand (doing all the heavy work). The microsecond you realize you actually want to send it you simply send the draft you created previously:
// create the draft before hand
const draft = bm.createDraft({
path: '/user/margin',
method: 'GET',
data: { currency: 'XBt' }
});
// later when you actually want to send
const { data, headers } = await bm.requestDraft(draft);
Note that this only works in scenarios where you can estimate what will happen or which scenarios might happen: You can create drafts for all of them and only end up sending one later.
end
event of the packetstream (see requestDraft comment).JSON.parse
.If this library is helping you trade better on Bitmex feel free to use my ref link. You'll get a 10% fee discount for the first 6 months, lowering your market fees (on the perpetual swap) from 0.075% to a mere 0.0675%!
FAQs
simple rest API wrapper for bitmex
The npm package bitmex-simple-rest receives a total of 6 weekly downloads. As such, bitmex-simple-rest popularity was classified as not popular.
We found that bitmex-simple-rest demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.