CSRF session cookie
A random nsw cookie for the duration of the browser session. Used only to gate the order-creation API. No identifier inside.
Specifics about the architecture, the data, the flagging policy. If you care whether "no logs" is a slogan or a description, this page is for you.
SwapNoKYC is a PHP 8.2 frontend over a third-party liquidity aggregator. There is no user database. Ephemeral order state lives as flat JSON files on the filesystem, and a minimal admin log records order lifecycle events for operations.
The only persistent store beyond that is a filesystem cache for rate quotes (60-second TTL) and the currency list (5-minute TTL).
Every order is a capability: the order ID plus a token returned by the backend. You hold the URL with those embedded; we hold the matching deposit address plus a timestamp. Nothing else.
No third-party analytics. No fingerprinting. No persistent user-id. The upstream router sees the minimum swap metadata needed to execute — and nothing ever correlates you across sessions.
Every field we touch, listed. No hidden buckets.
A random nsw cookie for the duration of the browser session. Used only to gate the order-creation API. No identifier inside.
Pair, amount, deposit address, payout address, type (float/fixed), created-at timestamp. Purged on settlement (or after 30 days max).
Per-IP rate-limit counters, reset every minute. Never linked to personal data.
Method, path, status, user-agent. Rotated every 24 hours.
Name, email, phone, ID, date of birth, nationality
Any third-party analytics tag (no GA, no Hotjar, no Segment, no Meta Pixel)
Tracking cookies beyond the session CSRF token
Long-term IP logs (rotation < 24h)
Device or browser fingerprints
Any correlating identifier across sessions
Emergency stateThe upstream router screens deposit addresses against sanctions lists and illicit-flow feeds. If an address matches, the order page surfaces emergency actions.
Refund to an address you provide (no questions asked), or accept the current market rate and continue. You choose. There is no third hidden option.
We do not ask for identity documents at this stage. Ever. If both actions are rejected, the deposit is returned to the sender address visible on-chain.
Serves static assets. TLS terminates at Cloudflare; we receive the real client IP via CF-Connecting-IP for rate-limiting only.
Inter and JetBrains Mono. A privacy-preserving mirror of Google Fonts that does not log IPs.
Receives the swap request metadata necessary to execute: pair, amount, destination, optional refund address.
Security reports: [email protected]. See also security.txt and full disclosure policy.