PWRPY is a Python library for interacting with the PWR network. It provides an easy interface for wallet management and sending transactions on PWR.
# latest official release (main branch)
pip3 install pwrpy
Play with Code Examples 🎮
Import the library:
from pwrpy.pwrsdk import PWRPY
from pwrpy.pwrwallet import Wallet
Set your RPC node:
pwr = PWRPY("https://pwrrpc.pwrlabs.io/")
Generate a new random wallet:
wallet = Wallet.new_random(12)
Import wallet by Seed Phrase:
seed_phrase = "your seed phrase here"
wallet = Wallet.new(seed_phrase)
Get wallet address:
address = wallet.get_address()
Get wallet seed phrase:
seed_phrase = wallet.get_seed_phrase()
Get wallet balance:
balance = wallet.get_balance()
Get private key:
pk = wallet.get_private_key()
Transfer PWR tokens:
response = wallet.transfer_pwr("recipientAddress", "amount", "fee_per_byte")
Sending a transcation to the PWR Chain returns a Response object, which specified if the transaction was a success, and returns relevant data. If the transaction was a success, you can retrieive the transaction hash, if it failed, you can fetch the error.
from pwrpy.pwrwallet import Wallet
seed_phrase = "your seed phrase here"
wallet = Wallet.new(seed_phrase)
amount = 1000
fee_per_byte = wallet.get_rpc().get_fee_per_byte()
response = wallet.transfer_pwr("recipientAddress", amount, fee_per_byte)
if response.success:
print("Transfer:", response.__dict__)
else:
print("FAILED!")
Send data to a VIDA:
from pwrpy.pwrwallet import Wallet
seed_phrase = "your seed phrase here"
wallet = Wallet.new(seed_phrase)
vida_id = 123
data = "Hello World!"
fee_per_byte = wallet.get_rpc().get_fee_per_byte()
response = wallet.send_vida_data(vida_id, data.encode(), fee_per_byte)
if response.success:
print("SendVidaData:", response.__dict__)
else:
print("FAILED!")
Get RPC Node Url:
Returns currently set RPC node URL.
url = pwr.get_rpc_node_url()
**Get Fee Per Byte: **
Gets the latest fee-per-byte rate.
fee = pwr.get_fee_per_byte()
Get Balance Of Address:
Gets the balance of a specific address.
balance = pwr.get_balance_of_address('0x...')
Get Nonce Of Address:
Gets the nonce/transaction count of a specific address.
nonce = pwr.get_nonce_of_address('0x...')
Get VIDA Data:
start_block = 843500
end_block = 843750
vida_id = 123
transactions = pwr.get_vida_data_transactions(start_block, end_block, vida_id)
for txs in transactions:
print("Data:", txs.data)
If you consider to contribute to this project please read CONTRIBUTING.md first.
You can also join our dedicated channel for pwrpy on the PWR Chain Discord
Copyright (c) 2025 PWR Labs
Licensed under the MIT license.