https://github.com/amiwrpremium/bitpin-tui
A feature-rich Terminal User Interface (TUI) client for the Bitpin cryptocurrency exchange, built with Go. This application provides a comprehensive interface for trading, market data visualization, and account management.
https://github.com/amiwrpremium/bitpin-tui
api bitcoin bitpin crypto cryptocurrency exchange go golang hft trade tui
Last synced: 3 months ago
JSON representation
A feature-rich Terminal User Interface (TUI) client for the Bitpin cryptocurrency exchange, built with Go. This application provides a comprehensive interface for trading, market data visualization, and account management.
- Host: GitHub
- URL: https://github.com/amiwrpremium/bitpin-tui
- Owner: amiwrpremium
- License: mit
- Created: 2024-11-24T03:08:19.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2025-07-26T15:26:09.000Z (12 months ago)
- Last Synced: 2025-07-26T20:50:35.654Z (12 months ago)
- Topics: api, bitcoin, bitpin, crypto, cryptocurrency, exchange, go, golang, hft, trade, tui
- Language: Go
- Homepage:
- Size: 63.5 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Bitpin TUI
A feature-rich Terminal User Interface (TUI) client for the Bitpin cryptocurrency exchange, built with Go. This application provides a comprehensive interface for trading, market data visualization, and account management.
## Features
### Authentication & Session Management
- Secure API key-based authentication
- Automatic token refresh handling
- Session persistence across launches
- Database-backed session storage
### Market Data
- Real-time order book visualization
- Live market ticker data
- Recent trades history
- Favorite symbols tracking
- Configurable update intervals
- Customizable market depth views
### Trading Features
- View account balances with live updates
- Create market and limit orders
- View and manage open orders
- Single-order cancellation
- Batch order cancellation ("Pussy Out" feature)
- Order filtering by symbol and side
### User Interface
- Intuitive terminal-based interface
- Interactive forms and menus
- Color-coded data visualization
- Real-time data updates
- Keyboard shortcuts for navigation
- Mouse interaction support
- Modal-based notifications and confirmations
## Installation
### Prerequisites
- Go 1.21 or higher
- SQLite3
- UPX (optional, for binary compression)
### Building from Source
1. Clone the repository:
```bash
git clone https://github.com/amiwrpremium/bitpin-tui.git
cd bitpin-tui
```
2. Build the application:
```bash
go build -o bitpin-tui
```
### Pre-built Binaries
Pre-built binaries are available for the following platforms:
- macOS (Apple Silicon and Intel)
- Windows (64-bit)
- Linux (64-bit)
Download the latest release from the [Releases](https://github.com/amiwrpremium/bitpin-tui/releases) page.
## Usage
1. Launch the application:
```bash
./bitpin-tui
```
2. Choose how you want to use the application:
- Access public market data immediately without authentication (order book, tickers, recent trades)
- Authenticate with your Bitpin API credentials (API Key and Secret) to access private features like trading and balance management
3. Navigate the interface using:
- Arrow keys for movement
- Enter to select
- ESC to return to main menu
- Ctrl+C to exit
## Main Menu Options
### Authenticated Users
- **Get Balances**: View account balances with live updates
- **Get Open Orders**: View active orders with filtering
- **Create Order**: Place new market or limit orders
- **Cancel Order**: Cancel specific orders by ID
- **Pussy Out**: Batch cancel all open orders
- **Refresh**: Re-authenticate and refresh session
- **Logout**: Clear session and exit
### All Users
- **Get Order Book**: View real-time order book data
- **Get Ticker**: View current market tickers
- **Get Recent Trades**: View trade history
- **Reset**: Reset database to default state
- **Quit**: Exit application
## Project Structure
```
.
├── bitpin_client/ # Bitpin API client implementation
├── db/ # Database operations and models
├── tui/ # Terminal UI components and handlers
├── utils/ # Utility functions
└── scripts/ # Build and release scripts
```
## Development
### Key Components
- **Bitpin Client**: Handles all API interactions with automatic token refresh
- **Database Layer**: Manages session persistence and favorite symbols
- **TUI Components**: Provides interactive UI elements using tview
- **Utils**: Includes JWT handling, string manipulation, and time utilities
### Building for Release
The project includes a release script (`scripts/release.sh`) that:
- Builds binaries for multiple platforms
- Applies build optimizations
- Compresses binaries using UPX
- Prepares releases for distribution
## Contributing
1. Fork the repository
2. Create a feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'feat: add amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## Notice
This project is an unofficial, independent terminal interface for the Bitpin exchange. It is:
- Not affiliated with, endorsed by, or connected to Bitpin in any way
- Provided "as-is" without any warranty or guarantee of reliability
- A community project created for educational and convenience purposes
- Not responsible for any trading losses or technical issues that may occur
Users should:
- Use this software at their own risk
- Always verify critical information through official channels
- Keep their API credentials secure and never share them
- Be aware that cryptocurrency trading carries inherent risks
## Author
AMiWR ([@amiwrpremium](https://github.com/amiwrpremium))
---
🌟 If you find this project useful, please consider giving it a star on GitHub!