Codync
A free, open-source 1:1 alternative to Grok Bot and Muse. Message Claude Code, Codex, Cursor and 40+ coding agents as persistent bots from your iPhone, Mac or Linux desktop. Group chats, threads, appr
Abstract API gives developers simple APIs to verify emails, phone numbers and IPs, block fraud and bots, and enrich data. Trusted by 10,000+ developers.
Developer toolsTypeScript · CSSGitHub @abstractapiOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Next.js signup form that checks every new account's email, phone and IP with Abstract API before creating it.
Taken from the repository README
Loading the full README.
Read the full README ↗A Next.js signup form that checks every new account with Abstract before creating it. It sends the email address, phone number and IP address to three Abstract products, then allows, flags or blocks the signup with rules you edit in one file.
The button installs the Abstract API integration. Sign in or create a free Abstract account in its window, pick the products, and your keys are added to the new project as environment variables.
| Product | Env var | Signals the rules use |
|---|---|---|
| Email Intelligence | ABSTRACT_EMAIL_INTELLIGENCE_API_KEY | Disposable address, deliverability, address and domain risk, suspicious username |
| Phone Intelligence | ABSTRACT_PHONE_INTELLIGENCE_API_KEY | Validity, VoIP, disposable number, risk level, abuse |
| IP Intelligence | ABSTRACT_IP_INTELLIGENCE_API_KEY | Tor, VPN, proxy, hosting provider, abuse, country |
The three calls run in parallel from server code, so API keys never reach the browser. A product without a key, or a call that fails, is skipped and the signup still gets a verdict from the others.
npm install
cp .env.example .env.local # then paste your keys
npm run dev
Get your keys in the Abstract dashboard. The integration stores them in Vercel as Secrets, which can't be read back, so copy them from the dashboard into .env.local.
In next dev the form runs in test mode: it shows an IP address field, because your own requests come from localhost, and a button that fills a risky signup.
src/lib/rules.ts decides the verdict. Any block reason blocks the signup, any review reason flags it, and no reason allows it.CHECKS in src/lib/checks.ts. Their form field and their rules go away.src/lib/create-account.ts is a stub. Call your auth provider there (Clerk, Auth.js, Supabase, ...). Signups with a review verdict reach it too, so you can hold them for review or ask for extra verification.src/components/signup-form.tsx and the server action in src/app/actions.ts.If you deploy this as a public demo rather than a signup page, protect your quota:
NEXT_PUBLIC_TURNSTILE_SITE_KEY and TURNSTILE_SECRET_KEY to turn on the Cloudflare Turnstile bot check.ABSTRACT_TEST_MODE=true keeps the IP field and sample button. Never set it on a real signup page: visitors could choose the IP address the check sees.MIT