PrizePicks | Daily Fantasy Sports Made Easy
The easiest and fastest way to play Daily Fantasy Sports. Pick more or less on player stats to win up to 1000x your money! Play $5 -> Get $50 Instantly
www.prizepicks.com
Что необходимо:
- пара индусов на ЗП которые будут это делать
- PayPal (1 аккаунт = 1 палка)
- прокси (asocks/любые) под штат фулок
- ~1000$ чтобы разложить по палкам
Желательно делать TX там даёт 50$ за инвайт.
Чтобы экономить время ниже реггер
Python:
from asyncio import run
from uuid import uuid4
from random import choice, randint
from json import loads, dumps, JSONDecodeError
from aiopath import AsyncPath
from aiofiles import open as aopen
from curl_cffi.requests import AsyncSession
FULLZ_PATH = '/path/here'
INITIAL_REF = 'RG-xss.pro'
class PrizePicksFucker:
def __init__(
self, first_name: str, last_name: str, dob: str, email: str,
street: str, city: str, state: str, uzip: str, proxy: str,
invite: str = ''
) -> None:
assert proxy.startswith('socks5://'), 'socks5:// scheme required'
assert len(dob.split('-')) == 3, 'dob yyyy-mm-dd'
assert len(state) == 2, '2 letters state'
user, _ = email.split('@', 1)
email = f'{user}{randint(108, 999)}@gmail.com'
self._api = 'https://api.prizepicks.com'
pwd = str(uuid4()).title()+'aA!'
self._init_dat: dict = {
"user": {
"first_name": first_name.capitalize(),
"last_name": last_name.capitalize(),
"postal_code": f'{uzip}',
"address": street.title(),
"state": state.upper(),
"date_of_birth": dob
}
}
self._user_update: dict = {
"email": email,
"password": pwd,
"password_confirmation": pwd,
"initial_anonymous_id": str(uuid4()),
"referral_partner_id": '',
"device_fingerprint": str(uuid4()),
"invite_code": invite,
"country_code": "US",
"city": city.capitalize()
}
self._h = {
'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7',
'accept-language': 'en-US,en;q=0.9',
'cache-control': 'max-age=0',
'dnt': f'{randint(0, 1)}',
'priority': 'u=0, i',
'sec-ch-ua': '"Google Chrome";v="131", "Chromium";v="131", "Not_A Brand";v="24"',
'sec-ch-ua-arch': '""',
'sec-ch-ua-bitness': '""',
'sec-ch-ua-form-factors': '',
'sec-ch-ua-full-version': '"131.0.6778.241"',
'sec-ch-ua-full-version-list': '"Google Chrome";v="131.0.6778.241", "Chromium";v="131.0.6778.241", "Not_A Brand";v="24.0.0.0"',
'sec-ch-ua-mobile': '?1',
'sec-ch-ua-model': '"Nexus 5"',
'sec-ch-ua-platform': '"Android"',
'sec-ch-ua-platform-version': '"6.0"',
'sec-ch-ua-wow64': '?0',
'sec-fetch-dest': 'document',
'sec-fetch-mode': 'navigate',
'sec-fetch-site': 'same-origin',
'sec-fetch-user': '?1',
'upgrade-insecure-requests': '1',
'user-agent': 'Mozilla/5.0 (Linux; Android 14.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.6778.241 Mobile Safari/537.36'
}
self._p = {
'http': proxy,
'https': proxy
}
async def cookies_collector(self, ses: AsyncSession) -> None:
top_domains = (
'google.com', 'yahoo.com', 'outlook.com', 'bing.com', 'bbc.com', 'pornhub.com' # :)
)
for _ in range(randint(1, len(top_domains))):
await ses.get(choice(top_domains))
async def make_user(self) -> dict:
async with AsyncSession(
impersonate='chrome', headers=self._h, proxies=self._p
) as ses:
self.cookies_collector(ses)
await ses.get('https://www.prizepicks.com/')
await ses.get('https://app.prizepicks.com/login?utm_source=landing&utm_medium=website')
r = await ses.get(f'{self._api}/core/streaks/milestones')
assert r.url != f'{self._api}/invalid_ip', 'IP Banned'
await ses.get('https://app.prizepicks.com/sign-up')
r = await ses.post(f'{self._api}/validate/email', json={
'user': {
'email': self._user_update['email']
}
})
assert r.status_code == 200, 'Error on email validation'
assert r.json()['data'] == 'validations_passed', 'Validation not passed'
r = await ses.post(f'{self._api}/validate/address', json=self._init_dat)
assert r.url != f'{self._api}/invalid_ip', 'IP Banned'
assert r.status_code == 200, 'Error on email validation'
assert r.json()['data'] == 'validations_passed', 'Validation not passed'
self._init_dat['token'] = ""
self._init_dat['user'].update(self._user_update)
r = await ses.post(f'{self._api}/users', json=self._init_dat)
assert r.status_code != 403, 'CF blocked request'
assert r.json().get('referral_code', None), 'No refferal code'
return {
'email': self._user_update['email'],
'password': self._user_update['password'],
'referral_code': r.json()['referral_code'],
'registered_for': self._user_update['invite_code'],
'used_proxy': ses.proxies.get('https', 'WRONG_WITH_PROXY')
}
class MoneyMaker:
def __init__(self) -> None:
self._file_iter = self._path_iter_func()
self._proxy_iter = self._proxy_iter_func()
self.stat: dict = {
INITIAL_REF: 0
}
async def _proxy_iter_func(self) -> None:
async with aopen('proxy.txt', 'r') as lines:
async for line in lines:
site, port, user, pwd = line.strip().split(':', 4)
yield f'{user}:{pwd}@{site}:{port}'
async def _path_iter_func(self) -> None:
async for path in AsyncPath(FULLZ_PATH).rglob('info.json'):
yield path
async def save_valids(self, what: dict) -> None:
async with aopen('created_accs.txt', 'a', encoding='utf-8') as f:
await f.write(dumps(what, indent=4)+'\n\n')
async def pickme(self) -> None:
while True:
ref_code = None
path = await anext(self._file_iter, None)
try:
async with aopen(str(path), 'r', encoding='utf-8') as file:
json_data = loads(await file.read())
except JSONDecodeError:
continue
tmp_rf_code = choice(tuple(self.stat.keys()))
if self.stat[tmp_rf_code] < 4:
self.stat[tmp_rf_code] += 1
ref_code = tmp_rf_code
while True:
proxy = await anext(self._proxy_iter, None)
if not path or not proxy:
print('smth is missed:Proxy:', proxy, 'FULLZ:', path)
break
try:
user = PrizePicksFucker(
first_name=json_data['first-name'],
last_name=json_data['last-name'],
email=json_data['contact-email'],
dob=json_data['registered-ssn'],
street=json_data['registered-street'],
city=json_data['regitered-city'],
state=json_data['registered-state'],
uzip=json_data['registered-zip'],
invite=ref_code,
proxy='socks5://'+proxy
)
except (KeyError, AssertionError):
break
try:
resp = await user.make_user()
await self.save_valids(resp)
self.stat[resp['referral_code']] = 0
break
except AssertionError as e:
self.stat[ref_code] -= 1
if 'banned' in str(e).lower():
continue
else:
break
except Exception as e:
self.stat[ref_code] -= 1
print('[!!!] Ukwn err:', e, 'on', json_data['contact-email'])
break
if __name__ == "__main__":
mm = MoneyMaker()
run(mm.pickme())
Автоматизацию ставок, увы, не все так сладко
Необходимо:
FULLZ_PATH = '/path/here' <- сюда путь где у Вас фулки или переделать кодINITIAL_REF = 'RG-xss.pro' <- сюда инвайт, один аккаунт будет нужно сделать все таки рукамиА в файл
proxy.txt вставить прокси. Посмотрите функцию мб Вам и не нужно их форматироватьСуть:
Initial invite -> reg -> top-up balance on invited account -> bet -> bonus to main
Проще говоря делать вилки да и всё.
Вывод:
1 час -> 2 дня
% бана:
4/10 забанит
750 -> 2000 = out 1260 (55-59%)
Главное не перегибать. Если хорошо сделать то 3k+/day