logicsrc/.env.example
Anthony Ettinger 93af4770ac
Charge AI training crawlers for access (x402 gateway) (#141)
* Charge AI training crawlers for access (@profullstack/x402-gateway)

Training crawlers (GPTBot, ClaudeBot, CCBot, meta-externalagent, Bytespider,
Applebot-Extended) get 402 Payment Required with an x402 offer, or the sales
page at /crawl, and a paid pass opens the site for a day. People, search
engines and retrieval crawlers pass through untouched. robots.txt is now
generated from the same lists.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YafYxayh7Gqe5MWNNQMev2

* Type the middleware as returning Response | NextResponse

The crawl gateway answers with a plain Fetch Response.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YafYxayh7Gqe5MWNNQMev2

* Contract test awaits the now-async proxy

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YafYxayh7Gqe5MWNNQMev2

---------

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-05 14:49:39 -07:00

44 lines
1.4 KiB
Text

# Canonical public site URL (used for CoinPay redirect/webhook URLs and secure cookies)
PUBLIC_URL=https://logicsrc.com
COMMANDBOARD_API_URL=http://localhost:4010
COMMANDBOARD_TOKEN=
COMMANDBOARD_DID=
COMMANDBOARD_AGENT_KEY=
LOGICSRC_SCHEMA_VERSION=0.1
COINPAY_API_URL=
COINPAY_API_KEY=
COINPAY_MERCHANT_ID=
COINPAY_BUSINESS_ID=
COINPAY_ELIGIBILITY_MERCHANT_ID=
COINPAY_ELIGIBILITY_API_KEY=
COINPAY_HIRE_US_BLOCKCHAIN=USDC_POL
COINPAY_WEBHOOK_SECRET=
COINPAY_OAUTH_ISSUER=https://coinpayportal.com
COINPAY_OAUTH_CLIENT_ID=
COINPAY_OAUTH_CLIENT_SECRET=
COINPAY_OAUTH_REDIRECT_URI=https://logicsrc.com/api/oauth/coinpay/callback
COINPAY_OAUTH_SCOPES=openid profile email
LOGICSRC_SESSION_SECRET=
UGIG_API_URL=
UGIG_API_KEY=
UGIG_WEBHOOK_SECRET=
SH1PT_API_URL=
SH1PT_API_KEY=
SH1PT_WEBHOOK_SECRET=
# Shared secret for the blog-post ingestion webhook (no admin user; the
# webhook authenticates callers by this secret instead). Generate with:
# openssl rand -hex 32
BLOG_WEBHOOK_SECRET=
# Team credential sharing lives in its own app — see apps/pwa/.env.example
# (Express + libSQL/Turso; auth + end-to-end-encrypted team vaults).
# Crawl gateway (@profullstack/x402-gateway): AI training crawlers pay $1/day over
# x402. A SCOPED CoinPay key (payments:create) and the EVM address that receives
# the USDC. Unset = crawlers still get 402, nothing sold.
COINPAY_X402_KEY=
CRAWL_PAY_TO=