Entry Check Live
For fantasy and contest operators

Right state. Right age. No VPN.

Your server makes one API call at signup, login, deposit, and contest entry. Entry Check screens the connection for VPNs and proxies, checks the state against your list, and checks age and address at signup. It answers allow or deny, with the reason. Live in an afternoon.

VPN and proxy screen State rules you control 18+ and address match IPv4 and IPv6 Flat monthly, or own it
appentlygaming.com/entry-check/portal
The Entry Check customer dashboard: API key, endpoint, and state switches

Every customer gets a dashboard. Issue a key, switch license states on, read the docs. No tickets, no waiting.

Built for
Daily fantasy operators
Season-long fantasy
Pick'em and contest sites
Sweepstakes promotions
How it works

Three gates, in order.

A check stops at the first gate that fails. Every deny carries a plain-English reason, so your support team can see what happened without asking us.

01

VPN screen

The connecting IP is matched against thousands of VPN and proxy ranges. A hit stops the check right there.

  • Tables refreshed every night
  • IPv4 and IPv6, both covered
  • Hit: deny, nothing else runs
Runs on every call
02

State rules

The IP resolves to a state, and the state is checked against your list. Open states pass. License states pass only once you switch them on.

  • Fifty states plus D.C. mapped
  • Contested and closed states locked
  • Outside the U.S.: deny
Runs on every call
03

Player screen

Runs at signup, after the state passes. It checks age and address state, and runs a format check on the last four of the SSN, which is then dropped.

  • 18 or older
  • Address state allowed and matches the IP
  • Last four never stored, never returned
Full check only
Fails closed.

If a VPN table is missing or the state lookup does not answer, the check denies rather than guesses.

Sample deny reasons

What your support team sees in the log

Player screen, agePlayer is under 18.
Player screen, addressAddress state does not match the IP state.
State rules, locked stateTexas is contested. Locked off.
State rules, license state offNew Jersey needs a fantasy license. Not turned on.
What you get

Built for the door, not the demo.

The details that matter once real players show up.

BehaviorFails closed

No table, no lookup, no answer: the check denies. It never guesses in a player's favor.

ModesLocation-only mode

At login and contest entry, send just the IP. The VPN and state gates run, the player screen does not.

CoverageIPv4 and IPv6

Phones on cellular are mostly IPv6. Both are looked up, and both are on the VPN tables.

DataNightly VPN refresh

Thousands of VPN and proxy ranges, pulled every night. Commercial proxy data on the Plus plan.

RulesFive-bucket state list

Open, license, gray, contested, closed. You hold the switches for license states. We keep the map current.

SecurityKeys shown once

Stored as fingerprints, never in the clear. Issue a new key any time from your dashboard, and the old one stops working at once.

SupportReasons for your logs

Every deny says which gate stopped the player, in plain English. Your support team reads it, not a code table.

HostingHosted, or on your server

We run it, or you do. Same code, same portal, same nightly refresh.

IntegrationDrop-in clients

PHP and Node clients with the fifteen-minute allow cache and fail-closed behavior already built in.

Your state list

Five buckets. You hold the switches.

Every state and D.C. sits in one of five buckets for traditional paid fantasy. Switching a license state on is one checkbox on your dashboard. The API reads your saved list, never a list sent by the player.

Open

On by default

No fantasy license required. Players from these states pass the state gate from day one.

Needs a license

Off until you switch it on

Registration or licensing required. Switch it on once your paperwork is in hand.

Gray

Off until checked

Rules are unclear or changing. Off by default, and we keep watching them.

Contested

Locked off

The legal status of paid fantasy is in dispute. Cannot be switched on.

Closed

Locked off

Paid fantasy is not allowed. Cannot be switched on.

Entry Check applies the list. Deciding when a license state is ready to switch on is your call, and the portal asks you to confirm with counsel first.

Customer portal

Your portal, not a ticket queue.

Sign in, and your account is in front of you. Issue or replace your API key, switch license states on as your registrations land, and read the docs with your details filled in. Appently sees the same screen when you need a hand.

  • Keys issued on the spot, shown once, replaceable any time
  • License states switched on by you, the moment you are cleared
  • Docs, sample players, and drop-in clients, one click away
  • State map maintained by Appently as rules change
Where it plugs in

Four calls. Server side.

Call Entry Check from your backend at the four moments that matter. Full check at signup, location-only after that. Cache an allow for about fifteen minutes per player and IP, and you are done.

01Signup

Stop a bad account before it exists.

Full check
02Login

Catch a player who moved, or turned on a VPN.

Location only
03Deposit

Money never lands from a locked state.

Location only
04Contest entry

Check location again right before a player joins a contest.

Location only
Four rules for your developer
  • Call from your server, never from the browser. The key stays out of your app and your pages.
  • Send the player's connecting IP. Behind Cloudflare, that is the CF-Connecting-IP header.
  • Log a deny with the reason and the time. Do not log a location trail.
  • Never log the last four. Entry Check does not store it either.
The API

One endpoint. One answer.

A bearer key, a JSON body, a JSON answer. Your developer will have it wired in an afternoon.

RequestFull check, at signup
# POST from your server.
# At login and entry, send only ip and "mode":"location".
curl -s https://appentlygaming.com/entry-check/api/ \
  -H "Authorization: Bearer <your key>" \
  -H "Content-Type: application/json" \
  -d '{
    "ip":    "152.2.10.1",
    "name":  "Jordan Hale",
    "dob":   "1992-04-02",
    "state": "NC",
    "last4": "4242"
  }'
RequestLocation only, at login and entry
{ "ip": "152.2.10.1", "mode": "location" }

# Answer: VPN and state gates run, identity is "skip"
{ "decision": "allow", "mode": "location",
  "ip": "152.2.10.1", "vpn": "clear", "state": "NC",
  "identity": "skip", "reasons": [] }
AllowThe request as shown
{
  "decision": "allow",
  "mode":     "full",
  "ip":       "152.2.10.1",
  "vpn":      "clear",
  "state":    "NC",
  "identity": "pass",
  "reasons":  []
}
DenySame call, address state "TX"
{
  "decision": "deny",
  "mode":     "full",
  "ip":       "152.2.10.1",
  "vpn":      "clear",
  "state":    "NC",
  "identity": "fail",
  "reasons":  ["Texas is contested. Locked off."]
}
200Allow or deny, with reasons
401Bad key
400Bad body
405Anything but POST

Full docs, sample players for every deny reason, and the drop-in clients are in the portal.

Pricing

Flat monthly, or own it outright.

No per-check fees. No monthly minimum that swallows a small operator's budget. Pay a flat monthly rate, or buy the license once and run it on your own server with nothing due after.

Install

One-time, on the monthly plans

$2,500
One-time
  • Hosted by Appently, or installed on your server
  • State list set to your licenses before go-live
  • Your portal login and first key
  • Four call points wired with your developer
  • Nightly VPN table refresh scheduled
  • Test pass with your sample players
Start install

Standard

For one brand in open states

$349
Per month
  • Up to 100,000 checks a month
  • VPN tables refreshed nightly
  • Licensed state lookup included
  • State list watched and updated as rules change
  • Customer portal and dashboard
  • Email support, next business day
Get started
Recommended

Plus

For operators taking deposits

$749
Per month
  • Up to 250,000 checks a month
  • Everything in Standard
  • Commercial VPN and proxy data, which catches paid and residential proxies the public tables miss
  • Deny log export for your compliance file
  • Priority support, same day
  • State-rule review call each quarter
Get started

One-time license

Own it. Nothing monthly.

$12,000
One-time, install included
  • Install included. No monthly fee, ever
  • Perpetual license for one operator brand
  • Full source, runs on your server
  • Nightly VPN table refresh set up on your cron
  • Bring your own state lookup key, about $15 a month direct
  • State list current at go-live. Ongoing updates optional, $1,200 a year
Buy the license

Higher volumes and additional brands are quoted. On the monthly plans, pay annually and get twelve months for the price of ten. Prices in U.S. dollars.

Tell us your states and your stack.

You will have a portal login and a test key this week. Send a note, or book a call and we will walk through your states, your stack, and your timeline together.