Proof of work,
solved before the captcha.

roblox answers a login with a math problem. compute a^(2^t) mod n against a 309 digit modulus. we grind it on our own machines and hand the answer back in under half a second, over one https call. there is no account to make and no sdk to install.

live request
POST /v1/solve X-Api-Key: pow_•••• { "a": "1039...", "n": "1293...", "t": 400000 } 200 { "result": "6119...", "balance": 9995 }
UPgateway
-solves / sec / 60s
-solves / sec / 10s
-max t

top up

pick a pack, pay with litecoin, get a code. redeem it at /redeem for a new key or to add onto the key you already have.

no expiry

credits

$1
per 100,000 solves
  • 1 credit = 1 successful solve
  • credits never expire
  • failed and rejected solves never charge
  • no rate limit, run it from anywhere
selected
24 hours

unlimited day

$15
per 24 hours, 1 ip
  • unlimited solves for 24 hours
  • one ip at a time
  • expires whether you use it or not
  • $15 of credits = 1,500,000 solves that never expire
select

quantity stacks onto one code. 10 packs is a single code worth 1,000,000 solves.

the code is shown once, right after your payment confirms. save it.

100,000 solves$1.00
quantity1
networklitecoin
total$1.00
instantcode issued the moment your payment confirms
no accountno signup, no email, nothing to log into
stacksany quantity arrives as one single code
no refundscodes are final once issued

what is pow

roblox locks logins behind a math problem. before you even see a captcha, their server answers your login request with a challenge: compute a^(2^t) mod n. n is a 309 digit number. t can go up to 160,000,000.

your client has to grind that out and attach the answer, or the login dies right there. doing it on one cpu core takes seconds per solve. if you are checking accounts, that speed is the whole game.

we solve everything up to our difficulty cap, shown live in the readout above. the normal login challenge sits far below it. the occasional giant (t in the hundreds of millions) is rejected instantly and free, because one of those would pin a core for the better part of a minute -- your client falls back to solving those locally, and pays nothing for them here.

POST /login
<- 403  pow challenge: a=..., n=...(309 digits), t=160000000
        solve a^(2^t) mod n        <- this is the part we do
POST /login  (answer attached)
<- 200
[ captcha comes after this, if it even triggers ]

how it works

no sdk, no wrapper, no client install. one https call from whatever you already run.

buy a top up, redeem the code for a key, put the key in a header, post the challenge fields. you get the answer and your remaining balance in the same response. 1 credit per successful solve. nothing charged on failure or reject.

python:

import requests

r = requests.post(
    "https://proflex.dev/v1/solve",
    headers={"X-Api-Key": "pow_xxxxxxxxxxxxxxxxxxxxxxxx"},
    json={
        "a": "<the a from the 403 challenge>",
        "n": "<the 309 digit n from the challenge>",
        "t": 400000,
    },
    timeout=30,
)
print(r.json())   # {"result": "1234...", "balance": 999999}

luau (from a wrapper with a request function):

local HttpService = game:GetService("HttpService")

local body = HttpService:JSONEncode({
    a = challenge.a,
    n = challenge.n,
    t = challenge.t,
})
local req = request({
    Url = "https://proflex.dev/v1/solve",
    Method = "POST",
    Headers = { ["X-Api-Key"] = KEY, ["Content-Type"] = "application/json" },
    Body = body,
})
local res = HttpService:JSONDecode(req.Body)
print(res.result, res.balance)

api

POST https://proflex.dev/v1/solve
X-Api-Key: pow_xxxxxxxxxxxxxxxxxxxxxxxx
Content-Type: application/json

{"a": "<digit string>", "n": "<digit string>", "t": 400000}

<- 200
{"result": "<the answer>", "balance": 999999}
codemeaningwhat to do
400bad body, or challenge over the difficulty capcheck the fields, do not retry the same one
401bad keycheck the key
402no credits left, or a day key that expiredbuy a top up, redeem it onto the same key at /redeem
503servers busyretry, this is normal under load
504worker timeoutretry with backoff

full docs with more examples (python, javascript, luau): /API.md / ready made python client, drop it straight in: /client.py

faq

how do i buy and start using it

pick a pack at the top of this page, pay the litecoin amount it quotes, and a code appears once the payment confirms. take it to /redeem and either leave the key box empty to get a brand new key, or paste your existing key to add the top up onto it. the key is shown once, so write it down.

how long does the payment take

the code is released after 1 confirmation, usually a couple of minutes on litecoin. the checkout page shows the transaction and counts the confirmation as it lands. leave it open.

do you refund

no. codes are delivered instantly and a code is worth exactly what it says, so once it is issued it is yours whether you redeem it or not. the one thing we do fix is a failed delivery: if you paid and no code came back, bring the order id to discord and you get the code you paid for.

what happens on giant challenges

there is a difficulty cap. challenges over it get rejected instantly and never charge. if your workload actually needs the big ones, ask in discord, the cap can be raised per key.

do failed solves charge

no. a credit is taken only when a solve succeeds and the answer is returned to you. rejects and errors are free.

how fast is it

the math itself finishes in a few ms on our hardware. the 150 to 500ms you see end to end is almost all network, mostly the cloudflare hop in front of the api. customers running on our rdps hit the gateway over lan, skip cloudflare entirely, and get much lower.

are there rate limits

no cap on solves per second. a day key is one ip at a time, so run it from one box. beyond that it is fair usage: sustained abuse that pins the fleet for everyone gets throttled, normal checker traffic never comes close.

can i use it in my own wrapper or checker

yes. it is a plain https api with one endpoint. there are copy paste examples in the docs and a ready made python client you can drop in.

is there a hook or backdoor in the client

no. everything is open source: the docs and the python client are a few readable lines that do one thing, post the challenge and hand back the answer. no request hooking, no reading your accounts, no middleman between you and roblox. open devtools or wireshark and watch every request it sends, there is nothing hidden.

what if cloudflare is in the way

customers running on our rdps can hit the gateway directly over lan and skip cloudflare entirely. ask in discord.