- Crypto payments
- Multi-currency exchange
- Digital-asset accounts
Bringing fiat and digital assets together.
Fiat and crypto payments, multi-currency exchange and digital-asset accounts on Crassula infrastructure.
Read case study: KeytomBring fiat accounts and supported digital assets into one branded experience. Connect wallet infrastructure, exchange services and screening tools around the operating model you choose.
Explore your crypto productPlan the operating model ↓Each balance is shown in its own currency or asset.
The deposit asset and network must match the wallet details.
Bring custody and digital-asset journeys into the product your customers already know. Show the asset, network and wallet information clearly, with your operating policies behind each capability.

Fiat and crypto payments, multi-currency exchange and digital-asset accounts on Crassula infrastructure.
Read case study: Keytom
Digital wallets and financial journeys delivered through Crassula APIs, web interfaces and iOS and Android apps.
Read case study: WickieGive customers a familiar place to check their balances, receive digital assets and review an exchange before they confirm.
Keep fiat accounts and digital-asset wallets in one branded app, with balances shown in their own units.
Pair the asset with its network and wallet details, so customers know which information to use for a deposit.
Show the source amount, fee and expected destination amount before confirmation. Keep submitted exchanges visible in wallet activity.
Wallet infrastructure, custody, liquidity and screening are separate decisions in your operating model.
Illustrative product defaults. Confirm provider scope, supported assets and networks for your programme.
Agree key control, custody responsibilities and the provider's service scope before enabling the wallet product.
Custody and wallets →Configure quote and slippage-protection behaviour around the selected provider, with custody and liquidity responsibilities kept distinct.
Kraken ↗Use dedicated screening integrations alongside custody and transfer capabilities.
Chainalysis ↗Configure the checks around digital-asset withdrawals and collect the beneficiary information required by the transfer workflow.
Explore crypto capabilities →Create a crypto transfer from an eligible account through the Banking API. Pass the asset, amount and destination address from the journey you build.
/api/clients/{clientId}/transfer/crypto// Create a crypto transfer
const baseUrl = process.env.CRASSULA_BASE_URL;
const apiKey = process.env.CRASSULA_API_KEY;
const clientId = process.env.CRASSULA_CLIENT_ID;
const path = `/api/clients/${encodeURIComponent(clientId)}/transfer/crypto`;
const response = await fetch(`${baseUrl}${path}`, {
method: 'POST',
headers: {
Authorization: apiKey,
'Content-Type': 'application/json',
},
body: JSON.stringify({
"fromAccount": "YOUR_CRYPTO_ACCOUNT",
"amount": "0.01",
"currency": "BTC",
"recipientAddress": "YOUR_RECIPIENT_ADDRESS",
"details": "Wallet transfer"
}),
});
if (!response.ok) throw new Error(`HTTP ${response.status}`);
const data = await response.json();
# Create a crypto transfer
import os
from urllib.parse import quote
import requests
base_url = os.environ["CRASSULA_BASE_URL"]
api_key = os.environ["CRASSULA_API_KEY"]
client_id = os.environ["CRASSULA_CLIENT_ID"]
path = f'/api/clients/{quote(client_id, safe="")}/transfer/crypto'
response = requests.post(
f"{base_url}{path}",
headers={"Authorization": api_key},
json={
"fromAccount": "YOUR_CRYPTO_ACCOUNT",
"amount": "0.01",
"currency": "BTC",
"recipientAddress": "YOUR_RECIPIENT_ADDRESS",
"details": "Wallet transfer"
},
timeout=30,
)
response.raise_for_status()
data = response.json()
# Create a crypto transfer
curl --request POST \
"${CRASSULA_BASE_URL}/api/clients/${CRASSULA_CLIENT_ID}/transfer/crypto" \
--header "Authorization: ${CRASSULA_API_KEY}" \
--header 'Content-Type: application/json' \
--data '{
"fromAccount": "YOUR_CRYPTO_ACCOUNT",
"amount": "0.01",
"currency": "BTC",
"recipientAddress": "YOUR_RECIPIENT_ADDRESS",
"details": "Wallet transfer"
}'
Choose integrations that fit your programme, market and required capabilities.
What the platform covers for your licence and country: the regulator's IT questions, rails, providers and dates.
For virtual currency dealers registered with FINTRAC: crypto accounts, buy and sell with a recorded rate, travel rule data on every transfer, and the records behind your large virtual currency transaction reports.
See what we cover →Cyprus · CASPFor Cyprus firms that left the old CySEC CASP register behind, and for investment firms adding crypto: client wallets, exchange and euro accounts on one ledger, with stablecoin flows mapped.
See what we cover →Estonia · CASPFor firms that moved from an FIU licence to a Finantsinspektsioon authorisation under MiCA, or are starting fresh: wallets, exchange and euro accounts on one ledger, with data for a wind-down plan.
See what we cover →France · CASPFor firms applying to the AMF under MiCA: custody, exchange and euro accounts in one app, and the ICT and DORA section the AMF never accepted from old PSAN files.
See what we cover →Germany · CASPCustody, exchange and euro accounts in one app for firms authorised by BaFin under MiCA, plus the DORA material BaFin wants to see in the application itself.
See what we cover →Ireland · CASPFor firms going through the Central Bank of Ireland's MiCA process: client crypto and euro on one ledger with reconciliation exports, and systems your Irish board can explain and control.
See what we cover →For firms that need a Bank of Lithuania CASP licence after the end of the national VASP register: wallets, exchange and euro accounts on one ledger, and an IT section that survives review.
See what we cover →Malta · CASPFor firms licensed by or applying to the MFSA under MiCA: crypto and fiat accounts on one ledger, and tested systems your board can vouch for before the MFSA lets you start business.
See what we cover →Netherlands · CASPFor crypto firms licensed by the AFM, with DNB watching capital and shareholders: wallets, exchange and euro accounts on one ledger, plus the ICT part of the file you take into the pre-scan.
See what we cover →The questions teams ask us before a first call.
Not covered here?Bring your question to a demo with our team.Agree the custody and key-control model with the selected provider. Wallet infrastructure, a custody service and exchange liquidity perform different roles; the service and legal entity determine the arrangement.
Licensing requirements depend on your services, customer locations and operating model. Confirm these with your legal advisers and providers. Crassula supplies software and integrations rather than regulatory authorisation.
Offer supported fiat accounts and digital-asset wallets within one branded experience. Available assets, networks, conversions and payment connections depend on your providers and programme.
Connect supported crypto-to-fiat exchange with fiat accounts and card issuing where your programme allows it. Confirm the funding flow with your providers; automatic conversion at the point of sale is not assumed.
Delivery depends on the product scope, provider integrations, approvals and operating model. Agree these dependencies and the customer journey before setting a launch plan.
Explore custody integrations, network policies and the journeys your customers can use.
Explore your crypto product