#
Valu API Communication System
The Valu API serves as the central communication hub for the Valu ecosystem, orchestrating secure interactions between multiple services and blockchain networks to provide a seamless crypto wallet and identity verification experience.
#
System Overview
The Valu API ecosystem consists of interconnected components that work together to provide wallet functionality, KYC services, on/off-ramp capabilities, and identity attestations:
graph TB
MobileApp[Valu Mobile App<br/>React Native Wallet] --> ValuAPI[Valu API<br/>Central Hub]
ValuAPI --> Database[(SQL Server<br/>User Data)]
ValuAPI --> Verus[Verus Public API<br/>Self-Sovereign Transactions]
ValuAPI --> Stripe[Stripe API<br/>Payment Processing]
ValuAPI --> Sumsub[Sumsub API<br/>KYC/AML Provider]
ValuAPI --> Paybis[Paybis API<br/>Fiat On/Off Ramp]
Paybis --> PolygonBC[Polygon Blockchain]
ValuAPI --> PolygonBC
MobileApp --> Verus
classDef mobile fill:#e1f5fe
classDef api fill:#f3e5f5
classDef blockchain fill:#e8f5e8
classDef service fill:#fff3e0
class MobileApp mobile
class ValuAPI api
class VerusBC,PolygonBC blockchain
class Stripe,Sumsub,Paybis,Database service
#
Core Components
#
1. Valu Mobile App
A React Native cryptocurrency wallet application that enables users to:
- Manage crypto assets securely
- Perform on/off-ramp transactions
- Download and store attestation credentials
- Sign transactions and information
- Access self-sovereign identity features
#
2. Valu API
The central orchestration layer that connects the mobile app to all centralized services:
- Handles authentication and authorization
- Manages on/off-ramp processes
- Coordinates attestation issuance
- Processes payments for services
#
3. Verus Public API Endpoint
Blockchain connectivity service similar to Infura, enabling:
- Direct blockchain interactions
- Self-sovereign transaction processing
- Identity and credential management on-chain
#
4. Stripe API
Payment processing infrastructure for:
- Attestation room purchases
- Identity verification services
- Subscription management
#
5. Sumsub API
KYC/AML compliance provider that:
- Processes document uploads
- Performs identity verification
- Enables Valu to sign and attest user identities
- Links verified identities to Verus blockchain identities
#
6. Paybis On/Off-Ramp Provider
Bridge between fiat and crypto:
- Converts fiat to Polygon USDC
- Enables seamless 1:1 swap to vUSDC
- Facilitates crypto-to-fiat withdrawals
#
7. Blockchain Networks
#
Verus Blockchain
- Stores vUSDC and other Verus assets
- Manages identity and attestation records
- Processes self-sovereign transactions
#
Polygon Blockchain
- Entry/exit point for fiat conversions
- Handles USDC transactions from Paybis
- Bridges to Verus network via Valu API
#
8. SQL Server Database
Centralized data storage for:
- User accounts and profiles
- On/off-ramp transaction history
- Attestation records and payments
- Service usage analytics
#
Security Architecture
The system implements multiple layers of security:
sequenceDiagram
participant MA as Mobile App
participant VA as Valu API
participant DB as Database
MA->>MA: Generate Bearer Token from Seed
MA->>VA: Submit Auth Token + Network
VA->>DB: Check/Create User Record
DB-->>VA: Return API Key & User ID
VA-->>MA: Authentication Success
Note over MA,VA: All subsequent requests signed with bearer token
MA->>VA: Signed API Request
VA->>VA: Verify Signature
VA->>VA: Process Request
VA-->>MA: Signed Response- Seed-based Authentication: Cryptographic keys derived from user's main seed
- Request Signing: All API calls digitally signed using HMAC-SHA256
- API Key Management: Unique keys per user session
- Encrypted Communication: TLS/SSL for all network traffic
#
Integration Flow
The typical user journey involves multiple service integrations:
flowchart TD
Start([User Opens App]) --> Auth[Authentication via Seed]
Auth --> Menu{User Action}
Menu -->|KYC| Sumsub[Sumsub Verification]
Menu -->|Buy Crypto| Paybis[Paybis On-Ramp]
Menu -->|Send/Receive| Verus[Verus Transactions]
Menu -->|Buy Attestation| Stripe[Stripe Payment]
Sumsub --> Attest[Issue Identity Attestation]
Paybis --> Bridge[USDC → vUSDC Bridge]
Verus --> Chain[Blockchain Transaction]
Stripe --> Service[Activate Service]
Attest --> Complete([Process Complete])
Bridge --> Complete
Chain --> Complete
Service --> Complete
#
Documentation Structure
This documentation is organized into the following sections:
- Security - Detailed security implementations and cryptographic flows
- Hardware Requirements - Infrastructure specifications and deployment architecture
- Communication Protocols - Inter-system communication methods and APIs
- Costs & Operations - Setup costs, running expenses, and operational considerations
- Project Timeline - Mainnet launch timeline and team responsibilities
Each section includes comprehensive diagrams, code examples, and implementation details to help developers understand and integrate with the Valu API ecosystem.