Repository navigation
1.12.0: Lighter on Robinhood Chain, Lighter liquidations, account positions - #12
Merged
Merged
Conversation
…itions - client.rh_lighter: the Robinhood Chain deployment of Lighter under /v1/rh-lighter, with the same resources as client.lighter minus the L3 order book and the L1 account resolver. - Lighter liquidations (history and volume) on both Lighter deployments. - Account positions on client.hyperliquid, client.hyperliquid.hip3, client.lighter and client.rh_lighter: current and as-of positions, hourly history, change log, account summaries (Hyperliquid and HIP-3), market listings, market summaries and bulk listings, with typed models, cursor-following iterators and async versions. client.lighter.accounts resolves an L1 address to account indices. - ResponseMeta on CursorResponse.meta (positions, trades.list and Lighter liquidations). - Live and replay WebSocket support for the rh_lighter_* channels (rh_lighter_candles is replay-only). - Version 1.12.0.
…ary docs - Robinhood Chain liquidations are served from 2026-08-22 18:43 UTC, not the venue launch; trades still start 2026-06-26 20:10:26 UTC. Docstrings, README (table, section, example) and CHANGELOG now say so, and the README example uses a window the API serves. - positions.get() on Lighter and Robinhood Chain carries an account summary of position aggregates on the first page of a snapshot without a symbol filter. WalletPositions.account and AccountSummary now describe it, and the test mocks return it as the API does. - ResponseMeta.preliminary_row_count no longer points at trades.recent(), which returns a plain list without the meta. - .gitignore: the tests header now says which test files are published.
Liquidations on Lighter on Robinhood Chain now share the trades floor, 2026-06-26 20:10:26 UTC. Rows from before live capture were backfilled from the venue's finalized export and have source "bucket" and an empty raw_json; rows captured live have source "ws" and the venue's raw JSON. Order book, open interest and funding still start 2026-08-22 18:43 UTC. - README coverage table, Robinhood Chain section and liquidation example, CHANGELOG, and the client, exchange and resource docstrings say so. - LighterLiquidation.source and raw_json document both values. - Tests: the history request starts at the floor, the fixture pairs a backfilled row with a live one, and a copy guard keeps the old floor out of the public text.
- Position.liquidation_price_status names all four values the API serves: exact, not_published_cross, changed_since_snapshot and unavailable. - PositionLeverage.type and MarketPosition.leverage_type include unknown, which Hyperliquid snapshot rows can carry as well as reconstructed ones. - WalletPositions.account on Hyperliquid core is set when the wallet has an account in the snapshot, not on every first page. - CHANGELOG: 1.12.0 is dated 2026-09-28 and includes the order flow cursor and 1-minute interval changes.
0xFantomMenace
added a commit
that referenced
this pull request
Sep 29, 2026
…itions (#12) - client.rh_lighter: Lighter on Robinhood Chain under /v1/rh-lighter, with the same resources as client.lighter except the L3 order book and the L1 account resolver, and live and replay rh_lighter_* WebSocket channels (rh_lighter_candles is replay-only). - Lighter liquidations (history and volume) on both Lighter deployments. - Account positions on Hyperliquid, HIP-3, Lighter and Robinhood Chain: current and as-of positions, hourly history, change log, market listings, market summaries, bulk listings, account summaries (Hyperliquid and HIP-3) and the Lighter L1 account resolver, with typed models, cursor iterators and async versions. ResponseMeta on CursorResponse.meta. - orders.flow() sends cursor; HIP-3 breadth history accepts interval="1m". - Version 1.12.0.
0xFantomMenace
added a commit
that referenced
this pull request
Sep 29, 2026
…itions (#12) - client.rh_lighter: Lighter on Robinhood Chain under /v1/rh-lighter, with the same resources as client.lighter except the L3 order book and the L1 account resolver, and live and replay rh_lighter_* WebSocket channels (rh_lighter_candles is replay-only). - Lighter liquidations (history and volume) on both Lighter deployments. - Account positions on Hyperliquid, HIP-3, Lighter and Robinhood Chain: current and as-of positions, hourly history, change log, market listings, market summaries, bulk listings, account summaries (Hyperliquid and HIP-3) and the Lighter L1 account resolver, with typed models, cursor iterators and async versions. ResponseMeta on CursorResponse.meta. - orders.flow() sends cursor; HIP-3 breadth history accepts interval="1m". - Version 1.12.0.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Release 1.12.0 of the Python SDK: Lighter on Robinhood Chain, Lighter liquidations and account positions. It also releases the order flow cursor and 1-minute interval changes from #13.
Lighter on Robinhood Chain
client.rh_lighter(RhLighterClient) under/v1/rh-lighter. It has the same resources asclient.lighterexcept the L3 order book and the L1 account resolver:instruments,orderbook,trades,candles,open_interest,funding,liquidations,positions,get_freshness(),get_summary()andget_price_history().BTC) and dashed spot markets (AAPL-USDG).trades.list()is canonical up tometa.finalized_through, andtrades.recent()is the preliminary tier.rh_lighter_orderbook(withinterval_ms100 to 5000),rh_lighter_trades,rh_lighter_open_interestandrh_lighter_funding, with the mainnet Lighter message shapes, onwss://api.0xarchive.io/ws.rh_lighter_candlesis replay-only. Newsubscribe_rh_lighter_*helpers andon_rh_lighter_*handlers.Lighter liquidations
client.lighter.liquidationsandclient.rh_lighter.liquidationswithhistory()andvolume(), typed asLighterLiquidationandLighterLiquidationVolume.source == "bucket"and an emptyraw_json; rows captured live havesource == "ws"and the venue's raw JSON.Account positions
positionsonclient.hyperliquid,client.hyperliquid.hip3,client.lighterandclient.rh_lighter:get(now, or as of any instant),history,changes,market,market_summaryandall; Hyperliquid and HIP-3 addaccountandaccount_history. HIP-3 takes an optionaldex; Lighter market methods takeinclude_system.client.lighter.accounts.by_l1()resolves an L1 address to account indices (mainnet only).iterate_*helpers anda-prefixed async versions of every method.Position,PositionChange,AccountSummary,MarketPosition,MarketPositionsSummary,WalletPositionsandLighterL1Accounts, andResponseMetaonCursorResponse.meta(as_of,snapshot_ts,source,quality,stale,built_through,finalized_through,requested_end,clamped_to,totals,notice,coverage_from).Order flow and intervals (from #13)
orders.flow()andaflow()sendcursor. The API does not returnnext_cursoron order flow yet.client.hyperliquid.hip3.breadth.history()acceptsinterval="1m"; docstrings and README list1mand the order flow buckets (1m,5m,15m,1h).Verification
liquidation_price_statusvalue the API returns (exact,not_published_cross,changed_since_snapshot,unavailable) andunknownas a leverage type.pytest: 153 passed on Python 3.12.ruffandmypy --strict: no new findings compared withmaster.Version 1.12.0 in
pyproject.tomlandoxarchive/__init__.py.