Skip to content

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.

  1. Create an account using Self-Service Signup.
  2. Verify your email.
  3. Open Settings in the Client Dashboard.
  4. 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.

Learn about the Test Environment

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.

Find out more

See the complete outgoing transactions guide for additional fields, scenarios and workflow options.

Prefer an SDK?

Generate one from the CryptoSwift OpenAPI specification.

Generate an SDK.

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.

Find out more

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.

Find out more

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.

Explore Webhooks →

Compliance Workflows

Add risk evaluation, pre-transaction decisioning and operational compliance workflows.

Explore Compliance Workflows →