FortiSwap — AML & Sanctions Statement
Effective date: 2026-08-22 Version: 3.1 Operator: FortiBlox Labs LLC Contact: [email protected] Canonical URL: https://app.fortiblox.com/aml
1. Purpose and posture
This statement describes the anti-money-laundering ("AML") and sanctions posture of FortiSwap, the non-custodial decentralised-exchange ("DEX") aggregator operated by FortiBlox Labs LLC ("we", "us", or "our") at app.fortiblox.com (the "Interface"). It is intended to be read alongside — and is incorporated by reference into — our Terms of Service and Privacy Policy.
This is a statement of compliance posture, not a representation that FortiSwap is a registered money-services business ("MSB"), a money transmitter, a custodian, an exchange, or a licensed financial-services provider — because it is none of those things. FortiSwap is a software tool that helps you construct unsigned on-chain swap transactions that you sign and broadcast with your own self-custodial wallet.
2. Why FortiSwap is not the KYC/AML-obligated party for swaps
The AML and money-transmission obligations that attach to a custodial exchange or a fiat money-services business arise from taking custody of customer funds and holding or transmitting fiat. FortiSwap does neither for swaps:
- Non-custodial. FortiSwap never receives, holds, or transmits your fiat currency for swaps; never takes custody of your tokens or other digital assets; and never holds or can recover your private keys. Every swap is signed by you, in your own wallet, and broadcast under your own control.
- No accounts, no fiat rails for swaps. FortiSwap issues no customer accounts and operates no fiat payment path of its own for swaps. It reads public on-chain state to compute routes and assembles unsigned transactions.
- Not a counterparty. FortiSwap does not act as the counterparty to any swap and does not operate an order book or matching engine. Your swap executes on-chain against independent third-party liquidity protocols (currently XDEX and Degen).
- Sign-in / wallet infrastructure is not a KYC gate. FortiSwap's sign-in and embedded-wallet infrastructure is provided by Privy (privy.io); signing in is optional for swaps and the cross-chain bridge, which work with a connected wallet alone, and required to start a fiat on-ramp or off-ramp session. Privy authenticates you (by email one-time passcode, passkey, or a social provider such as Google, X, Discord, GitHub, or Telegram) and can provision a user-owned, non-custodial embedded wallet; it is an authentication and signing service, not a KYC/AML programme for swaps. FortiSwap does not take custody of, or hold the keys to, any wallet Privy provisions, and signing in through Privy does not create a KYC relationship with FortiSwap. The only identity verification associated with FortiSwap is the KYC that each Fiat Provider (Stripe, Coinbase, Transak, or MoonPay) performs for its own fiat on-ramp or off-ramp (Section 3).
- Cross-chain bridge routes are wallet-to-wallet. FortiSwap's optional cross-chain bridge quotes routes from independent Bridge Route Providers — Rango and MoonPay Trade (operated by Swaps XYZ Ltd, a MoonPay company) — and the Solana ↔ X1 leg settles through the X1 Warp bridge. Every leg is signed by you from your own wallet; no fiat is involved, FortiSwap takes custody of nothing in transit, and FortiSwap performs no KYC. A Bridge Route Provider applies its own wallet screening and regional restrictions and may decline to quote; the Interface then shows fewer routes.
Because FortiSwap is not the custodial or fiat-handling party for swaps, it is not the entity that carries the customer-identification (KYC) obligation for on-chain swaps. It does not, and has no obligation to, operate a KYC identity-verification programme for the swap Interface.
3. The fiat on-ramp and off-ramp — KYC/AML is performed by the Fiat Providers
FortiSwap surfaces an optional fiat on-ramp that lets users buy USDC with a card or bank payment and an optional fiat off-ramp that lets users sell USDC for fiat paid to their own account, each operated by an independent Fiat Provider — currently Stripe (Crypto Onramp), Coinbase, Transak, and MoonPay. In those flows:
- The Fiat Provider (or its regulated partner) is the licensed party. The Fiat Provider is the party that sells the crypto (on-ramp) or buys the crypto and pays out the fiat (off-ramp), processes the fiat payment or payout, and performs all identity verification (KYC), anti-money-laundering checks, payment-fraud controls, and sanctions screening required for the transaction, under its own licences, terms, and privacy policy. MoonPay is the merchant of record for purchases and sales made through its widget and performs its own KYC, AML, fraud, and sanctions checks inside that widget.
- FortiSwap merely provides access. A user must sign in through Privy before an on-ramp or off-ramp session is created; that sign-in is authentication only and is not KYC (Section 2). FortiSwap surfaces each provider's hosted widget or checkout; it does not sell or buy crypto, does not process payments or payouts, and does not receive the user's card, bank, payout, or identity data. FortiSwap performs no KYC for the on-ramp or off-ramp — that is each provider's programme, not ours — and does not store the outcome of a provider's identity check.
- Non-custodial in both directions. Crypto a user buys is delivered by the Fiat Provider as USDC on Solana directly to a wallet address the user controls; the user then bridges it to X1 in a separate transaction they sign. Crypto a user sells is sent by the user, from their own wallet, directly to the deposit address the Fiat Provider issues, and the fiat proceeds are paid by the provider directly to the user. FortiSwap does not receive fiat on any user's behalf and does not hold the crypto at any point. For a MoonPay cash-out, the deposit must reach MoonPay within 48 hours or MoonPay fails the transaction and FortiSwap will not build the transfer; a cash-out MoonPay fails after a valid deposit is refunded by MoonPay to the user's own wallet.
Accordingly, FortiSwap does not re-perform, duplicate, override, or gate a Fiat Provider's KYC/AML decisions, and does not hold the identity records a Fiat Provider collects. Any request for on-ramp or off-ramp KYC records must be directed to the relevant Fiat Provider, which is the record-holder.
4. FortiSwap's own sanctions posture
While FortiSwap is not the fiat-side compliance party, we maintain an interface-level sanctions posture as a matter of responsible operation:
- No dealing with sanctioned persons. We do not intend to make the Interface available to, and prohibit its use by, any person or entity that is identified on, or is owned or controlled by or acting on behalf of a person identified on, a sanctions list — including the U.S. Department of the Treasury Office of Foreign Assets Control ("OFAC") Specially Designated Nationals and Blocked Persons ("SDN") List, and the consolidated sanctions programmes of the European Union, the United Kingdom, and the United Nations.
- Sanctioned jurisdictions blocked at the interface. We do not target, market, or make the Interface available to residents of jurisdictions subject to comprehensive U.S. sanctions — as at the effective date: Cuba, Iran, North Korea, Syria, Russia, and the Crimea, Donetsk, and Luhansk regions of Ukraine. This is enforced as a defence-in-depth measure at the network edge (an IP-based geographic block via a Cloudflare WAF country rule and the
cf-ipcountrysignal) and at the application layer via theEXCLUDED_COUNTRIEScontrol in the Interface source atsrc/middleware.ts, which short-circuits requests from restricted regions to a/region-not-supportedpage. The country-code-blockable sanctioned jurisdictions (Cuba, Iran, North Korea, Syria, Russia) are enumerated directly inEXCLUDED_COUNTRIES; the sub-national sanctioned regions of Ukraine (Crimea, Donetsk, Luhansk) are addressed at the OFAC / Cloudflare-edge layer and by the user sanctions self-certification, as a country code cannot target them without over-blocking all of Ukraine. - Additional restricted jurisdictions. As described in Section 5 of the Terms of Service, the Interface is also not offered to residents of the United Kingdom (a regulatory exclusion pending completion of the applicable U.K. financial-promotions pathway, distinct from sanctions) or to residents of jurisdictions that impose a comprehensive local prohibition on cryptoasset use (currently the People's Republic of China, Bangladesh, Bolivia, Egypt, Morocco, Nepal, the Republic of Türkiye in respect of payments, and Belarus).
- User self-certification. By using the Interface, you self-certify that you are not a sanctioned person, are not located in a sanctioned or restricted jurisdiction, and are not using a wallet subject to a sanctions designation, as set out in the Terms of Service.
- On-ramp and off-ramp sanctions screening is the Fiat Provider's. For a fiat purchase or cash-out, sanctions screening of the payer or payee and the payment is performed by the Fiat Provider (Stripe, Coinbase, Transak, or MoonPay) as part of its licensed programme, in addition to the interface-level jurisdiction block above. For cross-chain bridge routes, Rango and MoonPay Trade apply their own wallet screening and regional restrictions before quoting.
- Applies regardless of how you connect. The interface-level jurisdiction block and the user sanctions self-certification apply to every user, whether you connect an external wallet directly or sign in through Privy (optional for swaps and the bridge, required for the on-ramp and off-ramp) and use an embedded wallet. The geographic block operates at the network edge and application layer, before any wallet-connection or sign-in step.
5. Prohibited use
You must not use the Interface to launder proceeds of criminal activity, to finance terrorism, to evade sanctions, to commit tax evasion or fraud, or for any activity that is illegal in your jurisdiction. Use of the Interface for any such purpose is a material breach of the Terms of Service.
6. Right to restrict access
We reserve the right, at our discretion and to the extent technically possible for a non-custodial interface, to restrict or refuse access to the Interface — including by blocking a region, a network origin, or the display of the Interface to a given request — where we reasonably believe that access would violate sanctions law, the eligibility or prohibited-use terms of the Terms of Service, or applicable law. Because FortiSwap is non-custodial, it cannot freeze, seize, or move any user's on-chain assets; any restriction operates at the level of access to the Interface, not custody of funds.
7. Cooperation and referrals
FortiSwap is not the licensed MSB for any transaction and does not itself file suspicious-activity reports. Where required by applicable law, or where we receive a valid legal request, we will cooperate with competent authorities in respect of the limited, non-identifying technical data we hold (as described in the Privacy Policy). Matters concerning a fiat on-ramp purchase or off-ramp cash-out — including the customer's KYC file and any suspicious-activity determination for that purchase — are the responsibility of the relevant Fiat Provider (Stripe, Coinbase, Transak, or MoonPay) as the licensed party and should be directed to that provider.
8. Amendments
We may amend this statement to reflect changes in law, in the third-party protocols the Interface routes across, in the fiat on-ramp / off-ramp providers, in the bridge route providers, in the sign-in / wallet-infrastructure provider, or in our operational posture. Material changes will be posted at app.fortiblox.com/aml with a revised effective date and a change-log entry.
9. Contact
Questions about this statement may be sent to [email protected]. For security-vulnerability disclosures, please use [email protected].
Change log
| Date | Version | Summary |
|---|---|---|
| 2026-07-30 | 1.0 | Initial published version. AML & Sanctions Statement for FortiSwap, the non-custodial DEX aggregator operated by FortiBlox Labs LLC. Establishes that FortiSwap is not an MSB / money transmitter / custodian / exchange and carries no swap-side KYC obligation because it is non-custodial and handles no fiat for swaps; that all KYC/AML, payment processing, and sanctions screening for the Stripe Crypto Onramp (buy-side USDC only, no off-ramp) are performed by Stripe or its regulated partner, not by FortiSwap; FortiSwap's own interface-level sanctions posture (no dealing with SDN/sanctioned persons; OFAC-sanctioned and other restricted jurisdictions blocked at the edge and application layer via EXCLUDED_COUNTRIES); prohibited-use terms; and the reserved right to restrict access. |
| 2026-07-31 | 2.0 | Privy sign-in / embedded-wallet clarification. Section 2 clarifies that FortiSwap's optional sign-in and embedded-wallet infrastructure is provided by Privy as an authentication/signing service — not a KYC/AML programme for swaps; signing in via Privy does not create a KYC relationship with FortiSwap, and FortiSwap holds no keys to any Privy-provisioned wallet. Section 4 adds that the interface-level jurisdiction block and user sanctions self-certification apply regardless of how the user connects (external wallet or Privy embedded wallet), and operate before any wallet/sign-in step. Existing non-custodial / no-swap-KYC posture, Stripe-performs-onramp-KYC framing, and OFAC/edge geoblock unchanged and not contradicted. No license numbers, registration IDs, or physical address asserted. |
| 2026-08-22 | 3.0 | All Fiat Providers (Stripe, Coinbase, Transak, MoonPay), the off-ramp, and the cross-chain bridge (Rango, MoonPay Trade) disclosed. Section 3 rewritten from "Stripe, buy-side only" to "KYC/AML is performed by the Fiat Providers" in both directions; MoonPay named as merchant of record performing its own KYC/AML/fraud/sanctions checks in its widget, with the 48-hour cash-out deposit window and refund-to-own-wallet behaviour; non-custodial settlement (USDC on Solana, separate user-signed Warp step to X1) stated. Section 2 adds that cross-chain bridge routes from Rango and MoonPay Trade (Swaps XYZ Ltd, a MoonPay company) are wallet-to-wallet, user-signed, fiat-free, and carry no FortiSwap KYC, with provider-side wallet screening. Section 4, 7, and 8 generalised from Stripe to the Fiat Providers and Bridge Route Providers. Superseded the v1.0 "buy-side only / no off-ramp" statement. OFAC/edge geoblock and non-custodial / no-swap-KYC posture unchanged. |
| 2026-08-22 | 3.1 | Sign-in requirement stated precisely. Sections 2, 3, and 4 now state that Privy sign-in (email one-time passcode, passkey, or Google / X / Discord / GitHub / Telegram) is optional for swaps and the cross-chain bridge but required before an on-ramp or off-ramp session is created, and that it remains authentication only — not KYC, which stays with the Fiat Provider. No renumbering. |
Last updated: 2026-08-22 </content>
