> ## Documentation Index
> Fetch the complete documentation index at: https://dvaultdocs.dukka.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Currency API

> Manage supported currencies and exchange rates

# Currency API Documentation

## Overview

The wallet service supports multiple currencies for transactions and account management. Currency support is integrated across various services including accounts, payments, transfers, and settlements.

## Supported Currencies

The system currently supports the following currencies:

* USD (US Dollar)
* EUR (Euro)
* GBP (British Pound)
* JPY (Japanese Yen)
* AUD (Australian Dollar)
* CAD (Canadian Dollar)
* CHF (Swiss Franc)
* CNY (Chinese Yuan)
* INR (Indian Rupee)
* RUB (Russian Ruble)
* BRL (Brazilian Real)
* ZAR (South African Rand)
* NGN (Nigerian Naira)

## Currency Integration

### Account Management

* Each account is associated with a specific currency
* Multiple accounts in different currencies can be created for a user
* Currency is specified during account creation
* Currency cannot be changed after account creation

### Payment Processing

* Card payments support multiple currencies
* USSD payments support multiple currencies
* POS card payments support multiple currencies
* Currency must be compatible with the payment provider

### Transfer Operations

* Intra-wallet transfers require matching currencies
* Interbank transfers support currency conversion
* Deposits support multiple currencies
* Withdrawals support multiple currencies

### Currency Validation

* Currency code must be valid and supported
* Currency must be compatible with the payment provider
* Currency must be compatible with the bank for interbank transfers
* Currency must be compatible with the country for USSD payments

### Currency Limits

* Transaction limits are currency-specific
* Daily limits are enforced per currency
* Monthly limits are enforced per currency
* Tier limits are currency-specific

### Currency Conversion

* Interbank transfers support currency conversion
* Conversion rates are provider-specific
* Conversion fees may apply
* Conversion is handled by the payment provider

### Currency Settlement

* Settlement accounts can be in different currencies
* Auto-settlement supports multiple currencies
* Settlement fees may vary by currency
* Settlement timing may vary by currency

## Best Practices

1. Account Creation:
   * Choose the appropriate currency based on user needs
   * Consider payment provider support
   * Consider bank support for interbank transfers
   * Consider country-specific requirements

2. Payment Processing:
   * Verify currency support with payment provider
   * Handle currency conversion if needed
   * Consider exchange rates and fees
   * Validate currency compatibility

3. Transfer Operations:
   * Match currencies for intra-wallet transfers
   * Handle currency conversion for interbank transfers
   * Consider exchange rates and fees
   * Validate currency compatibility

4. Settlement:
   * Choose appropriate settlement currency
   * Consider exchange rates and fees
   * Handle currency conversion if needed
   * Validate currency compatibility

## Error Handling

* Invalid currency codes are rejected
* Incompatible currencies are rejected
* Unsupported currency conversions are rejected
* Currency-specific errors are handled appropriately

## Security Considerations

* Currency validation is enforced
* Currency conversion is monitored
* Currency-specific limits are enforced
* Currency-specific fees are validated

## Monitoring and Reporting

* Currency usage is tracked
* Currency conversion rates are monitored
* Currency-specific errors are logged
* Currency-specific performance is measured

## Future Considerations

* Support for additional currencies
* Enhanced currency conversion features
* Improved currency validation
* Better currency-specific reporting
