import crypto from "crypto";
import { axios } from "@pipedream/platform";
export default defineComponent({
props: {
bitmex: {
type: "app",
app: "bitmex",
}
},
async run({ steps, $ }) {
// Set verb, path, and data as needed
const verb = "GET";
const path = "/api/v1/user";
const expires = Math.floor(Date.now() / 1000) + 60; // UNIX timestamp in seconds
const data = ""; // No body for GET
// Function to generate signature
function generateSignature(apiSecret, verb, path, expires, data) {
const message = verb + path + expires + data;
return crypto
.createHmac("sha256", apiSecret)
.update(message)
.digest("hex");
}
// Build headers
const signature = generateSignature(
this.bitmex.$auth.api_secret,
verb,
path,
expires,
data
);
const headers = {
"api-key": this.bitmex.$auth.api_key,
"api-expires": expires,
"api-signature": signature,
};
// Perform request
return await axios($, {
method: verb,
url: `${this.bitmex.$auth.api_url}${path}`,
headers,
});
},
})Emit new event when a balance‑affecting execution (trade fill, settlement, realized PnL) occurs in your BitMEX account. See the documentation
Emit new event when a new order is placed on your BitMEX account. See the documentation
Submit a new trading order in your BitMEX account. See the documentation
Retrieve your current wallet information from BitMEX. See the documentation
Retrieve a list of executed trades from your BitMEX account. See the documentation
BitMEX uses API keys for authentication. When you connect your BitMEX account, Pipedream securely stores the keys so you can easily authenticate to BitMEX APIs in both code and no-code steps.