TransferChain S4 SDK
Full Technical Specification
1. What is TransferChain S4
TransferChain S4 (Secure Simple Storage Service) is a self-hosted, Dockerized secure storage service that exposes an HTTP SDK for encrypted object storage.
S4 is not a storage provider .
It is a cryptographic enforcement layer that sits between your application and storage infrastructure.
Core guarantees:
Client-side and service-enforced encryption
Customer-controlled key custody
Data fragmentation and distributed storage
Blockchain-backed immutability and auditability
Zero-knowledge architecture
2. High-Level Architecture
Copy Client / Application
|
| HTTP SDK calls (/v1)
v
TransferChain S4 (Docker container)
|
| Encrypted + fragmented data
v
TransferChain File Operation Service
|
| Immutable metadata
v
TransferChain Blockchain (Medusa v2) Trust boundaries
S4 never stores plaintext at rest
Storage backends never receive full files
Blockchain never stores data or keys
TransferChain cannot decrypt customer data
3. Deployment Model
Runtime: Docker container
State is externalized via:
s4.yaml (identity + key custody)
Supported environments:
Regulated environments (finance, healthcare, defense)
4. Configuration File: s4.yaml
The s4.yaml file is the core configuration and security file for TransferChain S4.
It defines:
Authentication and organization identity
Cryptographic key custody
This file must be protected .
4.1 Full s4.yaml Reference
5. Configuration Sections Explained
Defines who you are , how you authenticate , and who owns the encryption keys .
account.api.token
API key issued by TransferChain
Can be provided via API_KEY environment variable
Used to authenticate S4 to TransferChain control plane
account.api.secret
API secret paired with the token
Can be provided via API_SECRET environment variable
account.api.url
TransferChain authentication endpoint
account.identifier
Usually injected via IDENTIFIER env var
account.uuid
Globally unique organization UUID
Used to bind blockchain records and metadata
Usually injected via UUID env var
account.mnemonics
Cryptographic root of trust
Generated during /v1/account/init
Used to derive encryption keys
Required to restore access to data
Security implications:
Anyone with mnemonics can restore and decrypt all data
Must never be committed to version control
Must be backed up securely
5.2 fileoperation
Defines the TransferChain service responsible for:
Important properties:
Receives only encrypted fragments
Does not have access to keys
Defines blockchain read access.
Used for:
Reading immutable transaction records
Audit and compliance workflows
Blockchain stores:
No data. No keys.
Controls logging verbosity.
Recommendation:
Enable only temporarily in controlled environments.
Controls whether the S4 HTTP SDK listens for incoming requests.
true
Required for normal SDK usage
false
Advanced embedded or internal use cases only
Defines log output format.
Configuration schema version
Must match S4 binary expectations
6. Environment Variables
Recommended way to inject secrets and runtime values.
7. Service Lifecycle
Environment variables override config where applicable
If not initialized:
/v1/account/init required
HTTP SDK starts listening (if listen: true)
Storage + blockchain services activated
8. HTTP SDK Overview
Base URL:
All endpoints are prefixed with:
9. Account APIs
9.1 Initialize Account
Creates cryptographic identity and generates mnemonics.
POST /v1/account/init
Response:
Behavior:
Writes mnemonics into s4.yaml
force: true recreates identity (destructive)
9.2 Restore Account
Restores access using existing mnemonics.
POST /v1/account/restore
Used for:
10. Storage APIs
Encrypts, fragments, distributes, and commits metadata.
POST /v1/storage/upload
Response (simplified):
Key points:
Each file produces a transaction ID
Transaction ID is the only retrieval handle
Filenames are not required for download
10.2 List Transactions
GET /v1/storage/
Query params:
10.3 Get Transaction Details
GET /v1/storage/{txID}
Returns:
non-sensitive cryptographic context
POST /v1/storage/download/{txID}
Behavior:
Fragments reassembled inside S4
Decryption occurs locally
Plaintext never leaves process unprotected
Deletes storage references and commits deletion to blockchain.
Deletion guarantees:
Immutable deletion record
11. Blockchain Guarantees
Every operation produces:
Immutable transaction hash
Blockchain stores:
12. Security Model
Zero-Knowledge by Design
TransferChain cannot decrypt data
Storage providers cannot reconstruct files
Blockchain cannot infer content
Keys derived from mnemonics
Customer-controlled recovery
13. Logging & Observability
Deterministic transaction IDs
Correlatable with blockchain records
Compatible with:
14. Failure & Recovery Scenarios
15. Compliance Alignment
Designed to support:
High-assurance regulated industries
16. Final Summary
TransferChain S4 is not S3 .
It is:
A cryptographic enforcement layer
A blockchain-audited data plane
A zero-knowledge secure storage SDK
If deployed correctly, no external party including TransferChain can access your data .