Bench T&C Challenge Validator

Checks that a Terms & Conditions page implements the Myth Finance bench challenge-response handshake correctly.

The handshake

When a bench enforces challenge-response terms, the buyer is sent to your T&C URL with two query parameters added:

?callback=<bench page URL>&tcChallenge=<a>,<b>

a and b are random integers in the range 1 to 226−1. Their product is below 252, so plain JavaScript number multiplication is exact. After the buyer accepts, redirect to:

<callback>?tcResponse=<a × b>

Send the product as a plain decimal integer with no sign, decimal point, or exponent. Only redirect to callback hosts you trust.

Live round trip

Enter your T&C page URL. This page issues a fresh challenge, sends you there with this page as the callback, and grades the response when you come back.

Manual check

Already have a challenge and a response from your own logs? Check them here without a redirect. Paste either the full redirect URL your page produced or just the response value.

Reference T&C page snippet

The minimum a T&C page needs. Wire accept() to your accept button.

const q = new URLSearchParams(location.search);
const callback = q.get("callback");
const m = (q.get("tcChallenge") || "").match(/^(\d{1,20}),(\d{1,20})$/);

function accept() {
  if (!callback || !m) return;
  const answer = BigInt(m[1]) * BigInt(m[2]);   // or Number: a*b is a safe integer
  const url = new URL(callback);
  url.searchParams.set("tcResponse", answer.toString());
  location.assign(url.toString());
}