# Fund wallet (dev-only) Fund a wallet for the authenticated user. This endpoint is only available in non-production environments. Returns 403 if called in production. Requires a valid JWT access token. The wallet must already exist for the user and currency (no auto-create). Creates a ledger-backed transaction to record the funding. Endpoint: POST /dev/wallets/fund Version: 0.1.0 Security: bearerAuth ## Request fields (application/json): - `currencyCode` (string, required) ISO currency code for the wallet Enum: "NGN", "USD" - `amountCents` (integer, required) Amount to fund in cents (must be positive) Example: 500000 ## Response 200 fields (application/json): - `walletId` (string, required) Unique identifier for the wallet Example: "wallet_abc123" - `userId` (string, required) User identifier who owns the wallet Example: "user_123" - `currencyCode` (string, required) ISO currency code Enum: "NGN", "USD" - `availableBalanceAmountCents` (integer, required) Updated available balance in cents Example: 500000 - `lockedBalanceAmountCents` (integer, required) Locked balance in cents (unchanged) - `createdAtTimestamp` (string, required) ISO 8601 timestamp when the wallet was created Example: "2024-01-01T00:00:00Z" - `lastUpdatedAtTimestamp` (string, required) ISO 8601 timestamp when the wallet was last updated Example: "2024-01-01T00:00:00Z" ## Response 400 fields (application/json): - `error` (string, required) Error code Example: "VALIDATION_ERROR" - `message` (string, required) Human-readable error message Example: "Invalid email address or password format" - `details` (object) Additional error details (optional) - `requestId` (string) Unique request identifier for tracing (included in X-Request-ID header) Example: "550e8400-e29b-41d4-a716-446655440000" - `timestamp` (string, required) ISO 8601 timestamp when the error occurred Example: "2024-01-01T00:00:00Z" ## Response 401 fields (application/json): - `error` (string, required) Error code Example: "VALIDATION_ERROR" - `message` (string, required) Human-readable error message Example: "Invalid email address or password format" - `details` (object) Additional error details (optional) - `requestId` (string) Unique request identifier for tracing (included in X-Request-ID header) Example: "550e8400-e29b-41d4-a716-446655440000" - `timestamp` (string, required) ISO 8601 timestamp when the error occurred Example: "2024-01-01T00:00:00Z" ## Response 403 fields (application/json): - `error` (string, required) Error code Example: "VALIDATION_ERROR" - `message` (string, required) Human-readable error message Example: "Invalid email address or password format" - `details` (object) Additional error details (optional) - `requestId` (string) Unique request identifier for tracing (included in X-Request-ID header) Example: "550e8400-e29b-41d4-a716-446655440000" - `timestamp` (string, required) ISO 8601 timestamp when the error occurred Example: "2024-01-01T00:00:00Z" ## Response 404 fields (application/json): - `error` (string, required) Error code Example: "VALIDATION_ERROR" - `message` (string, required) Human-readable error message Example: "Invalid email address or password format" - `details` (object) Additional error details (optional) - `requestId` (string) Unique request identifier for tracing (included in X-Request-ID header) Example: "550e8400-e29b-41d4-a716-446655440000" - `timestamp` (string, required) ISO 8601 timestamp when the error occurred Example: "2024-01-01T00:00:00Z"