maxt 0.2.1

One Rust API for Upbit, Bithumb, Binance, and Hyperliquid market data, accounts, and orders.
Documentation
# 거래소 지원

[English]providers.md | [한국어]providers.ko.md

모든 내장 어댑터는 인증 정보 없이 공개 시장 데이터를 제공합니다. 공통 작업은
`Client`, 거래소 전용 작업은 `Client::adapter()`를 통해 호출합니다.

## 지원 상태

- [x] Upbit Spot: 한국, 싱가포르, 인도네시아, 태국
- [x] Bithumb Spot
- [x] Binance Spot
- [x] Binance USD-M 무기한 선물
- [x] Hyperliquid Spot과 무기한 선물

Binance testnet 생성자는 제공하지 않습니다.

## 생성자

- Upbit 한국: `UpbitAdapter::new()`
- Upbit 지역: `UpbitAdapter::with_region(region)`
- Bithumb: `BithumbAdapter::new()`
- Binance Spot: `BinanceAdapter::spot()`
- Binance USD-M: `BinanceAdapter::usd_m_futures()`
- Hyperliquid mainnet: `HyperliquidAdapter::new()`
- Hyperliquid testnet: `HyperliquidAdapter::testnet()`

`Client::new(adapter)` 전에 인증 정보를 추가합니다.

- Upbit, Bithumb: `.with_credentials(access_key, secret_key)`
- Binance: `.with_credentials(api_key, secret_key)`
- Hyperliquid: `.with_wallet(address, private_key)`

`supports(feature) == false`는 인증 정보가 없거나 작업이 구조적으로 미지원이라는
뜻입니다. 호출은 각각 `Error::Auth`, `Error::Unsupported`를 반환합니다.

## 경계

- Upbit 지역은 host, 상장, 호가, 인증 정보가 분리됩니다.
- Bithumb은 `Feature::CandleStream`을 지원하지 않으며 `open_orders()`는 거래소 한 페이지를 읽습니다.
- Binance Spot과 USD-M은 어댑터와 상태가 분리됩니다.
- Binance USD-M `Subscription` 하나가 여러 WebSocket을 병합할 수 있습니다.
- Hyperliquid `positions_on(spot)``Ok(vec![])`를 반환합니다.

## 레퍼런스

- [Upbit]providers/upbit.ko.md ([English]providers/upbit.md)
- [Bithumb]providers/bithumb.ko.md ([English]providers/bithumb.md)
- [Binance]providers/binance.ko.md ([English]providers/binance.md)
- [Hyperliquid]providers/hyperliquid.ko.md ([English]providers/hyperliquid.md)