This monorepo contains SDKs for the Taurus-PROTECT API, a cryptocurrency custody and transaction management platform.
For concepts shared across all SDKs, see docs/:
| Document | Description |
|---|---|
| Key Concepts | Domain model, entities, relationships, request lifecycle |
| Authentication | TPV1 authentication protocol, security best practices |
| Integrity Verification | Cryptographic verification flows |
| Postman Integration | Postman collections — Bearer and HMAC auth, request signing setup |
- Java SDK: taurus-protect-sdk-java/ | docs
- Go SDK: taurus-protect-sdk-go/ | docs
- Python SDK: taurus-protect-sdk-python/ | docs
- TypeScript SDK: taurus-protect-sdk-typescript/ | docs
taurus-protect-sdk/
├── docs/ # Common documentation
│ ├── CONCEPTS.md # Domain model (shared)
│ ├── AUTHENTICATION.md # TPV1 protocol (shared)
│ ├── INTEGRITY_VERIFICATION.md # Verification flows (shared)
│ └── POSTMAN_INTEGRATION.md # Postman collections setup (shared)
├── postman/ # Postman collection files
│ ├── Bearer Authentication.postman_collection.json
│ └── Hmac Based Authentication.postman_collection.json
├── scripts/resources/ # Shared resources
│ ├── jars/
│ │ └── openapi-generator-cli-7.9.0.jar
│ ├── proto/schema/ # Protobuf definitions (98 files)
│ │ ├── v1/ # v1 API schemas
│ │ ├── common/ # Shared types
│ │ └── third_party/ # Google/gRPC dependencies
│ └── swagger/
│ └── apis.swagger.json # OpenAPI 2.0 specification
├── taurus-protect-sdk-java/ # Java SDK
├── taurus-protect-sdk-go/ # Go SDK
├── taurus-protect-sdk-python/ # Python SDK
└── taurus-protect-sdk-typescript/ # TypeScript SDK
Requirements: Java 8+ (runtime), Maven 3.6+ (build), Java 11+ (code generation)
cd taurus-protect-sdk-java
./build.sh # Full build (compile + test)
./build.sh unit # Unit tests onlyDocumentation: taurus-protect-sdk-java/docs/
- SDK Overview - Architecture, modules, code generation
- Services Reference - Complete API reference
- Usage Examples - Code examples
Requirements: Go 1.21+ (runtime), Java 11+ (code generation), protoc + protoc-gen-go (protobuf)
cd taurus-protect-sdk-go
./build.sh build # Compile only
./build.sh unit # Unit tests onlyDocumentation: taurus-protect-sdk-go/docs/
- SDK Overview - Architecture, packages, code generation
- Services Reference - Complete API reference
- Usage Examples - Code examples
Requirements: Python 3.9+ (runtime), Java 11+ (code generation), protoc (protobuf)
cd taurus-protect-sdk-python
./build.sh # Full build (install + test)
./build.sh unit # Unit tests onlyDocumentation: taurus-protect-sdk-python/docs/
- SDK Overview - Architecture, packages, code generation
- Services Reference - Complete API reference
- Usage Examples - Code examples
Requirements: Node.js 18+ (runtime), npm 9+ (package manager), Java 11+ (code generation)
cd taurus-protect-sdk-typescript
./build.sh build # Compile only
./build.sh unit # Unit tests onlyDocumentation: taurus-protect-sdk-typescript/docs/
- SDK Overview - Architecture, packages, code generation
- Services Reference - Complete API reference
- Usage Examples - Code examples
| Aspect | Java | Go | Python | TypeScript |
|---|---|---|---|---|
| Language Version | Java 8+ | Go 1.21+ | Python 3.9+ | Node.js 18+ |
| Build Tool | Maven | go tool |
pip/setuptools | npm |
| HTTP Client | OkHttp | Standard net/http |
urllib3 | fetch API |
| DTO Mapping | MapStruct (compile-time) | Manual functions | Manual functions + Pydantic models | Manual functions |
| Services | 43 | 43 | 43 | 43 |
| Testing | JUnit 5 | Go testing | pytest | Jest |
| Static Analysis | SpotBugs, PMD, Checkstyle | golangci-lint | black, flake8, mypy | ESLint, TypeScript |
Two Postman collections are available in postman/ for exploring and testing the API:
| Collection | Authentication | File |
|---|---|---|
| Bearer Authentication | Short-lived Bearer token (30-min expiry) | Bearer Authentication.postman_collection.json |
| HMAC Authentication | TPV1-HMAC-SHA256 (auto-signed via pre-request script) | Hmac Based Authentication.postman_collection.json |
Both collections cover the same endpoints: Wallet & Addresses, Whitelist Address, Transaction, Users, Changes, Prices, and Staking (Solana).
Documentation: docs/POSTMAN_INTEGRATION.md — setup guide, environment variables, Postman Vault configuration, and ECDSA signing instructions.
All SDKs generate code from the same specifications:
- Location:
scripts/resources/swagger/apis.swagger.json - Format: Swagger 2.0 / OpenAPI 2.0
- Content: 56 REST API services
- Location:
scripts/resources/proto/schema/ - Content: 98 .proto files defining:
- v1 API message types
- Common shared types
- Third-party dependencies (Google protobuf, gRPC gateway)
This software is provided for educational, experimental, and development purposes only. It is not intended for production use. See DISCLAIMER.md for full details.
This project is licensed under the MIT License. See LICENSE for details.