Skip to main content
This guide explains how to fund a treasury wallet via bank transfer. To fund your wallet with stablecoins instead, see the Pay-ins guide.

Funding in Staging

There are two ways to fund a treasury wallet in staging:

Using a Faucet

Use Circle’s USDC faucet to send test tokens directly into your treasury wallet.

Using the Fund Wallet API

Use the Fund Wallet API to add USDXM (Crossmint’s testnet token) to your wallet.
Available in staging only. Supports USDXM only.
curl --request POST \
    --url 'https://staging.crossmint.com/api/v1-alpha2/wallets/<your-wallet-address>/balances' \
    --header 'X-API-KEY: <your-server-api-key>' \
    --header 'Content-Type: application/json' \
    --data '{
        "amount": 10,
        "token": "usdxm",
        "chain": "base-sepolia"
    }'
import { CrossmintWallets, createCrossmint } from "@crossmint/wallets-sdk";

const crossmint = createCrossmint({
    apiKey: "<your-server-api-key>",
});

const crossmintWallets = CrossmintWallets.from(crossmint);

const wallet = await crossmintWallets.getWallet("<your-wallet-address>", {
    chain: "base-sepolia",
});

// Fund with 10 USDXM (staging only)
await wallet.stagingFund(10);

console.log("Wallet funded successfully");
import requests

wallet_address = "<your-wallet-address>"
url = f"https://staging.crossmint.com/api/v1-alpha2/wallets/{wallet_address}/balances"

payload = {
    "amount": 10,
    "token": "usdxm",
    "chain": "base-sepolia"
}
headers = {
    "X-API-KEY": "<your-server-api-key>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
See the API reference for more details.

Funding in Production via Bank Transfer

Production only. Requires an active contract and bank account verification. Contact Crossmint to enable bank transfer funding.
Fund your treasury wallet with a bank transfer. Crossmint automatically converts incoming funds into stablecoins and deposits them into your wallet.

1. Configure Your Bank Account

Share your banking details with Crossmint. Crossmint will provide:
  • Bank transfer instructions
  • A unique routing memo for your treasury wallet

2. Send Funds

Send a bank transfer with the memo provided by the CSE team. Each memo code is associated with a specific treasury wallet and chain, ensuring funds are routed correctly.
Only USDC is supported for B2B onramp. If you send funds with an incorrect memo or transfer details, contact support for help recovering the transfer.

3. Listen for Events

Once the transfer settles, Crossmint converts the funds into the configured stablecoin and deposits them into your treasury wallet on the selected chain. Track incoming deposits and settlement status using wallet transfer webhooks.
  1. Configure a webhook endpoint for the wallets.transfer.in event type.
  2. Verify webhook signatures to ensure events originate from Crossmint.
  3. Monitor fields such as data.status to track deposit and settlement progress.

Next Steps

Withdrawals

Learn how to withdraw stablecoins to your bank account

Payouts

Send stablecoins using Crossmint’s regulated infrastructure