- IBAN · SEPA
- Card issuing
- KYC onboarding
A connected banking platform for modern financial services.
Account details, SEPA payments, card issuing, KYC onboarding and multi-currency exchange in one financial product.
Read case study: LuxPayBring account products, pricing and payment operations together. Connect the providers you need, give your team clear controls and choose a rollout that fits your existing stack.
No matching accounts
Give operations, payments and compliance teams a shared place to work, with access and approval responsibilities shaped around your business.

Account details, SEPA payments, card issuing, KYC onboarding and multi-currency exchange in one financial product.
Read case study: LuxPay
A technical connector for SEPA Credit, SEPA Instant and SEPA Direct Debit, with back-office and ledger capabilities.
Read case study: PaysendDefine personal and business account structures, currencies and provider defaults before you bring the product to customers.
Explore accounts →Set reusable price lists with fixed, percentage and recurring fees. Keep the commercial model connected to the service you deliver.
Product pricing →Configure permissions and payment approvals so your team can work within a clear policy as the product grows.
Back-Office Dashboard →These are different projects. Start with the path that matches your institution, your data and your operating responsibilities.
Configure the initial account products, tariffs and approval policies. Connect the providers and customer channels required for your first release.
Review the current system, data scope and integrations with our team. Crassula can run alongside an existing core; the migration approach depends on your requirements.
Moving off a legacy or first-generation core? Crassula can even migrate you for free depending on the amount of data, and can run alongside your existing system, so you modernize in stages instead of betting the bank on a single cut-over.
Use documented APIs to connect your own experience. Select integrations for the capabilities your programme needs. Product configuration and provider availability determine what your customers can use.


Open a named account from your own product. Connect the account journey to the banking capabilities available in your Crassula environment.
/api/clients/{clientId}/accounts// Create an account
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)}/accounts`;
const response = await fetch(`${baseUrl}${path}`, {
method: 'POST',
headers: {
Authorization: apiKey,
'Content-Type': 'application/json',
},
body: JSON.stringify({
"name": "Everyday account",
"currency": "EUR",
"countryCode": "DE"
}),
});
if (!response.ok) throw new Error(`HTTP ${response.status}`);
const data = await response.json();
# Create an account
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="")}/accounts'
response = requests.post(
f"{base_url}{path}",
headers={"Authorization": api_key},
json={
"name": "Everyday account",
"currency": "EUR",
"countryCode": "DE"
},
timeout=30,
)
response.raise_for_status()
data = response.json()
# Create an account
curl --request POST \
"${CRASSULA_BASE_URL}/api/clients/${CRASSULA_CLIENT_ID}/accounts" \
--header "Authorization: ${CRASSULA_API_KEY}" \
--header 'Content-Type: application/json' \
--data '{
"name": "Everyday account",
"currency": "EUR",
"countryCode": "DE"
}'
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.
A multi-currency ledger for FINTRAC-registered MSBs that hold client money: CAD and USD balances per client, the transaction data behind your FINTRAC reports, and the end-of-day records the Bank of Canada expects under the RPAA.
See what we cover →Lithuania · EMIThe ledger and back office behind a Bank of Lithuania EMI: own LT IBANs, a CENTROlink connector for SEPA and the ICT documentation DORA asks for.
See what we cover →United Kingdom · EMIA ledger built for e-money: client-level balances, the data your daily safeguarding reconciliation needs, and UK rails through ClearBank and Clear Junction.
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.For a new or challenger bank, yes - Crassula provides a modern real-time ledger, accounts, payments, cards and products you can run as your core. For a large established bank, Crassula is best used as the orchestration and product layer on top of your existing system of record, not a replacement for a tier-one core like Temenos or Thought Machine.
A greenfield launch on Crassula takes weeks, versus the 18-36 months typical of a traditional core program. Modernization projects that run Crassula alongside an existing core are staged, so you avoid a single high-risk cut-over.
Yes. Crassula can run in parallel with your current core during the transition, so operations keep running while you move. Depending on how much data comes across, the migration can even be free.
Yes. Every core function - accounts, transfers, cards, limits, reporting - is available over a documented API, so your apps, channels and third parties integrate cleanly.
Talk through your account model, connected services and rollout requirements with our team.
Discuss your architecture