Documentation Index
Fetch the complete documentation index at: https://docs.waffo.ai/llms.txt
Use this file to discover all available pages before exploring further.
Why we verify your domain
Your website is the public face of your product. Before we approve KYB and enable production payments, we need to confirm that the domain you list asProduct website actually belongs to you. Domain verification is a one-time step per store, and the binding stays in place after KYB approval.
You will land on this page from Settings → Business Details → Step 8 (Website URL). The “Submit for review” button stays disabled until the domain on this step is verified.
Verification methods
Pancake offers four ways to verify a domain. Pick whichever your stack already supports — they are equivalent.| Method | Typical setup time | Best for |
|---|---|---|
| Email domain auto-match | Instant | Sites where the support email already lives on the same domain |
| DNS TXT record | 5–30 min (DNS propagation) | Most websites; works on any host |
HTML <meta> tag | 1–2 min (deploy required) | Single-page apps and statically generated sites |
.well-known file | 1–2 min (deploy required) | Anything that can serve a static file |
Pick one method. Once any method succeeds, the others stop being relevant for this domain.
Method 1 — Email domain auto-match (recommended)
If your support email is already verified in Step 7 (Contact Email) and lives on the same domain as your website, Pancake automatically detects this and shows a one-click Verify domain button. Example. Support emailsupport@acme.com (verified) + Product website https://acme.com → auto-match available.
- Click Verify domain.
- Pancake validates the email/domain pair on the server. Verification completes immediately.
team@gmail.com while the site is acme.com), this option is hidden — use one of the manual methods below.
Method 2 — DNS TXT record
The most reliable method. You add a TXT record to the DNS zone for your domain.- In the dashboard, click Use another method → DNS TXT.
- Pancake shows three values:
- Type:
TXT - Host / Name:
_waffo-challenge(the dashboard strips the.your-domain.comsuffix automatically — most providers prepend it for you) - Value: a one-time challenge string starting with
waffo-domain-verify=…
- Type:
- Open your DNS provider’s dashboard and add the record exactly as shown. Leave TTL at the default.
- Wait for propagation. Most providers publish within minutes; some (Cloudflare, Route 53) are nearly instant.
- Back in Pancake, click I’ve added the record. We query the public DNS for the TXT value and complete verification on success.
You can leave the TXT record in place after verification. It does no harm. If you remove it, the existing binding is unaffected — we only re-check at verification time.
Provider-specific notes
| Provider | Where to add TXT records |
|---|---|
| Cloudflare | DNS → Records → Add record |
| GoDaddy | My Products → DNS → Add → TXT |
| Namecheap | Domain List → Manage → Advanced DNS → Add new record |
| Route 53 | Hosted zones → your zone → Create record (Type = TXT) |
| Google Domains | DNS → Custom records |
_waffo-challenge.your-domain.com instead of just _waffo-challenge.
Method 3 — HTML <meta> tag
Useful when you can’t change DNS but you can deploy site code.
- In the dashboard, click Use another method → HTML meta tag.
- Pancake shows the snippet:
- Add it to the
<head>of your site’s homepage (https://your-domain.com/). - Deploy. Verify the tag is present in the rendered HTML — view-source must include it; tags injected only after JS execution can fail if our crawler hits before hydration. If you’re on a fully client-rendered SPA, prefer Method 2 or 4.
- Back in Pancake, click I’ve added the tag.
Method 4 — .well-known file
Drop a static file under a fixed path. Works on any host that serves static assets.
- In the dashboard, click Use another method → .well-known file.
- Pancake shows:
- File URL:
https://your-domain.com/.well-known/waffo-challenge.txt - File contents: a single line starting with
waffo-domain-verify=…
- File URL:
- Create the file at exactly that path. Make sure the response is
200 OK,Content-Type: text/plain(or any text-like type), and the body is the challenge value with no extra whitespace. - Confirm in a browser that the URL returns the expected content.
- Back in Pancake, click I’ve uploaded the file.
Common mistake: deploying the file at
/.well-known/waffo-challenge (no extension) or returning a 301 redirect to www.your-domain.com. Both fail. Use the exact URL Pancake shows, served from the apex / canonical host you typed into the website field.Troubleshooting
”Could not find the record / tag / file”
Recheck the value. The challenge is generated per attempt; if you hit Refresh in Pancake, the previous value is invalidated. Make sure you copied the latest one.TXT record exists but verification still fails
DNS caches. Trydig TXT _waffo-challenge.your-domain.com (Linux/macOS) or nslookup -type=TXT _waffo-challenge.your-domain.com (Windows). If the value isn’t visible there yet, wait 5–10 minutes and retry.
The challenge expired
Each challenge has a short lifetime (the dashboard shows the exact time under the action button). If it expired, click Refresh in Pancake to issue a new one, then update your DNS / meta tag / file with the new value.I want to change my product website later
Before KYB approval, you can revoke the current domain binding from Step 8 (Website URL) and re-verify a new one. After KYB approval the domain is locked — contact support to change it.Programmatic / API access
If you’re verifying domains as part of an automated onboarding flow, the underlying endpoints are:| Endpoint | Purpose |
|---|---|
POST /v1/actions/verification/start-domain-verification | Issues a challenge for one of the four methods |
POST /v1/actions/verification/confirm-domain-verification | Asks the server to check the record / tag / file |
X-Environment header.