Skip to content

Add CAPTCHA feature docs - #759

Merged
justinformentin merged 3 commits into
mainfrom
docs/captcha-feature
Aug 17, 2026
Merged

Add CAPTCHA feature docs#759
justinformentin merged 3 commits into
mainfrom
docs/captcha-feature

Conversation

@justinformentin

@justinformentin justinformentin commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds a new documentation page for Turnkey's CAPTCHA protection feature (powered by Cloudflare Turnstile).

New page

features/authentication/captcha.mdx — covers:

  • What CAPTCHA is and why Turnkey uses it (bot/abuse protection via Cloudflare Turnstile)
  • How to enable it: toggle in the Turnkey Dashboard under organization Settings
  • How it works once enabled: @turnkey/react-wallet-kit automatically renders the Turnstile widget and enforces CAPTCHA on all auth flows — no extra integration code required
  • Table of all protected auth methods (email OTP, SMS OTP, passkey, OAuth, wallet auth)

Navigation

Added features/authentication/captcha to docs.json under the Authentication section (Documentation tab → Features → Authentication), positioned after the Sessions page.

Notes

  • CAPTCHA is enabled via the Dashboard only — no API or SDK config needed by integrators
  • The react-wallet-kit handles the Turnstile widget rendering automatically
  • Action required: add the dashboard screenshot at /images/authentication/img/captcha-dashboard-toggle.png

@mintlify

mintlify Bot commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated (UTC)
turnkey-docs 🟢 Ready View Preview Aug 6, 2026, 4:45 PM

💡 Tip: Enable Workflows to automatically generate PRs for you.

@ethankonk ethankonk left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looking good!

Comment thread solutions/embedded-wallets/integration-guide/react/captcha.mdx
Comment thread snippets/shared/captcha-core-basics.mdx
Comment thread solutions/embedded-wallets/integration-guide/typescript/captcha.mdx
Comment thread snippets/shared/captcha-core-tokens.mdx Outdated
Comment on lines +115 to +117
<Warning>
`signUpWithWallet` exposes a `captchaToken` parameter but does not forward it, so the request will be rejected when captcha is enabled. Use `loginOrSignupWithWallet` for wallet signup flows.
</Warning>

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

uhhh this might be a bug in the SDK 😅 , we should prob fix that and remove this warning

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should still address this before open beta


React Native and Expo apps render the widget and attach tokens themselves. `@turnkey/react-native-wallet-kit` does not render Turnstile for you, but its `useTurnkey()` methods forward their params straight to `@turnkey/core`, so you pass `captchaToken` to them exactly as the examples below pass it to a core client.

<CaptchaCoreBasics />

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Re-using the core version warning works well but we should also include the minimum version @turnkey/react-native-wallet-kit should be at.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There isn't a minimum version for react-native-wallet-kit. Since there are no captcha features within the RN kit, you must use core to build the UI yourself.

core is 2.4.0 and is react-wallet-kit is 2.3.0 minimum.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The UI might not be there but every @turnkey/react-native-wallet-kit version depends on a specific @turnkey/core version, not sure if you (as a user) can modify it but I feel it's prob safer to just use the RWNK version that ships with the correct core version.

Comment thread features/authentication/captcha.mdx Outdated

@ethankonk ethankonk left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One more comment, also responded to some of the unresolved ones above!

Comment thread features/authentication/captcha.mdx Outdated
Comment thread snippets/shared/captcha-core-tokens.mdx Outdated
Comment on lines +115 to +117
<Warning>
`signUpWithWallet` exposes a `captchaToken` parameter but does not forward it, so the request will be rejected when captcha is enabled. Use `loginOrSignupWithWallet` for wallet signup flows.
</Warning>

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should still address this before open beta

@justinformentin
justinformentin merged commit 6a92416 into main Aug 17, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants