# bourse v0.7.0 - Table of Contents > Elixir client for eleven provider-authored cryptocurrency exchange integrations. ## Pages - [bourse](readme.md) - [Changelog](changelog.md) - [Contributing](contributing.md) ## Modules - [Bourse.ADLRank](Bourse.ADLRank.md): Unified auto-deleveraging (ADL) rank data. - [Bourse.Account](Bourse.Account.md): Unified exchange account data. - [Bourse.Alpaca](Bourse.Alpaca.md): Alpaca exchange client (`alpaca`). - [Bourse.Application](Bourse.Application.md): OTP Application for Bourse. - [Bourse.Balance](Bourse.Balance.md): Unified account balance across currencies. - [Bourse.Binance](Bourse.Binance.md): Binance exchange client (`binance`). - [Bourse.Binancecoinm](Bourse.Binancecoinm.md): Binance COIN-M exchange client (`binancecoinm`). - [Bourse.Binanceusdm](Bourse.Binanceusdm.md): Binance USDⓈ-M exchange client (`binanceusdm`). - [Bourse.BorrowInterest](Bourse.BorrowInterest.md): Unified borrow interest data. - [Bourse.BorrowRate](Bourse.BorrowRate.md): Unified borrow rate data. - [Bourse.Bybit](Bourse.Bybit.md): Bybit exchange client (`bybit`). - [Bourse.CircuitBreaker](Bourse.CircuitBreaker.md): Per-exchange circuit breakers using the `:fuse` Erlang library. - [Bourse.CoinbaseCandlePagination](Bourse.CoinbaseCandlePagination.md): Coinbase Exchange candle-window mechanics. - [Bourse.Coinbaseexchange](Bourse.Coinbaseexchange.md): Coinbase Exchange exchange client (`coinbaseexchange`). - [Bourse.Conversion](Bourse.Conversion.md): Unified currency conversion data. - [Bourse.Currency](Bourse.Currency.md): Unified currency data. - [Bourse.Defaults](Bourse.Defaults.md): Centralized default configuration values for bourse. - [Bourse.DepositAddress](Bourse.DepositAddress.md): Unified deposit address data. - [Bourse.DepositWithdrawFee](Bourse.DepositWithdrawFee.md): Unified deposit/withdraw fee data. - [Bourse.Deribit](Bourse.Deribit.md): Deribit exchange client (`deribit`). - [Bourse.Derive](Bourse.Derive.md): derive exchange client (`derive`). - [Bourse.Emulation](Bourse.Emulation.md): Runtime emulation dispatch for Bourse unified methods. - [Bourse.Extract.EmulatedMethods](Bourse.Extract.EmulatedMethods.md): Reads explicit emulated-method declarations from the owned runtime specs. - [Bourse.Extract.JsonLoader](Bourse.Extract.JsonLoader.md): Generates JSON loading boilerplate with `:persistent_term` caching. - [Bourse.Fee](Bourse.Fee.md): Fee information attached to trades and orders. - [Bourse.FundingHistory](Bourse.FundingHistory.md): Unified funding payment history data. - [Bourse.FundingRate](Bourse.FundingRate.md): Unified funding rate data. - [Bourse.FundingRateHistory](Bourse.FundingRateHistory.md): Unified funding rate history entry. - [Bourse.Greeks](Bourse.Greeks.md): Unified options greeks data. - [Bourse.HTTP.Errors](Bourse.HTTP.Errors.md): Classifies HTTP and body-level exchange responses into `Bourse.Error` structs. - [Bourse.Hyperliquid](Bourse.Hyperliquid.md): Hyperliquid exchange client (`hyperliquid`). - [Bourse.InstrumentGreeks](Bourse.InstrumentGreeks.md): Per-instrument Greeks joined to option identity with explicit conventions. - [Bourse.JsonDocument](Bourse.JsonDocument.md): Strict JSON document decoding shared by compile-time loaders. - [Bourse.LastPrice](Bourse.LastPrice.md): Unified last price data. - [Bourse.LedgerEntry](Bourse.LedgerEntry.md): Unified ledger entry data. - [Bourse.Leverage](Bourse.Leverage.md): Unified leverage settings data. - [Bourse.LeverageTier](Bourse.LeverageTier.md): Unified leverage tier data. - [Bourse.Lighter](Bourse.Lighter.md): Lighter exchange client (`lighter`). - [Bourse.Liquidation](Bourse.Liquidation.md): Unified liquidation event data. - [Bourse.LongShortRatio](Bourse.LongShortRatio.md): Unified long/short ratio data. - [Bourse.MarginLoan](Bourse.MarginLoan.md): Unified margin loan data. - [Bourse.MarginMode](Bourse.MarginMode.md): Unified margin mode data. - [Bourse.MarginModification](Bourse.MarginModification.md): Unified margin modification data. - [Bourse.Market](Bourse.Market.md): Unified market/instrument metadata. - [Bourse.OHLCV](Bourse.OHLCV.md): Candlestick (OHLCV) bar data. - [Bourse.Okx](Bourse.Okx.md): OKX exchange client (`okx`). - [Bourse.OpenInterest](Bourse.OpenInterest.md): Unified open interest data. - [Bourse.OptionData](Bourse.OptionData.md): Unified options contract data. - [Bourse.OptionInstrument](Bourse.OptionInstrument.md): Discovered option market identity plus available quote fields. - [Bourse.Order](Bourse.Order.md): Unified order data. - [Bourse.Order.Builder](Bourse.Order.Builder.md): Fluent builder for unified order creation. - [Bourse.Order.Sanity](Bourse.Order.Sanity.md): Pre-submit order validation against market metadata. - [Bourse.OrderBook](Bourse.OrderBook.md): Unified order book (market depth) data. - [Bourse.OrderList](Bourse.OrderList.md): Unified order-group data. - [Bourse.Position](Bourse.Position.md): Unified derivatives position data. - [Bourse.Precise](Bourse.Precise.md): Money-exact decimal string arithmetic for response normalization. - [Bourse.RateLimiter](Bourse.RateLimiter.md): Per-credential weighted rate limiter for exchange API requests. - [Bourse.RateLimiter.Headers](Bourse.RateLimiter.Headers.md): Parses rate limit status headers from exchange API responses. - [Bourse.RateLimiter.Info](Bourse.RateLimiter.Info.md): Rate limit status information parsed from exchange response headers. - [Bourse.RateLimiter.Shaping](Bourse.RateLimiter.Shaping.md): Shapes endpoint rate-limit descriptors into `Bourse.RateLimiter` checks and updates rate-limit state from response headers. - [Bourse.RateLimiter.State](Bourse.RateLimiter.State.md): ETS-backed store for rate limit status across exchanges. - [Bourse.ResponseParser](Bourse.ResponseParser.md): Applies v4 normalization field maps to exchange responses. - [Bourse.ResponseTransformer](Bourse.ResponseTransformer.md): Response shape normalization applied *before* field-mapping extraction. - [Bourse.Safe](Bourse.Safe.md): Safe accessors and coercions used by response normalization. - [Bourse.Signing](Bourse.Signing.md): Signing pattern library for exchange authentication. - [Bourse.Signing.ApiKeySecretHeaders](Bourse.Signing.ApiKeySecretHeaders.md): API key and secret header authentication without an HMAC signature. - [Bourse.Signing.Behaviour](Bourse.Signing.Behaviour.md): Behaviour for signing pattern implementations. - [Bourse.Signing.Crypto](Bourse.Signing.Crypto.md): Shared low-level crypto primitives for the custom DEX signing modules (`Bourse.Signing.Hyperliquid`, `Bourse.Signing.Derive`). - [Bourse.Signing.Deribit](Bourse.Signing.Deribit.md): Deribit-style HMAC-SHA256 signing with custom Authorization header. - [Bourse.Signing.Derive](Bourse.Signing.Derive.md): First-party signing for Derive (Lyra v2, on Optimism). - [Bourse.Signing.EIP712](Bourse.Signing.EIP712.md): Minimal EIP-712 typed-data encoder for the custom DEX signing modules (`Bourse.Signing.Hyperliquid`). - [Bourse.Signing.HmacRecipe](Bourse.Signing.HmacRecipe.md): Generic HMAC signer driven by v4 `auth.sign_recipe` data. - [Bourse.Signing.HmacSha256Headers](Bourse.Signing.HmacSha256Headers.md): HMAC-SHA256 headers signing pattern (Bybit-style). - [Bourse.Signing.HmacSha256Iso](Bourse.Signing.HmacSha256Iso.md): HMAC-SHA256 with ISO timestamp and passphrase (OKX-style). - [Bourse.Signing.HmacSha256Query](Bourse.Signing.HmacSha256Query.md): HMAC-SHA256 query string signing pattern (Binance-style). - [Bourse.Signing.Hyperliquid](Bourse.Signing.Hyperliquid.md): First-party signing for Hyperliquid. - [Bourse.Signing.Lighter](Bourse.Signing.Lighter.md): Lighter zk-Schnorr signing through an isolated official Go helper. - [Bourse.Signing.Lighter.Protocol](Bourse.Signing.Lighter.Protocol.md): Versioned framed protocol for the isolated Lighter signing helper. - [Bourse.Signing.Lighter.Supervisor](Bourse.Signing.Lighter.Supervisor.md): Supervises isolated, temporary Lighter signer owners. - [Bourse.Signing.Request](Bourse.Signing.Request.md): The unsigned request handed to a signing pattern. - [Bourse.Signing.SignedRequest](Bourse.Signing.SignedRequest.md): The signed, transport-ready request a signing pattern returns. - [Bourse.Spec.Schema](Bourse.Spec.Schema.md): Validation contract for complete, hand-owned runtime specifications. - [Bourse.Symbol.ParsedSymbol](Bourse.Symbol.ParsedSymbol.md): Typed components of a unified extended symbol from `Bourse.Symbol.parse_extended/1`. - [Bourse.Telemetry](Bourse.Telemetry.md): Centralized telemetry contract for Bourse. - [Bourse.Testnet](Bourse.Testnet.md): ETS-backed credential registry for integration testing. - [Bourse.Ticker](Bourse.Ticker.md): Unified market ticker data. - [Bourse.Timestamp](Bourse.Timestamp.md): Timestamp formatting helpers shared across request signing and response parsing. - [Bourse.Trade](Bourse.Trade.md): Unified trade execution data. - [Bourse.TradingFee](Bourse.TradingFee.md): Unified trading fee schedule data. - [Bourse.Transaction](Bourse.Transaction.md): Unified deposit/withdrawal transaction data. - [Bourse.TransferEntry](Bourse.TransferEntry.md): Unified internal transfer data. - [Bourse.Unified.ContractUnit](Bourse.Unified.ContractUnit.md): Applies an authored venue-level contract unit to parsed linear markets. - [Bourse.Unified.DeribitPositionUnits](Bourse.Unified.DeribitPositionUnits.md): Finalizes the machine-readable unit contract on unified positions. - [Bourse.Unified.Descriptor](Bourse.Unified.Descriptor.md): Authored unified-method descriptors for Descripex `api()` hints. - [Bourse.Unified.FieldMaps](Bourse.Unified.FieldMaps.md): Derives unified struct field sets from authored `normalization.field_maps`. - [Bourse.Unified.GreeksConventions](Bourse.Unified.GreeksConventions.md): Reads authored per-venue option-Greek unit conventions. - [Bourse.Unified.OptionQuantity](Bourse.Unified.OptionQuantity.md): Converts option quantities between unified base exposure and venue wire units. - [Bourse.Unified.OptionSurface](Bourse.Unified.OptionSurface.md): Coherent option discovery and instrument-Greeks surface for option venues. - [Bourse.VolatilityHistory](Bourse.VolatilityHistory.md): Unified historical volatility (DVOL) entry. - [Bourse.WS](Bourse.WS.md): WebSocket entry point. Thin wrapper around `ZenWebsocket.Client` that binds a `%Bourse.Exchange{}` to a connection so `subscribe/3` can pick the correct exchange-native frame builder. - [Bourse.WS.Adapter](Bourse.WS.Adapter.md): Layer-3 WebSocket adapter GenServer. - [Bourse.WS.Auth](Bourse.WS.Auth.md): WebSocket authentication pattern dispatcher. - [Bourse.WS.Auth.ActionKeySecret](Bourse.WS.Auth.ActionKeySecret.md): Plain key/secret authentication for Alpaca's market-data stream. - [Bourse.WS.Auth.Behaviour](Bourse.WS.Auth.Behaviour.md): Behaviour for WebSocket authentication pattern implementations. - [Bourse.WS.Auth.DirectHmacExpiry](Bourse.WS.Auth.DirectHmacExpiry.md): Direct HMAC Expiry auth pattern — bybit, bitmex, and htx/huobi families. - [Bourse.WS.Auth.Expiry](Bourse.WS.Auth.Expiry.md): Pure helpers for computing auth session expiry timing. - [Bourse.WS.Auth.InlineSubscribe](Bourse.WS.Auth.InlineSubscribe.md): Inline Subscribe auth pattern — coinbaseexchange. - [Bourse.WS.Auth.IsoPassphrase](Bourse.WS.Auth.IsoPassphrase.md): ISO Passphrase auth pattern — okx family, kucoin family, bitget. - [Bourse.WS.Auth.JsonrpcLinebreak](Bourse.WS.Auth.JsonrpcLinebreak.md): JSON-RPC Linebreak auth pattern — deribit. - [Bourse.WS.Auth.ListenKey](Bourse.WS.Auth.ListenKey.md): Listen key auth pattern — binance USD-M and COIN-M futures. - [Bourse.WS.Auth.RestToken](Bourse.WS.Auth.RestToken.md): REST Token auth pattern — kraken. - [Bourse.WS.Auth.Sha384Nonce](Bourse.WS.Auth.Sha384Nonce.md): SHA384 Nonce auth pattern — bitfinex. - [Bourse.WS.Auth.Sha512Newline](Bourse.WS.Auth.Sha512Newline.md): SHA512 Newline auth pattern — gate, gateio. - [Bourse.WS.Auth.WsApiSignature](Bourse.WS.Auth.WsApiSignature.md): Signed WebSocket-API request that opens binance's spot user data stream. - [Bourse.WS.AuthAck](Bourse.WS.AuthAck.md): Recognises which inbound frame is a venue's answer to an auth attempt. - [Bourse.WS.Broadcast](Bourse.WS.Broadcast.md): Registry-backed fan-out for routed WS adapter messages. - [Bourse.WS.Channels](Bourse.WS.Channels.md): Spec-driven WebSocket channel formatting from `websocket.subscribe.channels`. - [Bourse.WS.Config](Bourse.WS.Config.md): Per-exchange WebSocket configuration. - [Bourse.WS.ConnectionOwner](Bourse.WS.ConnectionOwner.md): Holds the routed-host WebSocket clients for one `Bourse.WS` connection. - [Bourse.WS.ConnectionOwner.Supervisor](Bourse.WS.ConnectionOwner.Supervisor.md): Temporary DynamicSupervisor for `Bourse.WS.ConnectionOwner` processes. - [Bourse.WS.Dispatch](Bourse.WS.Dispatch.md): Spec-driven channel → handler resolution from `websocket.dispatch.entries`. - [Bourse.WS.Envelope](Bourse.WS.Envelope.md): Builds WS message envelope config for routing inbound frames. - [Bourse.WS.Handle](Bourse.WS.Handle.md): Subscription handle returned by unified `watch_*` functions. - [Bourse.WS.HandlerMappings](Bourse.WS.HandlerMappings.md): Maps the `handle*` method names carried by the authored WebSocket slices to unified `watch_*` family atoms. - [Bourse.WS.Helpers](Bourse.WS.Helpers.md): Pure helpers for WS URL resolution. - [Bourse.WS.ListenKey](Bourse.WS.ListenKey.md): Performs the REST round-trip the `:listen_key` auth pattern needs. - [Bourse.WS.MessageRouter](Bourse.WS.MessageRouter.md): Routes decoded WS frames to payload families using envelope extraction. - [Bourse.WS.Semantics.Ohlcv](Bourse.WS.Semantics.Ohlcv.md): OHLCV cache driven by `websocket.ohlcv_semantics`. - [Bourse.WS.Semantics.Orderbook](Bourse.WS.Semantics.Orderbook.md): Orderbook snapshot/delta state driven by `websocket.orderbook_semantics`. - [Bourse.WS.Semantics.Trades](Bourse.WS.Semantics.Trades.md): Trades cache driven by `websocket.trades_semantics`. - [Bourse.WS.SpecConfig](Bourse.WS.SpecConfig.md): Merges v4.1.0 `websocket.*` spec slices with hand-maintained WS overrides. - [Bourse.WS.SubscribeAck](Bourse.WS.SubscribeAck.md): Classifies WebSocket subscribe acknowledgements and rejections. - [Bourse.WS.Subscription](Bourse.WS.Subscription.md): WebSocket subscription pattern dispatcher. - [Bourse.WS.Subscription.ActionChannels](Bourse.WS.Subscription.ActionChannels.md): Alpaca-style action frame whose channel names are top-level keys. - [Bourse.WS.Subscription.Behaviour](Bourse.WS.Subscription.Behaviour.md): Behaviour for WebSocket subscription pattern implementations. - [Bourse.WS.Subscription.Custom](Bourse.WS.Subscription.Custom.md): Escape hatch for exchanges whose subscribe frames don't fit any named pattern. The module dispatches on `config[:custom_type]` - [Bourse.WS.Subscription.EventSubscribe](Bourse.WS.Subscription.EventSubscribe.md): Gate/Bitfinex/Bitget-style subscribe frame keyed on an `"event"` field. - [Bourse.WS.Subscription.JsonRpc](Bourse.WS.Subscription.JsonRpc.md): Deribit-style JSON-RPC 2.0 subscribe frame. - [Bourse.WS.Subscription.MethodParams](Bourse.WS.Subscription.MethodParams.md): Kraken v2 / Crypto.com / Derive-style subscribe frame. - [Bourse.WS.Subscription.MethodSubscribe](Bourse.WS.Subscription.MethodSubscribe.md): Binance/XT/Aster-style subscribe frame. - [Bourse.WS.Subscription.MethodSubscription](Bourse.WS.Subscription.MethodSubscription.md): Hyperliquid-style subscribe frame. - [Bourse.WS.Subscription.OpSubscribe](Bourse.WS.Subscription.OpSubscribe.md): Bybit/Bitmex-style subscribe frame. - [Bourse.WS.Subscription.OpSubscribeObjects](Bourse.WS.Subscription.OpSubscribeObjects.md): OKX-style subscribe frame with object-valued args. - [Bourse.WS.Subscription.SubBased](Bourse.WS.Subscription.SubBased.md): HTX/Huobi-style subscribe frame. - [Bourse.WS.Subscription.TypeSubscribe](Bourse.WS.Subscription.TypeSubscribe.md): KuCoin/Coinbase-style subscribe frame keyed on a `"type"` field. - [Bourse.WS.URLRouting](Bourse.WS.URLRouting.md): Pure URL resolution for WebSocket endpoints. - Core API - [Bourse](Bourse.md): Unified cryptocurrency exchange client library. - [Bourse.Credentials](Bourse.Credentials.md): API credentials for exchange authentication. - [Bourse.Dispatch](Bourse.Dispatch.md): Shared request dispatcher for generated exchange endpoint functions. - [Bourse.Error](Bourse.Error.md): Unified error types for exchange operations. - [Bourse.Exchange](Bourse.Exchange.md): Exchange configuration struct and constructor. - [Bourse.Exchanges](Bourse.Exchanges.md): Compile-time generator for every supported exchange module. - [Bourse.HTTP](Bourse.HTTP.md): HTTP client for exchange API requests. - [Bourse.MCP](Bourse.MCP.md): MCP tool definitions for the Bourse API. - [Bourse.Multi](Bourse.Multi.md): Parallel fetch operations across multiple exchanges. - [Bourse.Parser](Bourse.Parser.md): Public response parser facade. - [Bourse.RawResponse](Bourse.RawResponse.md): Labelled provider payload returned when a unified mapping is incomplete. - [Bourse.Registry](Bourse.Registry.md): Compile-time exchange lookup registry. - [Bourse.Spec](Bourse.Spec.md): Compile-time JSON spec loader for exchange specifications. - [Bourse.Symbol](Bourse.Symbol.md): Bidirectional symbol normalization between unified and exchange-specific formats. - [Bourse.UnifiedMethod](Bourse.UnifiedMethod.md): Compile-time mapping of unified method names to endpoint configs. - Exceptions - [Bourse.Symbol.Error](Bourse.Symbol.Error.md): Error raised when symbol conversion fails. ## Mix Tasks - [mix ccxt.build_lighter_signer](Mix.Tasks.Ccxt.BuildLighterSigner.md): Builds the official Lighter Go C-shared library and its generated header, then links the isolated Port helper for the current release target.