{"id":25851069,"url":"https://github.com/elertan/rusftx","last_synced_at":"2025-03-01T12:53:16.059Z","repository":{"id":62469543,"uuid":"558068866","full_name":"elertan/rusftx","owner":"elertan","description":"Rust bindings for the FTX REST and Websocket API","archived":false,"fork":false,"pushed_at":"2022-11-11T23:44:26.000Z","size":134,"stargazers_count":0,"open_issues_count":0,"forks_count":3,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-20T18:25:09.231Z","etag":null,"topics":["api","cryptocurrency","ftx","rest","websocket"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/elertan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-10-26T20:50:37.000Z","updated_at":"2022-11-02T02:37:18.000Z","dependencies_parsed_at":"2023-01-22T00:16:40.928Z","dependency_job_id":null,"html_url":"https://github.com/elertan/rusftx","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elertan%2Frusftx","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elertan%2Frusftx/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elertan%2Frusftx/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elertan%2Frusftx/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/elertan","download_url":"https://codeload.github.com/elertan/rusftx/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241116163,"owners_count":19912335,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","cryptocurrency","ftx","rest","websocket"],"created_at":"2025-03-01T12:53:15.308Z","updated_at":"2025-03-01T12:53:16.051Z","avatar_url":"https://github.com/elertan.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# RusFTX\n\n## FTX has gone bankrupt right after publishing RusFTX, and therefore RusFTX sadly serves no real purpose anymore.\n\n### Rust bindings for the FTX REST and Websocket API\n\n[//]: # ([![Build Status]\u0026#40;https://travis-ci.com/elertan/rusftx.svg?branch=master\u0026#41;]\u0026#40;https://travis-ci.com/rusftx/rusftx\u0026#41;)\n[![Crates.io](https://img.shields.io/crates/v/rusftx.svg)](https://crates.io/crates/rusftx)\n[![Docs.rs](https://docs.rs/rusftx/badge.svg)](https://docs.rs/rusftx)\n![License](https://img.shields.io/badge/license-MIT-blue)\n\n[FTX API Documentation](https://docs.ftx.com/#overview)\n\nNot all APIs are implemented yet. If you need a specific API, please open an issue, or consider contributing by creating a pull request.\n\nRusFTX has taken inspiration from the existing [ftx crate](https://github.com/fabianboesiger/ftx) by Fabian Boesiger.\n\n- All bindings follow the naming convention of the FTX API documentation whenever possible, making it easy to find the corresponding function.\n- Calls to REST APIs that require authentication are compile-time checked \n\n### Authentication\nRusFTX supports both API key and subaccount authentication, as well as having the ability to provide a custom endpoint (which could be used for proxies for example).\nRusFTX has implemented endpoints for both FTX (.com) and FTX-US (.us) which can be configured using `EndpointCom` and `EndpointUs`.\n```rust\nlet api_key = \"YOUR_FTX_API_KEY\";\nlet secret = \"YOUR_FTX_SECRET\";\n\nlet rest_api = RestApiWithAuthenticationBuilder::new()\n    .endpoint(EndpointCom)\n    .authentication(api_key, secret)\n    .build();\n```\n\nYou can also use the Rustftx without authentication for endpoints that support it.\n```rust\nlet rest_api = RestApi::new(EndpointCom);\n```\n\n### Pagination\nPagination can be performed using the `start_time` and `end_time` parameters on all endpoints that support it by providing a chrono `DateTime\u003cUtc\u003e`.\n\n### Implemented REST API bindings\n\n- [x] Authentication\n- [x] Rate limits\n- [x] Pagination\n- [x] Subaccounts\n  - [x] Get all subaccounts\n  - [x] Create subaccount\n  - [x] Change subaccount name\n  - [x] Delete subaccount\n  - [x] Get subaccount balances\n  - [x] Transfer between subaccounts\n- [x] Markets\n  - [x] Get markets\n  - [x] Get single market\n  - [x] Get orderbook\n  - [x] Get trades\n  - [x] Get historical prices\n- [x] Futures\n  - [x] List all futures\n  - [x] Get future\n  - [x] Get future stats\n  - [x] Get funding rates\n  - [x] Get index weights\n  - [x] Get expired futures\n  - [x] Get historical index\n  - [x] Get index constituents\n- [x] Account\n  - [x] Get account information\n  - [x] Request historical balances and positions snapshot\n  - [x] Get historical balances and positions snapshot\n  - [x] Get all historical balances and positions snapshots\n  - [x] Get positions\n  - [x] Change account leverage\n- [ ] Wallet\n  - [x] Get coins\n  - [x] Get balances\n  - [x] Get balances of all accounts\n  - [x] Get deposit address\n  - [x] Get deposit address list\n  - [x] Get deposit history\n  - [x] Get withdrawal history\n  - [x] Request withdrawal\n  - [x] Get airdrops\n  - [x] Get withdrawal fees\n  - [x] Get saved addresses\n  - [x] Create saved addresses\n  - [x] Delete saved addresses\n  - [ ] Register a SEN deposit\n  - [ ] Request a SEN withdrawal\n  - [ ] Register a Signet deposit\n  - [ ] Request a Signet withdrawal\n- [ ] Orders\n  - [x] Get open orders\n  - [x] Get order history\n  - [x] Get open trigger orders\n  - [x] Get trigger order triggers\n  - [x] Get trigger order history\n  - [ ] Get TWAP orders\n  - [ ] Get TWAP order executions\n  - [x] Place order\n  - [x] Place trigger order\n  - [ ] Place TWAP order\n  - [ ] Modify order\n  - [ ] Modify order by client ID\n  - [ ] Modify trigger order\n  - [ ] Get order status\n  - [ ] Get order status by client ID\n  - [x] Cancel order\n  - [ ] Cancel TWAP order\n  - [ ] Cancel order by client ID\n  - [x] Cancel open trigger order\n  - [x] Cancel all orders\n  - [ ] Bulk cancel orders\n  - [ ] Bulk cancel orders by client id\n  - [x] Get fills\n- [ ] Funding Payments\n- [ ] Leveraged Tokens\n  - [ ] List leveraged tokens\n  - [ ] Get token info\n  - [ ] Get leveraged token balances\n  - [ ] List leveraged token creation requests\n  - [ ] Request leveraged token creation\n  - [ ] List leveraged token redemption requests\n  - [ ] Request leveraged token redemption\n  - [ ] Request ETF rebalance info\n- [ ] Options\n  - [ ] List quote requests\n  - [ ] Your quote requests\n  - [ ] Create quote request\n  - [ ] Cancel quote request\n  - [ ] Get quotes for your quote request\n  - [ ] Create quote\n  - [ ] Get my quotes\n  - [ ] Cancel quote\n  - [ ] Accept options quote\n  - [ ] Get account options info\n  - [ ] Get options positions\n  - [ ] Get public options trades\n  - [ ] Get options fills\n  - [ ] Get 24h option volume\n  - [ ] Get option historical volumes\n  - [ ] Get option open interest\n  - [ ] Get historical option open interest\n- [ ] Staking\n  - [ ] Get stakes\n  - [ ] Unstake request\n  - [ ] Get stake balances\n  - [ ] Cancel unstake request\n  - [ ] Get staking rewards\n  - [ ] Stake request\n- [ ] Convert\n  - [ ] Request quote\n  - [ ] Get quote status\n  - [ ] Accept quote\n- [ ] Spot Margin\n  - [ ] Get lending history\n  - [ ] Get borrow rates\n  - [ ] Get lending rates\n  - [ ] Get daily borrowed amounts\n  - [ ] Get market info\n  - [ ] Get my borrow history\n  - [ ] Get my lending history\n  - [ ] Get lending offers\n  - [ ] Get lending info\n  - [ ] Submit lending offer\n- [ ] NFTs\n  - [ ] List NFTs\n  - [ ] Get NFT info\n  - [ ] Get NFT trades\n  - [ ] Get all NFT trades\n  - [ ] Get NFT account info\n  - [ ] Get all NFT collections\n  - [ ] Get NFT balances\n  - [ ] Make NFT offer\n  - [ ] Buy NFT\n  - [ ] Create Auction\n  - [ ] Edit Auction\n  - [ ] Cancel Auction\n  - [ ] Get bids\n  - [ ] Place bid\n  - [ ] Get NFT deposits\n  - [ ] Get NFT withdrawals\n  - [ ] Get NFT fills\n  - [ ] Redeem NFT\n  - [ ] Get NFT gallery\n  - [ ] Get gallery settings\n  - [ ] Edit gallery settings\n- [ ] Latency statistics\n- [ ] Optimized access\n  - [ ] Add IP\n  - [ ] Get IPs\n  - [ ] Enable IP\n  - [ ] Disable IP\n  - [ ] Delete IP\n- [ ] Support tickets\n  - [ ] Get all support tickets\n  - [ ] Get support ticket messages\n  - [ ] Send support ticket messages\n  - [ ] Send a support message\n  - [ ] Update the status of your support ticket\n  - [ ] Count total number of unread support messages\n  - [ ] Mark support messages read\n\n### Implemented Websocket API bindings\n- [ ] Public Channels\n  - [x] Ticker Channel\n  - [x] Markets Channel\n  - [x] Trades Channel\n  - [ ] Orderbook Channel\n  - [ ] Global Orderbook Channel\n- [x] Private Channels\n  - [x] Authentication\n  - [x] Fills Channel\n  - [x] Orders Channel\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felertan%2Frusftx","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Felertan%2Frusftx","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felertan%2Frusftx/lists"}