# ALTCHA / mCaptcha

A CAPTCHA you host. ALTCHA is MIT proof-of-work; mCaptcha is AGPL-3.0 — Google reCAPTCHA without the third-party widget.

**Replaces:** Google reCAPTCHA

**Tier:** Easy

## Problem

Google reCAPTCHA is a third-party bot widget (and a privacy review). You wanted a challenge on a box you run. ALTCHA is MIT (altcha-org/altcha) — proof-of-work, self-hosted. mCaptcha is AGPL-3.0 (mCaptcha/mCaptcha) if you want that PoW backend. This is not every reCAPTCHA Enterprise score, or Cloudflare Turnstile (not open source). Login still stays on /replace/clerk.

## Stack

- [ALTCHA](https://altcha.org) — MIT self-hosted proof-of-work CAPTCHA
- [mCaptcha](https://github.com/mCaptcha/mCaptcha) — AGPL-3.0 proof-of-work CAPTCHA backend if you want that stack

## Estimated SaaS cost saved

| You stop paying | Typical / year | Self-host instead |
|---|---:|---|
| Google reCAPTCHA (site) | $1,200 | ALTCHA or mCaptcha |

**About $1,200 / year** on a small team, before you count lock-in.

## Deploy on Railway

Placeholder: ALTCHA ships as a widget plus optional server checks; mCaptcha is a self-hosted backend. Bind HTTP to 0.0.0.0:$PORT. No one-click template in this repo yet — Start on Railway. Auth stays on /stacks/auth-without-the-bill.

[Start on Railway](https://c17.io/go/railway/altcha-captcha?from=%2Fstacks%2Faltcha-captcha.md)

[SuperTokens / PocketBase if this is login, not a bot widget](https://c17.io/stacks/auth-without-the-bill)

## AGENT_PROMPT

```
Replace Google reCAPTCHA with ALTCHA (preferred) or mCaptcha.

- Drop the reCAPTCHA script. Put ALTCHA on the form that currently loads Google. Self-host mCaptcha if you want that AGPL backend.
- Confirm one form submit. Do not claim reCAPTCHA Enterprise scores. Write AGENT_PROMPT.md.
```

## FAQ

### ALTCHA or mCaptcha?

ALTCHA if you want the MIT widget. mCaptcha if you want an AGPL PoW backend. Pick one.

### Why not Turnstile?

Cloudflare Turnstile is not open source. This site skips it.

### Is this login?

No. Login is /replace/clerk. This page is the bot widget on a form.

Source: https://c17.io/stacks/altcha-captcha
