{"id":13436469,"url":"https://github.com/inv2004/coinbase-pro-rs","last_synced_at":"2025-04-09T17:55:10.583Z","repository":{"id":43522814,"uuid":"145381897","full_name":"inv2004/coinbase-pro-rs","owner":"inv2004","description":"Coinbase pro client for Rust","archived":false,"fork":false,"pushed_at":"2023-08-04T03:41:03.000Z","size":202,"stargazers_count":149,"open_issues_count":5,"forks_count":57,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-03-18T21:50:23.014Z","etag":null,"topics":["async","coinbase","cryptocurrency","exchange","static","sync","trading"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/inv2004.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-08-20T07:26:07.000Z","updated_at":"2025-03-12T05:01:04.000Z","dependencies_parsed_at":"2024-06-21T19:16:07.362Z","dependency_job_id":null,"html_url":"https://github.com/inv2004/coinbase-pro-rs","commit_stats":{"total_commits":231,"total_committers":21,"mean_commits":11.0,"dds":"0.25108225108225113","last_synced_commit":"d10f25c05c431c926daea73807974a9dd7b398ba"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inv2004%2Fcoinbase-pro-rs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inv2004%2Fcoinbase-pro-rs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inv2004%2Fcoinbase-pro-rs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inv2004%2Fcoinbase-pro-rs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/inv2004","download_url":"https://codeload.github.com/inv2004/coinbase-pro-rs/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248083588,"owners_count":21045122,"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":["async","coinbase","cryptocurrency","exchange","static","sync","trading"],"created_at":"2024-07-31T03:00:48.786Z","updated_at":"2025-04-09T17:55:10.543Z","avatar_url":"https://github.com/inv2004.png","language":"Rust","funding_links":[],"categories":["Applications","应用 Applications","应用程序 Applications","应用"],"sub_categories":["Cryptocurrencies","Blockchain","加密货币 Cryptocurrencies","加密货币"],"readme":"[![Build Status](https://travis-ci.org/inv2004/coinbase-pro-rs.svg?branch=master)](https://travis-ci.org/inv2004/coinbase-pro-rs)\n[![Crates.io](https://img.shields.io/crates/v/coinbase-pro-rs.svg)](https://crates.io/crates/coinbase-pro-rs)\n[![Docs.rs](https://docs.rs/coinbase-pro-rs/badge.svg)](https://docs.rs/coinbase-pro-rs)\n\n# Coinbase pro client for Rust\nSupports SYNC/ASYNC/Websocket-feed data support\n\n## Features\n- private and public API\n- sync and async support\n- websocket-feed support\n\n## Examples\nCargo.toml:\n```toml\n[dependencies]\ncoinbase-pro-rs = \"0.7.1\"\n```\n\n### Async\n```rust\nuse hyper::rt::Future;\nuse coinbase_pro_rs::{Public, ASync, SANDBOX_URL};\n\nfn main() {\n    let client: Public\u003cASync\u003e = Public::new_with_keep_alive(SANDBOX_URL, false);\n    // if keep_alive is not disables - tokio::run will hold the connection without exiting the example\n    let f = client.get_time()\n        .map_err(|_| ())\n        .and_then(|time| {\n            println!(\"Coinbase.time: {}\", time.iso);\n            Ok(())\n        });\n\n    tokio::run(f); // waiting for tokio\n}\n```\n### Sync\n```rust\nuse coinbase_pro_rs::{Public, Sync, SANDBOX_URL};\n\nfn main() {\n   let client: Public\u003cSync\u003e = Public::new(SANDBOX_URL);\n   let time = client.get_time().unwrap();\n   println!(\"Coinbase.time: {}\", time.iso);\n}\n```\n### Websocket\n```rust\nuse futures::{Future, Stream};\nuse coinbase_pro_rs::{WSFeed, WS_SANDBOX_URL};\nuse coinbase_pro_rs::structs::wsfeed::*;\n\nfn main() {\n    let stream = WSFeed::connect(WS_SANDBOX_URL,\n        \u0026[\"BTC-USD\"], \u0026[ChannelType::Heartbeat])\n        .await\n        .unwrap();\n\n    let f = stream\n        .take(10)\n        .for_each(|msg| {\n        match msg {\n            Message::Heartbeat {sequence, last_trade_id, time, ..} =\u003e println!(\"{}: seq:{} id{}\",\n                                                                               time, sequence, last_trade_id),\n            Message::Error {message} =\u003e println!(\"Error: {}\", message),\n            Message::InternalError(_) =\u003e panic!(\"internal_error\"),\n            other =\u003e println!(\"{:?}\", other)\n        }\n        Ok(())\n    });\n\n    tokio::run(f.map_err(|_| panic!(\"stream fail\")));\n}\n```\n\n## Api supported:\n- [x] SYNC\n- [x] ASYNC\n- [x] Websocket-Feed\n\n## API\n- [x] Requests\n- [ ] Pagination\n- [x] Types\n- [x] Private\n  - [x] Authentication\n  - [x] Accounts\n  - [x] Orders\n  - [x] Fills\n  - [ ] Deposits\n    - [x] List\n  - [ ] Withdrawals\n    - [x] List\n  - [ ] Payment Methods\n  - [ ] Coinbase Accounts\n  - [x] Fees\n  - [ ] Reports\n  - [x] User Account\n- [x] Market Data\n  - [x] Products\n  - [x] Currencies\n  - [x] Time\n- [x] Websocket Feed\n  - [x] heartbeat\n  - [x] ticker\n  - [x] level2\n  - [x] user\n  - [x] matches\n  - [x] full\n\n## FIX API\nby request\n\n## OrderBook\n\u003chttps://github.com/inv2004/orderbook-rs\u003e\n\n### Tests\ncargo test\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finv2004%2Fcoinbase-pro-rs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finv2004%2Fcoinbase-pro-rs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finv2004%2Fcoinbase-pro-rs/lists"}