# 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:

Each section includes comprehensive diagrams, code examples, and implementation details to help developers understand and integrate with the Valu API ecosystem.