# CryptoSwift Developer Portal Canonical documentation portal: https://docs.cryptoswift.eu The CryptoSwift Developer Portal documents how to integrate with CryptoSwift APIs for crypto Travel Rule compliance, webhook notifications, incoming and outgoing transaction workflows, and self-hosted wallet verification. For a VASP transaction, determine whether the relevant wallet is custodial or self-hosted using your own process or optional CryptoSwift Wallet Intelligence (KYW). A custodial counterparty follows Travel Rule messaging; a customer-controlled self-hosted wallet follows the VASP's wallet verification policy. Unknown results need review. Maintain the VASP's full real custodial wallet inventory in Production for live incoming transfers; use a small test inventory in the Sandbox. A VASP may also choose to create an outgoing Travel Rule message for a self-hosted destination. In that case set `blockchainInfo.destinationType` to `NON_CUSTODIAL` so CryptoSwift does not search for a beneficiary VASP. VASP onboarding starts with Sandbox signup. Build and test there and submit onboarding materials through the Sandbox dashboard. After review, CryptoSwift onboards the VASP to production and sends production credentials automatically. ## Canonical API resources - OpenAPI spec: https://api.cryptoswift.eu/api-json - Production API: https://api.cryptoswift.eu - Sandbox API: https://api-dev.cryptoswift.eu - API agent manifest: https://api.cryptoswift.eu/.well-known/cryptoswift-agent.json ## Authentication CryptoSwift API requests use API key authentication with the `X-Api-Key` request header. Keep API keys on the server side. Do not hardcode API keys, commit them to source control, expose them in frontend code, or print them in logs. Load credentials from environment variables or a secrets manager. ## Core integration flows 1. Outgoing transactions - Create outgoing Travel Rule messages. - Use the post-transaction flow to send with a hash as a transfer is broadcast, or the pre-transaction flow for decisioning before broadcast, under the VASP's applicable timing and release controls. - Continue tracking delivery, responses, and exceptions through webhooks or polling after required writes. 2. Incoming transaction handling and responses - Receive incoming Travel Rule messages. - Reconcile blockchain, counterparty, and beneficiary data with internal records. - Confirm or decline incoming messages through backend API calls. 3. Webhook notifications - Register a backend webhook endpoint. - Handle transaction and wallet verification events. - Verify signatures over the original raw body with millisecond timestamps, a timing-safe comparison, and a five-minute replay tolerance. - Return 2xx only after successful processing or durable queuing; poll for recovery from missed notifications. 4. Self-hosted wallet verification - Create wallet verification sessions. - Use the hosted flow, widget, or API flow depending on the product experience. - Process completion events server-side and reconcile verification status. 5. Supporting API workflows - Search the entity directory and resolve canonical counterparties. - Reconcile transactions with list filters and immutable event history. - Configure, simulate, publish, and version Rule Engine policies. - Rotate tenant API keys without interrupting integrations. ## AI coding agent guides AI coding agents should start with these two pages before implementing: - AI Agent Integration: https://docs.cryptoswift.eu/docs/ai/agent-integration - AI Agent Prompts: https://docs.cryptoswift.eu/docs/ai/agent-prompts Use the AI Agent Integration page for the recommended implementation workflow, checklist, security rules, and source-of-truth links. Use AI Agent Prompts when asking an agent to implement a full integration, a single core flow, SDK generation, or a production readiness review. ## Recommended docs paths - https://docs.cryptoswift.eu/docs/fundamentals/overview - https://docs.cryptoswift.eu/docs/fundamentals/onboarding - https://docs.cryptoswift.eu/docs/fundamentals/test-environment - https://docs.cryptoswift.eu/docs/fundamentals/api-key-management - https://docs.cryptoswift.eu/docs/integration-guides/getting-started - https://docs.cryptoswift.eu/docs/integration-guides/wallet-inventory - https://docs.cryptoswift.eu/docs/integration-guides/vasp-directory - https://docs.cryptoswift.eu/docs/integration-guides/wallet-intelligence-kyw - https://docs.cryptoswift.eu/docs/integration-guides/outgoing-transactions - https://docs.cryptoswift.eu/docs/integration-guides/incoming-transactions - https://docs.cryptoswift.eu/docs/integration-guides/transaction-history - https://docs.cryptoswift.eu/docs/integration-guides/rule-engine - https://docs.cryptoswift.eu/docs/integration-guides/webhooks - https://docs.cryptoswift.eu/docs/integration-guides/self-hosted-wallet-verification - https://docs.cryptoswift.eu/docs/integration-guides/self-hosted-wallet-verification/additional-steps - https://docs.cryptoswift.eu/docs/workflows/wallet-types-ownership/self-hosted-wallet-strategy - https://docs.cryptoswift.eu/docs/workflows/wallet-types-ownership/wallet-verification-additional-steps - https://docs.cryptoswift.eu/docs/workflows/rule-engine - https://docs.cryptoswift.eu/docs/ai/agent-prompts - https://docs.cryptoswift.eu/docs/ai/agent-integration - https://docs.cryptoswift.eu/docs/api-reference/generate-sdk - https://docs.cryptoswift.eu/docs-index.json ## Agent guidance Use the OpenAPI spec as the source of truth for endpoint shapes. Use the AI coding agent guides for implementation workflow and prompt structure. Use integration guides for API setup and compliance workflows for policy and operating context. Build and validate against the Sandbox API before using Production. Avoid duplicating the existing integration guides in generated docs or code comments; link to the relevant docs path instead.