# Web3 Wallet for GOAT SDK
A Python implementation of a Web3 wallet for the GOAT SDK, providing enhanced Ethereum and EVM-compatible chain support through web3.py integration.
## Installation
```bash
poetry add goat-sdk-wallet-web3
# Required dependency
poetry add goat-sdk-wallet-evm
```
## Usage
```python
from goat_wallets.web3 import web3_wallet
# Initialize wallet with private key
wallet = web3_wallet(
private_key="${WALLET_PRIVATE_KEY}", # Your EVM wallet private key
rpc_url="${RPC_PROVIDER_URL}" # Your EVM RPC endpoint
)
# Get wallet address
address = wallet.get_address()
# Get native token balance
balance = await wallet.get_balance()
# Send transaction
tx_hash = await wallet.send_transaction({
"to": "recipient_address",
"value": "1000000000000000000", # 1 ETH in wei
"data": "0x", # Optional contract data
"gas": 21000, # Optional gas limit
"maxFeePerGas": "50000000000" # Optional max fee per gas (50 gwei)
})
# Call contract method
result = await wallet.call_contract(
contract_address="contract_address",
function_name="balanceOf",
args=["token_holder_address"]
)
```
## Features
- Web3.py Integration:
- Full web3.py functionality
- Enhanced contract interactions
- ABI handling
- Gas estimation
- Transaction Management:
- EIP-1559 support
- Legacy transaction support
- Contract deployment
- Method encoding/decoding
- Smart Contract Features:
- Contract interaction
- Event listening
- Function calling
- State queries
- Network Support:
- Ethereum
- Polygon
- Arbitrum
- Optimism
- Base
- BNB Chain
- All EVM-compatible chains
## License
This project is licensed under the terms of the MIT license.
Raw data
{
"_id": null,
"home_page": "https://ohmygoat.dev/",
"name": "goat-sdk-wallet-web3",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.10",
"maintainer_email": null,
"keywords": "goat, sdk, web3, agents, ai, evm, wallet",
"author": "Andrea Villa",
"author_email": "andreakarimodm@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/e0/10/ef70892109f9aa63881798ff83a144162f7ecfdebb4c07515e57bc7d86e6/goat_sdk_wallet_web3-0.1.3.tar.gz",
"platform": null,
"description": "# Web3 Wallet for GOAT SDK\n\nA Python implementation of a Web3 wallet for the GOAT SDK, providing enhanced Ethereum and EVM-compatible chain support through web3.py integration.\n\n## Installation\n\n```bash\npoetry add goat-sdk-wallet-web3\n\n# Required dependency\npoetry add goat-sdk-wallet-evm\n```\n\n## Usage\n\n```python\nfrom goat_wallets.web3 import web3_wallet\n\n# Initialize wallet with private key\nwallet = web3_wallet(\n private_key=\"${WALLET_PRIVATE_KEY}\", # Your EVM wallet private key\n rpc_url=\"${RPC_PROVIDER_URL}\" # Your EVM RPC endpoint\n)\n\n# Get wallet address\naddress = wallet.get_address()\n\n# Get native token balance\nbalance = await wallet.get_balance()\n\n# Send transaction\ntx_hash = await wallet.send_transaction({\n \"to\": \"recipient_address\",\n \"value\": \"1000000000000000000\", # 1 ETH in wei\n \"data\": \"0x\", # Optional contract data\n \"gas\": 21000, # Optional gas limit\n \"maxFeePerGas\": \"50000000000\" # Optional max fee per gas (50 gwei)\n})\n\n# Call contract method\nresult = await wallet.call_contract(\n contract_address=\"contract_address\",\n function_name=\"balanceOf\",\n args=[\"token_holder_address\"]\n)\n```\n\n## Features\n\n- Web3.py Integration:\n - Full web3.py functionality\n - Enhanced contract interactions\n - ABI handling\n - Gas estimation\n \n- Transaction Management:\n - EIP-1559 support\n - Legacy transaction support\n - Contract deployment\n - Method encoding/decoding\n \n- Smart Contract Features:\n - Contract interaction\n - Event listening\n - Function calling\n - State queries\n \n- Network Support:\n - Ethereum\n - Polygon\n - Arbitrum\n - Optimism\n - Base\n - BNB Chain\n - All EVM-compatible chains\n\n## License\n\nThis project is licensed under the terms of the MIT license.\n",
"bugtrack_url": null,
"license": null,
"summary": "Goat SDK Web3 wallet implementation",
"version": "0.1.3",
"project_urls": {
"Bug Tracker": "https://github.com/goat-sdk/goat/issues",
"Homepage": "https://ohmygoat.dev/",
"Repository": "https://github.com/goat-sdk/goat"
},
"split_keywords": [
"goat",
" sdk",
" web3",
" agents",
" ai",
" evm",
" wallet"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "7bb13f3291572bf7433a5d9d952fd44a638e32f61aed70d9c66d02c77453e7cd",
"md5": "6966bcb9f42b157b3ae11a8b6042b82c",
"sha256": "8f0cdca285ea0125defe17eb70e323a1a20b9df7c02f483136239a0edc182034"
},
"downloads": -1,
"filename": "goat_sdk_wallet_web3-0.1.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "6966bcb9f42b157b3ae11a8b6042b82c",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.10",
"size": 4406,
"upload_time": "2025-02-04T18:25:33",
"upload_time_iso_8601": "2025-02-04T18:25:33.620052Z",
"url": "https://files.pythonhosted.org/packages/7b/b1/3f3291572bf7433a5d9d952fd44a638e32f61aed70d9c66d02c77453e7cd/goat_sdk_wallet_web3-0.1.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "e010ef70892109f9aa63881798ff83a144162f7ecfdebb4c07515e57bc7d86e6",
"md5": "358e046e9ca687ad705c13c10f146f54",
"sha256": "64dbb33efa5a827140303bcd9891b6871d774ae2165183847fe75896a58954a0"
},
"downloads": -1,
"filename": "goat_sdk_wallet_web3-0.1.3.tar.gz",
"has_sig": false,
"md5_digest": "358e046e9ca687ad705c13c10f146f54",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.10",
"size": 4114,
"upload_time": "2025-02-04T18:25:35",
"upload_time_iso_8601": "2025-02-04T18:25:35.519252Z",
"url": "https://files.pythonhosted.org/packages/e0/10/ef70892109f9aa63881798ff83a144162f7ecfdebb4c07515e57bc7d86e6/goat_sdk_wallet_web3-0.1.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-02-04 18:25:35",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "goat-sdk",
"github_project": "goat",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "goat-sdk-wallet-web3"
}