Skip to main content

Overview

Crocante supports multi-network deposits and withdrawals for cryptocurrencies and fiat currencies. This guide covers generating deposit addresses, receiving assets, and sending funds to external wallets or accounts.

Depositing Cryptocurrency

Opening the Deposit Modal

1

Navigate to Portfolio

Go to your portfolio dashboard where all your assets are displayed.
2

Click Deposit

Click the Deposit button in the portfolio header. This opens the DepositModal component.
3

Configure Deposit

The deposit modal (domain/portfolio/components/header-actions/deposit-modal.tsx) allows you to customize your deposit parameters.

Generating a Deposit Address

1

Select Asset Type

Choose between:
  • Crypto: For cryptocurrency deposits
  • Fiat: For fiat currency deposits (on-ramp coming soon)
2

Choose Token

Select the cryptocurrency you want to deposit from the Token dropdown.Supported tokens include BTC, ETH, USDC, USDT, and many others.
3

Select Network

Choose the blockchain network from the Network dropdown:
  • Ethereum Mainnet
  • Polygon
  • Arbitrum
  • BSC (Binance Smart Chain)
  • And other supported networks
Critical: Only send assets on the selected network. Deposits from other networks won’t be credited and may be lost permanently.
4

View Deposit Address

Once you select a token and network, the deposit address is generated using the useDepositAddressData hook:
const { depositAddress, network, isLoading } = 
  useDepositAddressData(networkId);
The address appears as:
  • QR Code: For easy scanning with mobile wallets
  • Text Address: Full address displayed above the QR code
  • Token Icon: Overlaid on the QR code center for visual confirmation

Understanding Deposit Requirements

The deposit modal displays important information:
Network Warning: “Only send assets on [Network Name]. Deposits from other networks won’t be credited.”Minimum Deposit: “Minimal deposit: 0.001 ETH” (varies by token)
The minimum deposit amount is retrieved from:
formatToMaxDefinition(
  Number(networkSelector.options[networkSelector.selectedIndex]?.value),
  tokenSelector.options[tokenSelector.selectedIndex]?.label
)

Copying the Deposit Address

1

View Address

The full deposit address is displayed in a disabled text field above the Copy button:
  • Desktop: Shows complete address
  • Mobile: Shows shortened address using getShortAddress() utility
2

Copy Address

Click the Copy address button to copy the address to your clipboard.The button includes:
  • Copy icon when ready
  • Check icon when copied
  • Confirmation text: “Address copied to clipboard”
3

Paste in Wallet

Paste the address into your external wallet or exchange to initiate the transfer.
The address copy feature uses:
navigator.clipboard.writeText(evmAddress);
A check icon appears for 2 seconds after copying to confirm success.

Multi-Network Support

Network-Specific Addresses

Crocante uses the useDepositAddress hook to fetch deposit addresses per network:
const { data: depositAddressData } = useDepositAddress(
  networkId,
  POLL_TOKENS_NETWORKS_DATA_INTERVAL
);
Each network has its own configuration retrieved via getNetworkConfig(networkId):
  • Chain Name: e.g., “Ethereum”, “Polygon”, “Arbitrum”
  • Network ID: Unique identifier for the blockchain
  • Token Standards: ERC-20, BEP-20, etc.
Different networks may use different address formats. Always verify the network matches your sending wallet’s network.

Unsupported Networks

If you select a network that isn’t currently supported:
We still don't support deposits on this network.
The deposit address and QR code will not be displayed.

Depositing Fiat Currency

Fiat On-Ramp (Coming Soon)

When you select Fiat as the asset type:
1

Select Fiat Currency

Choose from supported fiat currencies (USD, EUR, GBP, etc.) in the Fiat dropdown.
2

On-Ramp Notice

The modal displays:
On-ramping fiat assets will be available soon.
You can still deposit crypto assets.
3

Alternative: Crypto Deposit

Switch back to Crypto asset type to deposit cryptocurrencies instead.
Fiat on-ramp integration is under development. You’ll be able to deposit fiat via bank transfer or credit card once available.

Sending/Withdrawing Assets

Opening the Send Modal

1

Access Send Feature

Click the Send button in the portfolio header to open the SendModal component.
2

Configure Transfer

The send modal (domain/portfolio/components/header-actions/send-modal.tsx) allows you to transfer assets between locations.

Configuring a Send Transaction

1

Select Asset

Choose the cryptocurrency you want to send from the Asset dropdown.The dropdown shows:
  • Token symbol and icon
  • Your available balance for that token
2

Choose Source

Select the From location where your assets are currently held:
  • Internal Wallets
  • Specific Exchange account
  • Custodian account
  • Bank account (for fiat)
3

Choose Destination

Select the To destination where you want to send the assets:
  • Another internal wallet
  • External address
  • Different exchange
  • Different custodian
The source and destination must be different. The Send button is disabled if they’re the same.
4

Enter Amount

In the Quantity field, specify how much to send:
  • Token Amount: Enter the amount in token units
  • USD Equivalent: Auto-calculated in real-time using useTokenConversion
  • MAX Button: Click to send your entire available balance

Real-Time USD Conversion

The send modal includes dual input fields with automatic conversion:
// User edits token amount
const handleChangeValue = (tokenValue: string) => {
  setValue(tokenValue);
  if (tokenValue) {
    const convertedUSD = convertToUSD(tokenValue);
    setValueUSD(convertedUSD);
  }
};
The useTokenConversion hook provides:
  • convertToUSD: Converts token amount to USD value
  • convertFromUSD: Converts USD value to token amount
  • conversionRate: Current exchange rate
The USD equivalent updates automatically as you type in either field, using the convertedInputFocused state to track which field is active.

Send Validation

The Send button is enabled only when:
  1. Valid Amount: Greater than zero and within available balance
  2. Different Locations: Source and destination are not the same
  3. Sufficient Balance: You have enough tokens to cover the transfer
const conditionsSuccess =
  isValidValue &&
  fromSelector.options[fromSelector.selectedIndex]?.id !==
    toSelector.options[toSelector.selectedIndex]?.id;
The useValueVerifier hook validates:
  • Minimum: Must be greater than 0
  • Maximum: Cannot exceed your available balance
  • Non-Zero Requirement: Enforced for all sends

Executing the Send

1

Review Details

Double-check:
  • Asset type and amount
  • Source and destination
  • USD equivalent value
2

Click Send

Click the Send button to execute the transfer.
3

Confirmation

The modal closes and the transaction is processed. Your portfolio balances update once the transaction completes.

Deposit Tracking

Monitoring Incoming Deposits

1

Send from External Wallet

Initiate the transfer from your external wallet or exchange to the generated deposit address.
2

Blockchain Confirmation

Wait for blockchain confirmations. Required confirmations vary by network:
  • Bitcoin: ~3-6 confirmations
  • Ethereum: ~12 confirmations
  • Polygon: ~128 confirmations
  • Other networks: varies
3

Balance Update

Once confirmed, your Crocante portfolio balance automatically updates. The usePortfolioData hook polls balances at regular intervals.
4

Check Activity

View deposit details in the Activity section to see:
  • Transaction hash
  • Timestamp
  • Amount deposited
  • Network used
Deposit addresses are monitored continuously. You can reuse the same address for multiple deposits of the same token on the same network.

Best Practices

Verify Network

Always double-check that the network you’re sending from matches the network selected in Crocante.

Check Minimums

Ensure your deposit amount meets the minimum requirement to avoid lost funds.

Test Small Amount

For first-time deposits, consider sending a small test amount to verify the address.

Save Addresses

Bookmark or save frequently used deposit addresses for convenience (they remain valid).

Wait for Confirmations

Don’t panic if deposits don’t appear immediately - wait for blockchain confirmations.

QR Code Scanning

Use QR codes for mobile deposits to avoid manual entry errors.

Common Scenarios

Depositing USDC on Polygon

1

Select Asset Type: Crypto

2

Select Token: USDC

3

Select Network: Polygon

4

Copy deposit address or scan QR code

5

Send USDC from your Polygon wallet

6

Wait for ~128 confirmations

7

Balance appears in portfolio

Withdrawing ETH to External Wallet

1

Click Send button

2

Select Asset: ETH

3

From: Internal Wallets

4

To: External Address (paste address)

5

Enter amount or click MAX

6

Review and click Send

7

Track transaction in Activity section

Transferring Between Exchange and Wallet

1

Click Send button

2

Select Asset: BTC

3

From: Binance Exchange

4

To: Internal Wallet

5

Enter transfer amount

6

Confirm and send

Troubleshooting

Deposit Not Showing

  • Check blockchain explorer: Verify the transaction is confirmed
  • Correct network: Ensure you sent on the right network
  • Minimum amount: Confirm you sent more than the minimum
  • Wait time: Allow sufficient confirmations (can take 10-30 minutes)
  • Refresh portfolio: Manual browser refresh may help

Wrong Network Deposit

If you sent assets on the wrong network (e.g., USDC on Ethereum instead of Polygon), contact support immediately. Recovery may not be possible for all wrong-network deposits.

Send Button Disabled

  • Check amount: Must be > 0 and ≤ available balance
  • Different locations: From and To must be different
  • Session active: Ensure you’re still logged in
  • Loading complete: Wait for conversion rates to load

QR Code Not Displaying

  • Select all parameters: Token and Network must both be selected
  • Network supported: Check if the network is currently supported
  • Refresh modal: Close and reopen the deposit modal
  • Browser compatibility: Ensure JavaScript is enabled

Minimum Deposit Not Met

  • Check the minimum amount displayed in the modal
  • Send at least the minimum to ensure processing
  • Contact support if the minimum seems incorrect

Security Considerations

Never share your deposit address with untrusted parties. While deposit addresses are safe to share for receiving funds, verify the recipient source before accepting deposits.
  • Verify addresses: Always double-check addresses before sending
  • Phishing protection: Only use deposit addresses generated within Crocante
  • Network verification: Confirm network compatibility before sending
  • Secure your account: Use strong passwords and enable 2FA when available

Managing Assets

View your portfolio after deposits and track balances

Token Conversion

Swap deposited assets to other cryptocurrencies

Build docs developers (and LLMs) love