Phase 6: Wallet Operations

Query balance, check allowed operations, and view transaction limits

Phase 6: Wallet Operations

After activation, the customer can query their wallet balance, check allowed operations, and view transaction limits.

Prerequisites

RequirementStatus
Customer StatusACTIVE
Wallet StatusACTIVE
Valid SessionJWT token

Get Wallet Balance

Endpoint: GET /api/v2.1/fintrans/{accountId}/balance

Path Parameters:

  • accountId: Wallet ID from activation response

Headers:

http
Authorization: Bearer {jwt-token}

Status: 200 OK

json
{
  "code": 200,
  "message": "Balance retrieved successfully",
  "data": {
    "walletId": "wallet-aa0e8400-e29b-41d4-a716-446655440050",
    "iban": "FR7630001007941234567890185",
    "currency": "EUR",
    "status": "ACTIVE",
    "currentBalance": "500000",
    "currentBalanceFormatted": "5000.00",
    "availableBalance": "450000",
    "availableBalanceFormatted": "4500.00",
    "blockedBalance": "50000",
    "blockedBalanceFormatted": "500.00",
    "lastTransaction": "2026-01-14T15:30:00.000Z",
    "balanceHistory": [
      {
        "date": "2026-01-14",
        "balance": "5000.00"
      }
    ]
  }
}

Balance Fields

FieldDescription
currentBalanceTotal balance in minor units (cents)
currentBalanceFormattedFormatted balance with currency
availableBalanceBalance available for transactions
blockedBalanceBalance blocked for pending transactions

Get Allowed Operations

Endpoint: GET /api/v2.1/fintrans/{accountId}/allowed-operations

Query Parameters:

  • includeBeneficiaries: true/false
  • includeConsents: true/false

Headers:

http
Authorization: Bearer {jwt-token}

Status: 200 OK

json
{
  "code": 200,
  "message": "Allowed operations retrieved successfully",
  "data": {
    "accountId": "wallet-aa0e8400-e29b-41d4-a716-446655440050",
    "operations": [
      {
        "operationType": "TRANSFER",
        "allowedNetworks": ["SEPA", "SWIFT"],
        "requiresConsent": true,
        "requiresApproval": false,
        "enabled": true
      },
      {
        "operationType": "PAYMENT",
        "allowedNetworks": ["SEPA"],
        "requiresConsent": true,
        "requiresApproval": false,
        "enabled": true
      },
      {
        "operationType": "TOPUP",
        "allowedNetworks": ["SEPA"],
        "requiresConsent": false,
        "requiresApproval": false,
        "enabled": true
      }
    ],
    "limits": {
      "perTxn": {
        "EUR": 2000
      },
      "daily": {
        "EUR": 5000
      },
      "monthly": {
        "EUR": 50000
      }
    },
    "accountLimits": {
      "dailyTransactionLimit": 5000,
      "monthlyTransactionLimit": 50000,
      "singleTransactionLimit": 2000,
      "currency": "EUR",
      "limitType": "CATEGORY_BASED",
      "categoryName": "HIGH_RISK_INDIVIDUAL"
    },
    "consentStatus": {
      "hasValidPaymentConsent": true,
      "hasRecurringPaymentConsent": false,
      "hasPreApprovalConsent": false,
      "hasInternationalTransferConsent": true,
      "missingConsents": [],
      "allRequiredConsentsValid": true,
      "lastUpdated": "2026-01-14T14:00:00.000Z"
    },
    "enabledFeatures": [
      "TRANSFER",
      "PAYMENT",
      "INTERNATIONAL",
      "SCHEDULED_PAYMENT"
    ],
    "beneficiaries": [],
    "beneficiaryRules": [
      {
        "ruleType": "ALLOWED_TYPES",
        "allowedValues": ["INTERNAL", "SEPA", "SWIFT"],
        "description": "Allowed beneficiary types"
      },
      {
        "ruleType": "REQUIRE_PRE_REGISTRATION",
        "value": true,
        "description": "Beneficiaries must be pre-registered"
      }
    ]
  }
}

Operation Types

OperationDescriptionNetworks
TRANSFERSend money to beneficiarySEPA, SWIFT
PAYMENTMake a paymentSEPA
TOPUPAdd funds to walletSEPA

Transaction Limits

Limits are determined by customer categorization:

High-Risk Individual

Limit TypeAmount (EUR)
Per Transaction2,000
Daily5,000
Monthly50,000

Standard Individual

Limit TypeAmount (EUR)
Per Transaction5,000
Daily10,000
Monthly100,000

The consentStatus object indicates which payment consents are in place:

FieldDescription
hasValidPaymentConsentBasic payment consent active
hasRecurringPaymentConsentRecurring payments enabled
hasPreApprovalConsentPre-approved payments enabled
hasInternationalTransferConsentInternational transfers enabled
allRequiredConsentsValidAll required consents are active

Get Transaction History

Endpoint: GET /api/v2.1/fintrans/{accountId}/orders

Query Parameters:

  • page: Page number (default: 0)
  • size: Page size (default: 20)
  • status: Filter by status
  • fromDate: Start date filter
  • toDate: End date filter

Headers:

http
Authorization: Bearer {jwt-token}

Status: 200 OK

json
{
  "code": 200,
  "message": "Orders retrieved successfully",
  "data": {
    "content": [
      {
        "orderId": "order-ff0e8400-e29b-41d4-a716-446655440081",
        "operationType": "TRANSFER",
        "status": "COMPLETED",
        "amount": "100000",
        "amountFormatted": "1000.00",
        "currency": "EUR",
        "beneficiaryName": "Jane Smith",
        "beneficiaryIban": "GB82WEST12345698765432",
        "reference": "FAM-2026-001",
        "createdAt": "2026-01-14T15:45:00.000Z",
        "executedAt": "2026-01-14T15:45:30.000Z"
      }
    ],
    "page": 0,
    "size": 20,
    "totalElements": 1,
    "totalPages": 1
  }
}

Next Step

Proceed to Phase 7: Payment Operations to add beneficiaries and execute transfers.

Phase 7: Payment Operations

Add beneficiaries and execute transfers

Type to search…

↑↓ navigate open esc close