Skip to content

Repository files navigation

Taurus-PROTECT SDK Documentation

This monorepo contains SDKs for the Taurus-PROTECT API, a cryptocurrency custody and transaction management platform.

Documentation

Common Documentation

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

SDK-Specific Documentation


Repository Structure

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

Java 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 only

Documentation: taurus-protect-sdk-java/docs/


Go SDK

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 only

Documentation: taurus-protect-sdk-go/docs/


Python SDK

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 only

Documentation: taurus-protect-sdk-python/docs/


TypeScript SDK

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 only

Documentation: taurus-protect-sdk-typescript/docs/


SDK Comparison

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

Postman Collections

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.


Shared Resources

All SDKs generate code from the same specifications:

OpenAPI Specification

  • Location: scripts/resources/swagger/apis.swagger.json
  • Format: Swagger 2.0 / OpenAPI 2.0
  • Content: 56 REST API services

Protocol Buffer Schemas

  • Location: scripts/resources/proto/schema/
  • Content: 98 .proto files defining:
    • v1 API message types
    • Common shared types
    • Third-party dependencies (Google protobuf, gRPC gateway)

Disclaimer

This software is provided for educational, experimental, and development purposes only. It is not intended for production use. See DISCLAIMER.md for full details.

License

This project is licensed under the MIT License. See LICENSE for details.

About

Code examples in Java, Go, Python and Typescript to consume selected APIs of Taurus-PROTECT

Resources

Stars

3 stars

Watchers

0 watching

Forks

Used by

Contributors

Languages