Staging Test: Deposit Flow

Test Area: Deposit Flow
Estimated Time: 20-25 minutes
Difficulty: Easy-Medium
Prerequisites: Complete 01-authentication and 02-wallet-management first

Overview

This guide tests the manual deposit request system. Investors send crypto to the platform wallet, then submit the transaction hash. Admins verify on blockchain explorers and approve with the actual amount received.

Deposit Lifecycle

Submit Deposit → SUBMITTED → Admin Reviews → APPROVED or REJECTED

                         (If approved, creates PENDING tranche)

Deposit Method

All deposits use the manual flow:
  1. User sends crypto to the platform wallet address
  2. User submits the transaction hash as proof
  3. Admin verifies the transaction on blockchain explorer
  4. Admin approves with the actual amount received (or rejects)

Before You Start

URLs

PageURL
Loginhttps://zestamc.savibm.com/login
Investor Dashboardhttps://zestamc.savibm.com/investor/dashboard
Investor Transactionshttps://zestamc.savibm.com/investor/transactions
Admin Deposit Approvalshttps://zestamc.savibm.com/admin/deposit-approvals

Test Accounts

RoleEmailOTP
Investortestinvestor@zestamc.comCheck email
Investortest@zestamc.comCheck email
Adminadmin@zestamc.comCheck email

Fund Details

All users (test and migrated) use the Zest Growth Fund (ZGF):
PropertyValue
Fund NameZest Growth Fund
Fund CodeZGF
Minimum Deposit$500
Maximum Deposit$100,000

Test Cases

Test 1: View Dashboard Portfolio

Goal: Verify investor can see their current portfolio Steps:
  1. Log in as testinvestor@zestamc.com
  2. You should land on the investor dashboard
  3. Look for portfolio summary cards
Expected Results:
ElementWhat You Should See
Portfolio valueShows current investment amount
Available profitShows accumulated profit (may be $0)
Quick actionsDeposit, Withdraw, Reinvest buttons visible
Pass Criteria: ✅ Dashboard shows portfolio information

Test 2: View Platform Wallet Address

Goal: Verify investor can see the platform wallet address to send crypto Steps:
  1. Log in as testinvestor@zestamc.com
  2. On the dashboard, click “Deposit” button
  3. A deposit dialog should appear
  4. Select a network (e.g., TRC20)
Expected Results:
ElementWhat You Should See
Platform walletPlatform’s wallet address for the selected network
Copy buttonButton to copy the address
Network selectorTRC20, ERC20, BEP20 options
InstructionsClear instructions to send crypto first
Pass Criteria: ✅ Platform wallet address displayed for selected network

Test 3: Submit Deposit Request with TX Hash

Goal: Verify investor can submit a deposit request after sending crypto Steps:
  1. Log in as testinvestor@zestamc.com
  2. On the dashboard, click “Deposit” button
  3. A deposit dialog should appear
  4. Fill in the form:
    • Network: Select “TRC20” (or your preferred network)
    • Amount: Enter 500 (declared amount, must be ≥ $100)
    • Transaction Hash: Enter a valid format hash for the network
      • TRC20: a1b2c3d4e5f67890abcdef1234567890abcdef1234567890abcdef1234567890
      • ERC20/BEP20: 0xabcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890
  5. Click “Submit” or “Deposit”
  6. When OTP dialog appears, enter OTP from email
  7. Confirm
Expected Results:
StepWhat You Should See
Deposit dialogForm with network, amount, transaction hash fields
TX hash validationValidates format matches selected network
Amount validationAccepts amounts ≥ $100
After OTPSuccess message “Deposit request submitted”
After submitDialog closes
Pass Criteria: ✅ Deposit request submitted successfully

Test 4: View Deposit History

Goal: Verify investor can see their deposit requests Steps:
  1. Log in as testinvestor@zestamc.com
  2. Click “Transactions” in the left sidebar
  3. Look for the Deposits section or tab
  4. Find the deposit you just submitted
Expected Results:
ElementWhat You Should See
Deposits listShows list of deposit requests
Recent depositShows the deposit from Test 3
StatusShows “SUBMITTED” or “Pending” status
DetailsAmount, date, network, TX hash visible
Pass Criteria: ✅ Deposit appears in history with SUBMITTED status

Test 5: Admin Views Pending Deposits

Goal: Verify admin can see pending deposit requests Steps:
  1. Log out and log in as admin@zestamc.com
  2. Navigate to Admin → “Deposit Approvals”
  3. Look for pending deposits (table view)
Expected Results:
ElementWhat You Should See
Pending depositsTable of deposits awaiting review
Recent depositThe deposit from Test 3 appears
DetailsUser email, declared amount, network, TX hash
Explorer linkClickable link to verify TX on blockchain
ActionsApprove and Reject buttons available
Pass Criteria: ✅ Admin can see pending deposits with all details and explorer link

Test 6: Admin Verifies and Approves Deposit

Goal: Verify admin can verify TX on blockchain and approve with actual amount Steps:
  1. Log in as admin@zestamc.com
  2. Go to “Deposit Approvals”
  3. Find the pending deposit from Test 3
  4. Click the explorer link to verify the transaction on blockchain
  5. Note the actual amount received on-chain
  6. Click “Approve”
  7. Enter the actual amount received (may differ from declared)
  8. Confirm the approval
Expected Results:
StepWhat You Should See
Explorer linkOpens blockchain explorer (Tronscan, Etherscan, etc.)
Approve dialogPrompts for actual amount received
Amount fieldPre-filled with declared amount (editable)
After approveSuccess message
Status changeDeposit status changes to APPROVED
Tranche createdPENDING tranche created with actual amount
Pass Criteria: ✅ Deposit approved with admin-verified actual amount

Test 7: Investor Verifies Approved Deposit

Goal: Verify investor sees their deposit was approved Steps:
  1. Log out and log in as testinvestor@zestamc.com
  2. Go to “Transactions” page
  3. Find the deposit from Test 2
Expected Results:
ResultWhat You Should See
Deposit statusShows “APPROVED” or “Completed”
PortfolioPrincipal may have increased (after cycle starts)
Pass Criteria: ✅ Investor sees approved status

Test 8: Admin Rejects Deposit

Goal: Verify admin can reject a deposit with a reason Preparation: Submit a new deposit as investor first Steps:
  1. Log in as test@zestamc.com (different investor)
  2. Submit a deposit request:
    • Amount: 200
    • Transaction Hash: 0xFAKE000000000000000000000000000000000000
  3. Log out and log in as admin@zestamc.com
  4. Go to “Deposit Approvals”
  5. Find the new pending deposit
  6. Click “Reject”
  7. Enter rejection reason: “Transaction hash not found on blockchain”
  8. Confirm rejection
Expected Results:
StepWhat You Should See
Reject buttonPrompts for rejection reason
Reason fieldRequires text input
After rejectSuccess message
StatusDeposit shows REJECTED status
Pass Criteria: ✅ Deposit rejected with reason

Test 9: Investor Sees Rejected Deposit

Goal: Verify investor can see rejection reason Steps:
  1. Log in as test@zestamc.com
  2. Go to “Transactions” page
  3. Find the rejected deposit
  4. Click to view details
Expected Results:
ResultWhat You Should See
StatusShows “REJECTED”
ReasonRejection reason visible
Pass Criteria: ✅ Investor sees rejection status and reason

Test 10: Deposit Amount Validation

Goal: Verify minimum and maximum deposit limits Steps:
  1. Log in as testinvestor@zestamc.com
  2. Click “Deposit” button
  3. Try to enter 50 (below minimum)
  4. Try to submit
Expected Results:
TestWhat You Should See
Amount $50Error: “Minimum deposit is $100”
FormPrevents submission
Pass Criteria: ✅ System validates minimum deposit amount

Test 11: Deposit Without KYC Approval

Goal: Verify system requires KYC approval before deposit Note: This test applies if the user has not completed KYC verification Steps:
  1. If using a new test account without KYC approval (or log in as unverified user)
  2. Try to submit a deposit
  3. Observe the error or UI blocking
Expected Results:
ResultWhat You Should See
UI BlockDeposit button disabled or KYC prompt shown
API Error403 Forbidden with error code “KYC_REQUIRED” or “KYC_PENDING”
Error Message”Please complete identity verification to make deposits” or similar
No submissionDeposit not created
Pass Criteria: ✅ System requires KYC approval for deposits (wallet address is optional)

Test Results Summary

TestStatusNotes
Test 1: View Dashboard⬜ Pass / ⬜ Fail
Test 2: View Platform Wallet⬜ Pass / ⬜ Fail
Test 3: Submit Deposit⬜ Pass / ⬜ Fail
Test 4: View History⬜ Pass / ⬜ Fail
Test 5: Admin View⬜ Pass / ⬜ Fail
Test 6: Admin Approve⬜ Pass / ⬜ Fail
Test 7: Verify Approved⬜ Pass / ⬜ Fail
Test 8: Admin Reject⬜ Pass / ⬜ Fail
Test 9: See Rejection⬜ Pass / ⬜ Fail
Test 10: Amount Validation⬜ Pass / ⬜ Fail
Test 11: KYC Required⬜ Pass / ⬜ Fail

Sample Transaction Hashes

Use these fake transaction hashes when submitting test deposits:
NetworkSample HashFormat
TRC20a1b2c3d4e5f67890abcdef1234567890abcdef1234567890abcdef123456789064 hex chars, no 0x
ERC200xabcdef1234567890abcdef1234567890abcdef1234567890abcdef12345678900x + 64 hex chars
BEP200x9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba0x + 64 hex chars
Note: These are fake hashes for testing. Each TX hash can only be used once per network (duplicate detection is enforced).

Troubleshooting

”Minimum deposit is $100” error

Enter an amount of at least $100.

”Invalid transaction hash format” error

Transaction hash format must match the selected network:
  • TRC20: 64 hexadecimal characters (no 0x prefix)
  • ERC20/BEP20: 0x followed by 64 hexadecimal characters

”Transaction hash already submitted” error

Each transaction hash can only be used once per network. Use a different hash.

”KYC_REQUIRED” or “Please complete identity verification” error

  1. Complete KYC verification via the KYC prompt on dashboard
  2. Wait for admin to approve your KYC submission
  3. Once KYC status is APPROVED, you can make deposits
  4. Note: Wallet address is optional for deposits (not required)

Deposit not appearing in admin panel

  1. Make sure you’re logged in as admin
  2. Check the “All Statuses” filter
  3. Refresh the page
  4. The deposit should show as SUBMITTED/Pending

OTP verification failing

  1. Make sure you enter the OTP from your email
  2. Wait for the OTP dialog to fully load
  3. If error persists, close and reopen the deposit dialog
The explorer links are:

Next Steps

After completing deposit flow testing, proceed to: