Quickstart
Send your first Travel Rule message and set up the core CryptoSwift integration in a few minutes.
Building with an AI coding agent? See AI Agent Integration and AI Agent Prompts.
1. Get your Test API key
Every authenticated CryptoSwift API request requires an API Key.
- Create an account using Self-Service Signup.
- Verify your email.
- Open Settings in the Client Dashboard.
- Copy your Test API key.
Start in the Test Environment
Self-Service Signup gives you automatic access to the CryptoSwift Test Environment. Build and validate your integration there before moving to Production. Production credentials and access are provided separately during onboarding.
2. Send a Travel Rule message
All authenticated requests must include your API key in the x-api-key header.
Use your Test API key and the Test Environment endpoint to create your first outgoing Travel Rule transaction.
API_KEY='<YOUR_TEST_API_KEY>'
curl --location --request POST 'https://api-dev.cryptoswift.eu/transactions' \
--header "x-api-key: $API_KEY" \
--header 'Content-Type: application/json' \
--data-raw '{
"asset": "BTC",
"amount": "0.00341",
"blockchainInfo": {
"blockchain": "Bitcoin",
"transactionHash": "cca7507897abc89628f450e8b1e0c6fca4ec3f7b34cccf55f3f531c659ff4d79",
"origin": "17SkEw2md5avVNyYgj6RiXuQKNwkXaxFyQ",
"destination": "1MLh2UVHgonJY4ZtsakoXtkcXDJ2EPU6RY",
"destinationType": "CUSTODIAL"
},
"vaspInfo": {
"beneficiaryVaspName": "SwiftExchange"
},
"originator": {
"type": "NATURAL",
"name": "Marwin Hillar",
"accountNumber": "04143282398",
"address": "Alexanderplatz 25, Berlin",
"country": "Germany"
},
"beneficiary": {
"type": "NATURAL",
"name": "Hanne Nikol",
"accountNumber": "1MLh2UVHgonJY4ZtsakoXtkcXDJ2EPU6RY"
}
}'
This request creates an outgoing Travel Rule transaction in CryptoSwift and routes the Travel Rule message to the beneficiary VASP.
Outgoing Travel Rule messaging is the core starting point for most CryptoSwift integrations. More advanced workflows can add pre-transaction decisioning, risk checks and additional compliance controls later.
See the complete outgoing transactions guide for additional fields, scenarios and workflow options.
Prefer an SDK?
Generate one from the CryptoSwift OpenAPI specification.
3. Set up webhooks
Webhooks let your system receive incoming Travel Rule messages and status updates without polling the CryptoSwift API.
Configure an HTTPS endpoint in the Client Dashboard or through the API.
curl --location --request PATCH 'https://api-dev.cryptoswift.eu/tenant/me' \
--header 'x-api-key: $API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"webhookUrl": "https://my-backend-service.domain/cryptoswift-notifications"
}'
Once configured, CryptoSwift can send relevant transaction and workflow events to your endpoint as they occur.
For production implementations, follow the full Webhooks guide for event handling, signature verification and retry behaviour.
Webhooks: Configure event handling and webhook verification.
Incoming Transactions: Handle Travel Rule messages received from other VASPs.
4. Optional: Verify a self-hosted wallet
If your transaction flow includes self-hosted wallets, CryptoSwift can help you collect and manage wallet ownership or control evidence from your customers.
You can use the hosted verification flow for a fast implementation or integrate the verification experience into your own user interface.
Create a wallet verification request:
curl --location 'https://api-dev.cryptoswift.eu/wallet-verification' \
--header 'x-api-key: $API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"asset": "ETH",
"blockchain": "Ethereum",
"address": "0x3e069aeac00a0b098fcf1310eea3ea9a940325d3",
"allowedFlows": [
"VISUAL_PROOF",
"SELF_DECLARED",
"SIGNATURE_PROOF"
]
}
The response includes a verification ID, token and URL:
{
"id": "a0d1c528-c3cb-4223-a36e-1e632c6de0ab",
"token": "<generated-token-value>",
"url": "https://wallet-dev.cryptoswift.eu?token=<generated-token-value>",
"asset": "ETH",
"blockchain": "Ethereum",
"address": "0x3e069aeac00a0b098fcf1310eea3ea9a940325d3",
"status": "PENDING"
}
You can send the URL directly to your customer, embed the CryptoSwift verification component into your own interface, or build a custom verification flow using the API.
When verification is completed, its status is updated in CryptoSwift and your integration can receive the result through webhooks.
See the Wallet Verification section for in-depth integration options.
Your core integration is ready
At this point you can:
- authenticate with the CryptoSwift API
- create outgoing Travel Rule transactions
- receive transaction updates through webhooks
- optionally initiate self-hosted wallet verification
From here, continue with the detailed guides for the workflows your product requires.
Next steps
Outgoing Transactions
Build production-ready outgoing Travel Rule workflows and explore additional transaction scenarios.
Continue to Outgoing Transactions →
Incoming Transactions
Handle Travel Rule messages and requests received from counterparty VASPs.
Continue to Incoming Transactions →
Webhooks
Implement event handling, verification and status updates.
Compliance Workflows
Add risk evaluation, pre-transaction decisioning and operational compliance workflows.
Explore Compliance Workflows →