{"id":32150895,"url":"https://github.com/trsathya/cryptex","last_synced_at":"2026-02-19T02:02:21.029Z","repository":{"id":48630351,"uuid":"115799525","full_name":"trsathya/Cryptex","owner":"trsathya","description":"Gemini, GDAX, Bitfinex, Poloniex, Binance, Kraken, Cryptopia, Koinex, BitGrail and CoinMarketCap cryptocurrency exchange API clients in Swift / iOS SDK. Check prices and account balances using Sample iOS app.","archived":false,"fork":false,"pushed_at":"2021-07-16T22:11:33.000Z","size":246,"stargazers_count":65,"open_issues_count":1,"forks_count":23,"subscribers_count":13,"default_branch":"master","last_synced_at":"2026-02-14T16:40:14.025Z","etag":null,"topics":["altcoin","binance","bitcoin","bitgrail","coinexchange","coinmarketcap","coinmarketcap-api","crypto","cryptocurrencies","cryptocurrency","ethereum","gdax","gemini","ios","koinex","litecoin","macos","poloniex","sdk","swift"],"latest_commit_sha":null,"homepage":"","language":"Swift","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/trsathya.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":"2017-12-30T13:46:45.000Z","updated_at":"2025-12-09T13:23:45.000Z","dependencies_parsed_at":"2022-08-20T19:20:32.925Z","dependency_job_id":null,"html_url":"https://github.com/trsathya/Cryptex","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/trsathya/Cryptex","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trsathya%2FCryptex","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trsathya%2FCryptex/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trsathya%2FCryptex/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trsathya%2FCryptex/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/trsathya","download_url":"https://codeload.github.com/trsathya/Cryptex/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trsathya%2FCryptex/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29600847,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-19T00:59:38.239Z","status":"online","status_checked_at":"2026-02-19T02:00:07.702Z","response_time":117,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["altcoin","binance","bitcoin","bitgrail","coinexchange","coinmarketcap","coinmarketcap-api","crypto","cryptocurrencies","cryptocurrency","ethereum","gdax","gemini","ios","koinex","litecoin","macos","poloniex","sdk","swift"],"created_at":"2025-10-21T10:28:12.636Z","updated_at":"2026-02-19T02:02:21.024Z","avatar_url":"https://github.com/trsathya.png","language":"Swift","readme":"# Cryptex - iOS SDK for crypto currencies in Swift 4\n\n![Swift 4.2](https://img.shields.io/badge/Swift-4.2-brightgreen.svg) ![CocoaPods](https://img.shields.io/cocoapods/v/Cryptex.svg) [![GitHub release](https://img.shields.io/github/release/trsathya/Cryptex.svg)](https://github.com/trsathya/Cryptex/releases) ![Github Commits Since last release](https://img.shields.io/github/commits-since/trsathya/Cryptex/latest.svg) ![badge-mit]\n![badge-platforms] ![badge-pms]\n\nCryptex, a single Swift 4 library and an iOS app to watch prices and check realtime account balances across multiple cryptocurrency exchanges. Trading features are coming soon.\n\n![Sample App UI](SampleAppUI.png)\n\n## Requirements\n\n- iOS 9.0+ | macOS 10.10+ | tvOS 9.0+ | watchOS 2.0+\n- Xcode 8.3+\n\n## Integration\n\n#### CocoaPods (iOS 9+, OS X 10.9+)\n\nTo install all exchanges\n```ruby\npod 'Cryptex', '~\u003e 0.0.6'\n```\n\nTo install only one exchange\n```ruby\npod 'Cryptex/Gemini', '~\u003e 0.0.6'\n```\n\nTo install two or more exchanges\n```ruby\npod 'Cryptex', '~\u003e 0.0.6', :subspecs =\u003e ['Gemini', 'GDAX', \"Poloniex\"]\n```\n\n#### Carthage (iOS 8+, OS X 10.9+)\n\n```\ngithub \"trsathya/Cryptex\" ~\u003e 0.0.6\n```\n\n#### Swift Package Manager\n\n```swift\ndependencies: [\n    .Package(url: \"https://github.com/trsathya/Cryptex\", from: \"0.0.6\"),\n]\n```\n\n## Usage\n\n#### Initialization\n\n```swift\nimport Cryptex\n```\n\n##### Fetch coinmarketcap.com global data\n```swift\nlet coinMarketCapService = CoinMarketCap.Service(key: nil, secret: nil, session: URLSession.shared, userPreference: .USD_BTC, currencyOverrides: nil)\ncoinMarketCapService.getGlobal { (_) in\n    if let data = coinMarketCapService.store.globalMarketDataResponse.globalData {\n        print(data)\n    }\n}\n```\n\n##### Console logs\n```\nGET https://api.coinmarketcap.com/v1/global\n200 https://api.coinmarketcap.com/v1/global/\nResponse Data: {\n    \"total_market_cap_usd\": 585234214361.0,\n    \"total_24h_volume_usd\": 22202189284.0,\n    \"bitcoin_percentage_of_market_cap\": 34.15,\n    \"active_currencies\": 896,\n    \"active_assets\": 567,\n    \"active_markets\": 8187,\n    \"last_updated\": 1517118863\n}\nOptional(Cryptex.CoinMarketCap.GlobalMarketData(marketCap: 585234214361, volume24Hrs: 22202189284, bitcoinDominance: 34.15, activeCurrencies: 896, activeAssets: 567, activeMarkets: 8187, lastUpdated: 1517118863))\n\n```\nOr\n\n##### Fetch Gemini public ticker data\n```swift\nlet geminiService = Gemini.Service(key: nil, secret: nil, session: URLSession.shared, userPreference: .USD_BTC, currencyOverrides: nil)\ngeminiService.getTickers { (_) in\n    print(geminiService.store.tickerByName)\n}\n```\n##### Console logs\n```\nGET https://api.gemini.com/v1/symbols\n200 https://api.gemini.com/v1/symbols\nGET https://api.gemini.com/v1/pubticker/BTCUSD\nGET https://api.gemini.com/v1/pubticker/ETHBTC\nGET https://api.gemini.com/v1/pubticker/ETHUSD\n200 https://api.gemini.com/v1/pubticker/ETHBTC\n200 https://api.gemini.com/v1/pubticker/ETHUSD\n200 https://api.gemini.com/v1/pubticker/BTCUSD\n[\nBTCUSD : 11721 USD,\nETHBTC : 0.0977 BTC,\nETHUSD : 1148.99 USD]\n```\nOr\n##### Fetch Gemini private account balance data\n```swift\nlet geminiService = Gemini.Service(key: \u003cYour gemini account api key\u003e, secret: \u003cYour gemini account api secret\u003e, session: URLSession.shared, userPreference: .USD_BTC, currencyOverrides: nil)\ngeminiService.getBalances { (_) in\n    for balance in self.gemini.store.balances {\n        print(\"\\(balance) \\(self.gemini.store.balanceInPreferredCurrency(balance: balance).usdFormatted ?? \"\")\")\n    }\n}\n```\n##### Console logs\n```\nGET https://api.gemini.com/v1/symbols\n200 https://api.gemini.com/v1/symbols\nGET https://api.gemini.com/v1/pubticker/BTCUSD\nGET https://api.gemini.com/v1/pubticker/ETHBTC\nGET https://api.gemini.com/v1/pubticker/ETHUSD\n200 https://api.gemini.com/v1/pubticker/BTCUSD\n200 https://api.gemini.com/v1/pubticker/ETHUSD\n200 https://api.gemini.com/v1/pubticker/ETHBTC\nPOST https://api.gemini.com/v1/balances\n200 https://api.gemini.com/v1/balances\n\nBTC: 0.29182653 $3,420.49\nUSD: 26.96 $26.96\nETH: 0.00000017 $0.00\n```\n\n**Note:** While creating Binance service, pass a currency override array to resolve a currency code difference. This is because Binance chose to use the code BCC for BitcoinCash instead of BCH.\n```swift\nlet currencyOverrides = [\"BCC\": Currency(name: \"Bitcoin Cash\", code: \"BCC\")]\nlet binanceService = Binance.Service(key: key, secret: secret, session: session, userPreference: .USDT_BTC, currencyOverrides: currencyOverrides)\n```\n\n[badge-pms]: https://img.shields.io/badge/supports-CocoaPods%20%7C%20Carthage%20%7C%20SwiftPM-green.svg\n[badge-platforms]: https://img.shields.io/badge/platforms-macOS%20%7C%20iOS%20%7C%20watchOS%20%7C%20tvOS%20%7C%20Linux-lightgrey.svg\n[badge-mit]: https://img.shields.io/badge/license-MIT-blue.svg\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrsathya%2Fcryptex","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftrsathya%2Fcryptex","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrsathya%2Fcryptex/lists"}