Hosted ALTCHA, compared with self-hosting

Updated

Bot403 uses the ALTCHA protocol. The question is who runs the server: you, ALTCHA Cloud or Bot403.

Where ALTCHA is better

Self-hosted ALTCHA is free. It is MIT licensed, it has no usage limits, and it shares no data with third parties. ALTCHA has server libraries for more than ten programming languages, a widget in more than 50 languages and a WordPress plugin. Its Sentinel product adds a spam classifier, real-time IP blocking and rate limiters. If one more endpoint on your server is fine for you, self-host ALTCHA and pay nothing.

Where Bot403 is better

The protocol is the same, but Bot403 runs the server. You do not write a challenge endpoint, keep a list of solved challenges or add rate limits. Bot403 does that work and shows failures by reason in a dashboard. You can leave at any time. If you use the ALTCHA widget with Bot403, the widget works with self-hosted ALTCHA after you change its challenge URL. 50,000 checks cost €3 a month, VAT included, and ALTCHA Cloud starts at €47 a month before tax.

Side by side

The facts come from the public pages of ALTCHA (https://altcha.org/pricing/, https://altcha.org/open-source-captcha/, https://altcha.org/docs/integration/server/, https://altcha.org/docs/integration/security-recommendations/, https://github.com/altcha-org/altcha), checked on 2026-10-23. "Not stated" means the page does not say. If something changed, email me. Then I will correct it.

CapabilityBot403ALTCHA
ProtocolALTCHAALTCHA
Pricefree for 5,000 a month, then €3 a month for 50,000, VAT includedself-hosted: free, MIT. ALTCHA Cloud: from €47 a month, plus tax
Server you runnoneyour own challenge endpoint, with an ALTCHA library
Replay protectionbuilt inyou keep a list of solved challenges
Rate limitsbuilt inyou add them
Browser script6 KB, invisiblewidget, 34 kB gzipped. Standard, floating, invisible and other modes
Cookiesnonenone
Where it runsone server in Germanyself-hosted: where you run it. Cloud: the EU
Extra spam filtersnoneSentinel, from €99 a month, self-hosted

Switch in 10 minutes

Keep the ALTCHA widget. Set its challengeurl to https://bot403.com/api/v1/challenge?pk= followed by your public key. Or replace the widget with the 6 KB Bot403 script. On the server, replace the local check with a post to /api/v1/verify. Bot403 accepts the altcha field. The script page and the verify page have the details. To go back, set challengeurl to your own endpoint again.

Get started free