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

# Operations

<Info>
  Manage all wallet operations including creation, transactions, upgrades, and
  account controls through our comprehensive API endpoints.
</Info>

## Quick Actions

<Frame>
  <img src="https://mintcdn.com/monieswitch-a80c7231/zmCarAk9ee-qZ1hU/images/wallet-actions.png?fit=max&auto=format&n=zmCarAk9ee-qZ1hU&q=85&s=6241184c9fc507054e0e5050d9735502" alt="Wallet Action Menu" width="2988" height="938" data-path="images/wallet-actions.png" />
</Frame>

<CardGroup cols={3}>
  <Card title="Upgrade Tier" icon="arrow-up-right-dots" href="/features/wallets/customers/operations/controls#upgrade-tier">
    Enhance wallet capabilities and increase transaction limits
  </Card>

  <Card title="Credit Wallet" icon="circle-plus" href="/features/wallets/customers/operations/transactions#credit-wallet">
    Add funds from merchant account to customer wallet
  </Card>

  <Card title="Debit Wallet" icon="circle-minus" href="/features/wallets/customers/operations/transactions#debit-wallet">
    Withdraw funds from customer wallet to merchant account
  </Card>

  <Card title="Wallet Transfer" icon="money-bill-transfer" href="/features/wallets/customers/operations/transactions#wallet-to-wallet-transfer">
    Transfer funds between customer wallets
  </Card>

  <Card title="Bank Transfer" icon="building-columns" href="/features/wallets/customers/operations/transactions#bank-transfer">
    Send funds to any Nigerian bank account
  </Card>

  <Card title="Freeze/Unfreeze" icon="lock" href="/features/wallets/customers/operations/controls#enable-wallet">
    Temporarily suspend or reactivate wallet operations
  </Card>
</CardGroup>

## Operation Limits & Rules

<CardGroup cols={2}>
  <Card title="Transaction Limits" icon="gauge-high">
    All operations are subject to tier-based daily limits:

    * **Tier 1**: ₦50,000/day
    * **Tier 2**: ₦200,000/day
    * **Tier 3**: ₦5,000,000/day
  </Card>

  <Card title="Balance Limits" icon="wallet">
    Maximum balance caps apply: - **Tier 1**: ₦50,000 - **Tier 2**: ₦200,000 -
    **Tier 3**: Unlimited
  </Card>

  <Card title="Transfer Fees" icon="money-bill-1">
    Current fee structure: - Wallet-to-wallet: ₦0 - Bank transfers: ₦10-25 -
    Merchant operations: ₦0
  </Card>

  <Card title="Processing Time" icon="hourglass-half">
    Operation speed:

    * Wallet operations: Instant
    * Bank transfers: 1-5 minutes
    * Verification: 24-48 hours
  </Card>
</CardGroup>

## Error Handling

Common error scenarios and solutions:

<AccordionGroup>
  <Accordion title="Insufficient Balance" icon="wallet">
    **Error**: Transaction amount exceeds available balance

    **Solution**: Check wallet balance before initiating transactions or reduce transaction amount.
  </Accordion>

  <Accordion title="Daily Limit Exceeded" icon="gauge-max">
    **Error**: Transaction would exceed daily tier limit

    **Solution**: Wait until the next day (resets at midnight WAT) or upgrade wallet tier.
  </Accordion>

  <Accordion title="Wallet Disabled" icon="ban">
    **Error**: Cannot process transactions on disabled wallet

    **Solution**: Enable the wallet using the enable endpoint or contact support if frozen for compliance reasons.
  </Accordion>

  <Accordion title="Invalid PIN" icon="key">
    **Error**: Merchant transaction PIN is incorrect

    **Solution**: Verify your PIN in merchant settings. Contact support if locked out after multiple attempts.
  </Accordion>

  <Accordion title="KYC Requirements Not Met" icon="id-card">
    **Error**: Wallet tier upgrade or operation requires additional verification

    **Solution**: Complete the required KYC documentation for your target tier.
  </Accordion>
</AccordionGroup>

## Best Practices

<CardGroup cols={2}>
  <Card title="Security" icon="shield-halved">
    * Never share merchant API keys
    * Use environment variables for credentials
    * Implement rate limiting
    * Monitor suspicious activity
    * Regularly rotate API keys
  </Card>

  <Card title="Transaction Management" icon="list-check">
    * Always check balance before debiting - Store transaction references -
      Implement idempotency - Use metadata for tracking - Handle webhooks properly
  </Card>

  <Card title="Error Handling" icon="triangle-exclamation">
    * Implement retry logic - Log all API responses - Handle timeouts gracefully -
      Provide user-friendly messages - Set up monitoring alerts
  </Card>

  <Card title="Compliance" icon="scale-balanced">
    * Verify customer identity
    * Maintain transaction records
    * Report suspicious activity
    * Follow tier requirements
    * Keep KYC documents updated
  </Card>
</CardGroup>

***

## What's Next?

<CardGroup cols={2}>
  <Card title="Tier System" icon="layer-group" href="/features/wallets/customers/tier">
    Learn about tier requirements and limits
  </Card>

  <Card title="Manage wallet" icon="eye" href="/features/wallets/customers/operations/view-manage-wallet">
    View wallet details and balance information
  </Card>

  <Card title="Wallet controls" icon="sliders" href="/features/wallets/customers/operations/controls">
    Manage wallet status: freeze, unfreeze, upgrade tier
  </Card>

  <Card title="Wallet transactions" icon="bill-wave" href="/features/wallets/customers/operations/transactions">
    Credit, debit, and transfer funds between wallets
  </Card>
</CardGroup>

<Snippet file="api-reference-link.mdx" />
