# dmex-api-js

> DMEX API Wrapper

Latest version **2.0.0** (published 2023-02-16) · MIT license · 0 weekly downloads

## Install

```sh
npm install dmex-api-js
pnpm add dmex-api-js
yarn add dmex-api-js
bun add dmex-api-js
```

## Health

**Score 25/100 (F)** — status: abandoned.

Positive: has types; no vulnerabilities; high quality score.

Warnings: low downloads; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 2.0.0 |
| Published | 2023-02-16 |
| First published | 2022-01-31 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | CommonJS |
| Dependencies | 8 |
| Unpacked size | 1.4 MB |
| Known vulnerabilities | 0 (+23 in 1 direct dependencies) |
| Install scripts | no |
| GitHub stars | 0 |
| Author | DMEX.app |
| Maintainers | osoianmarcel |
| Keywords | DMEX, API, Client, Wrapper, Ethereum, DEX |

## Links

- npm: https://www.npmjs.com/package/dmex-api-js
- Repository: https://github.com/dmex-app/node-api-js
- Homepage: https://dmex.app/
- Issues: https://github.com/dmex-app/node-api-js/issues
- npm.io page: https://npm.io/package/dmex-api-js

## Dependencies (8)

- [axios](https://npm.io/package/axios.md) ^0.25.0
- [tslib](https://npm.io/package/tslib.md) ^2.3.1
- [bignumber.js](https://npm.io/package/bignumber.js.md) ^9.0.2
- [socket.io-client](https://npm.io/package/socket.io-client.md) ^2.4.0
- [socket.io-request](https://npm.io/package/socket.io-request.md) ^0.8.0
- [@ethersproject/bytes](https://npm.io/package/@ethersproject/bytes.md) ^5.5.0
- [@ethersproject/wallet](https://npm.io/package/@ethersproject/wallet.md) ^5.5.0
- [@ethersproject/solidity](https://npm.io/package/@ethersproject/solidity.md) ^5.5.0

## Alternatives

- [launchdarkly-js-client-sdk](https://npm.io/package/launchdarkly-js-client-sdk.md) — 2.5M weekly downloads
- [@elastic/elasticsearch](https://npm.io/package/@elastic/elasticsearch.md) — 2.1M weekly downloads
- [@c8y/client](https://npm.io/package/@c8y/client.md) — 15.3K weekly downloads
- [@signaldb/maverickjs](https://npm.io/package/@signaldb/maverickjs.md) — 1.7K weekly downloads
- [@bbc/http-transport-cache](https://npm.io/package/@bbc/http-transport-cache.md) — 1.2K weekly downloads

## Recent versions

- 2.0.0 (latest) — 2023-02-16
- 1.1.0 — 2022-02-23
- 1.0.0 — 2022-02-14
- 0.0.6 — 2022-02-14
- 0.0.5 — 2022-02-08
- 0.0.4 — 2022-02-07
- 0.0.3 — 2022-01-31
- 0.0.2 — 2022-01-31
- 0.0.1 — 2022-01-31

## README

# node-api-js

[![npm version](https://img.shields.io/npm/v/react.svg?style=flat)](https://www.npmjs.com/package/dmex-api-js)
[![license](https://img.shields.io/github/license/mashape/apistatus.svg)](https://github.com/dmex-app/node-api-js/blob/main/LICENSE)

Node JS wrapper for DMEX API

## Installing
```
yarn add dmex-api-js
```

## Documentation
- [DmexClient](docs/classes/DmexClient.md)
  - HTTP endpoints
    - [Create order](docs/classes/DmexClient.md#createorder)
    - [Cancel order](docs/classes/DmexClient.md#cancelorder)
    - [Get ticker](docs/classes/DmexClient.md#getticker)
    - [Get orderbook](docs/classes/DmexClient.md#getorderbook)
    - [Get open positions](docs/classes/DmexClient.md#getopenpositions)
  - Websocket events
    - [onTrade](docs/classes/DmexClient.md#ontrade)
    - [onOrderbookUpdate](docs/classes/DmexClient.md#onorderbookupdate)

## Basic example
```javascript
const {DmexClient} = require('dmex-api-js');

const dmexClient = new DmexClient({
	apiParams: {
		// Demo API (by default prod. API is used)
		baseURL: 'https://api.demo.dmex.app'
	},
	walletPrivateKey: 'YOUR_PRIVATE_KEY',
	contractAddress: 'DMEX_TRADING_SMART_CONTARCT_ADDRESS'
});

// Create a new order
dmexClient.createOrder({
	asset_symbol: 'ETH',
	leverage: 3, // x3
	amount: '100000000', // 100000000 / 1e8 = 1
	price: '300000000000', // 300000000000 / 1e8 = 3000
	side: true // true = long, false = short
	// margin_currency: 'ETH', // optional, default ETH
	// expires_seconds: -1, // optional (-1 means perpetual)
}).then(orderHash => {
	console.info('created order hash:', orderHash);
});

// Cancel an active order
dmexClient.cancelOrder('0x1cf490b0af8810bd0f377a4b47f050816213b3058eb500e232f7b7fa2cc61c81')
	.then(() => console.info('order canceled'));
```

---
_Source: https://npm.io/package/dmex-api-js · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
