DEV Weekend Challenge: Passion Edition Submission
This is a submission for the DEV Weekend Challenge: Passion Edition.
๐ฆ What We Built
We built SolInPy, a production-ready, open-source Python SDK designed to completely revolutionize the Developer Experience (DX) on the Solana blockchain.
If you have ever tried building off-chain Web3 applications, trading bots, or data analytics backends using Python, you know the struggle. Dealing with raw byte serialization, low-level Rust bindings, complex Associated Token Account (ATA) derivation, and RPC rate limits is an absolute headache.
SolInPy acts as the ultimate bridge: it abstracts away the intimidating low-level cryptography and blockchain mechanics into clean, Pythonic, and highly intuitive interfaces.
โค๏ธโ๐ฅ The Passion Behind It
Passion isn't just about hobbies or sports; passion is the obsession with craftsmanship and the devotion to building open-source tools that empower others.
The inspiration behind SolInPy came from late-night coding sessions where our team, the Carcarรกs, was struggling to integrate simple automated token transfers into a Python backend. We spent more time fighting cryptic error codes and reading low-level documentation than actually building our application.
Instead of accepting that "Web3 development is just hard," our passion for clean code and developer advocacy took over. We decided to build the exact SDK we wished existed. We poured our love for Python and open-source into creating a tool where developers can import a wallet, connect to real-time on-chain streams, and send tokens without losing their minds.
โจ Key Features Built with Love for DX
We focused 100% of our engineering effort on eliminating developer friction:
- ๐ Native Mnemonic / Seed Phrase Import (BIP39): Instead of generating raw keypairs from scratch every time, developers can now import standard 12-to-24-word seed phrases (from Phantom, Solflare, etc.) directly into Python with native Ed25519 derivation.
- โ๏ธ Frictionless SPL Token Transfers (Auto-ATA): Our
send_token_transfermodule automatically checks, derives, and creates the receiver's Associated Token Account within the exact same transaction. No more failed transfers due to missing token accounts! - โก Asynchronous Real-Time WebSockets (
SolanaWebSocketClient): To avoid triggering HTTP 429 rate limits through endless polling, we implemented an async WebSocket client with auto-reconnect logic to listen to live account balance changes and smart contract execution logs. - ๐ฐ Smart Airdrops & RPC Resilience: Automated retry logic, intelligent error handling, and transaction polling built directly into the core client.
๐ป Code Demo: See the Passion in Action
Here is how clean and effortless Web3 development looks when using SolInPy:
import asyncio
from solinpy.client.client import SolanaRPCClient
from solinpy.client.entities import RPCConfig
from solinpy.client.websocket import SolanaWebSocketClient
from solinpy.wallet.manager import WalletManager
from solinpy.transaction.token import send_token_transfer
# 1. Seamless Wallet Import via BIP39 Seed Phrase
mnemonic = "abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about"
my_wallet = WalletManager.import_from_mnemonic(mnemonic)
print(f"๐ฆ
Wallet loaded: {my_wallet.pubkey()}")
# 2. Resilient RPC Connection
client = SolanaRPCClient(RPCConfig(cluster="devnet"))
# 3. Frictionless SPL Token Transfer (Auto-ATA handled under the hood!)
receiver = "HXyFmHK21YGwu2ZpTUUF2pz5aFuWuFsBCXtJLwBMFzhi"
token_mint = "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v" # e.g., USDC
tx_sig = send_token_transfer(
client=client,
sender_keypair=my_wallet,
receiver_pubkey_str=receiver,
mint_pubkey_str=token_mint,
amount=10.5
)
print(f"๐ Transfer complete! Signature: {tx_sig}")
# 4. Asynchronous Real-Time WebSocket Listening
async def on_balance_change(account_info):
print(f"โก Instant update detected! New data: {account_info}")
async def listen_live():
async with SolanaWebSocketClient(cluster="devnet") as ws_client:
await ws_client.subscribe_account(str(my_wallet.pubkey()), callback=on_balance_change)
await asyncio.Future() # Keep listening indefinitely
๐๏ธ How We Built It & The Carcarรกs Team
SolInPy is built on top of solders and solana-py, leveraging modern Python asyncio for high-performance WebSocket streaming and strict type-hinting for an exceptional IDE IntelliSense experience.
This project is maintained by the Carcarรกs Team โ a group of developers driven by the belief that open-source infrastructure is forever. Hackathons and challenges come and go, but the tools we build out of passion continue to live on and help the global developer community.
๐ Repository & Links
- GitHub Repository: https://github.com/carcaras/solinpy
-
PyPI Package:
pip install solinpy

Top comments (0)