A fast, fully type-safe library with automatic authentication — token refresh, TLS fingerprinting and User-Agent rotation handled for you. Search, buy, sell and stream the live feed in a few lines of code.
1import asyncio 2from amrkt import MarketClient, InsufficientBalanceError 3 4async def snipe(): 5 # auth + token refresh handled automatically 6 async with MarketClient( 7 api_id=2040, api_hash="7e9f…b1", 8 session_name="trader", impersonate="chrome124", 9 ) as client: 10 bal = await client.get_balance() 11 print(f"Balance: {bal.hard_ton:.2f} TON") 12 13 gifts = await client.search_gifts( 14 collection_names=["Lunar Snake"], 15 ordering="Price", low_to_high=True, count=20, 16 ) 17 cheapest = gifts.items[0] 18 19 try: 20 res = await client.buy_gifts([cheapest.id]) 21 print(f"Bought {res[0].user_gift.name}") 22 except InsufficientBalanceError: 23 print("Not enough TON 💸") 24 25asyncio.run(snipe())
Everything you need to automate the mrkt marketplace — without writing a single line of auth, retry, or anti-bot boilerplate.
Every call is awaitable, built on AsyncIO with a pooled HTTP client for parallel sniping and bulk operations.
Kurigram session login and token refresh happen transparently — zero auth boilerplate, no manual token juggling.
Pydantic v2 models with full hints and py.typed — autocomplete and static checks everywhere.
curl_cffi TLS fingerprint impersonation, browser headers & UA rotation, with HTTP / SOCKS5 proxy support.
One intuitive client surface covering the whole marketplace — from profile and balance to gifts, sales, offers and the live activity feed.
Every response is a Pydantic v2 model with editor autocomplete, validation and convenient nanoTON → TON helper properties.
Two credentials and three lines of code — auth is handled for you on first run.
Catch exactly what you need — every error inherits from MarketError.
Install in seconds, snipe in minutes. Open source under the MIT license.