Skip to main content

Official Python SDK for Monei API - AI agent for finance, Financial services, wallets, and crypto exchange

Project description

Monei Python SDK

The official Python SDK for Monei API - providing seamless integration with Monei's comprehensive financial services including wallets, crypto transactions, bill payments, and AI agent.

Installation

pip install monei

Quick Start

import asyncio
import os
from monei import MoneiClient

async def main():
    # Initialize client with API key
    client = MoneiClient(api_key=os.getenv('MONEI_API_KEY'))
    
    try:
        # Get user info
        user = await client.user.get_me()
        print(f"Welcome {user.firstName} {user.lastName}!")
        
        # Get wallet balance
        wallet = await client.wallet.get_wallet()
        print(f"Naira Balance: ₦{wallet.nairaBalance:,.2f}")
        
    finally:
        await client.close()

asyncio.run(main())

Features

  • User Management - Profile, KYC verification
  • Wallet Operations - Balance, funding, withdrawals, peer transfers
  • EVM Wallets - Ethereum, BSC, Polygon support
  • Solana Wallets - SOL and SPL token management
  • Bill Payments - Airtime, data, electricity, cable TV
  • Crypto Exchange - Token swaps on EVM and Solana
  • AI Agent - Conversational banking assistant
  • Beneficiary Management - Bank, crypto, and peer beneficiaries

Basic Usage Examples

1. Wallet Operations

from monei import MoneiClient
from monei.models.wallet import PeerTransferDto

async def wallet_operations():
    async with MoneiClient(api_key="your-api-key") as client:
        # Fund wallet
        fund_result = await client.wallet.fund_wallet(5000.0)
        print(f"Funding link: {fund_result.link}")
        
        # Peer transfer
        transfer = PeerTransferDto(
            receiver="user@example.com",
            amount=1000.0,
            transactionPin="1234"
        )
        result = await client.wallet.peer_transfer(transfer)
        print("Transfer successful!")

2. Crypto Operations

from monei.models.evm import SendNativeTokenDto

async def crypto_operations():
    async with MoneiClient(api_key="your-api-key") as client:
        # Get EVM portfolio
        portfolio = await client.evm.get_portfolio(chain_id=56)  # BSC
        print(f"Portfolio value: ${portfolio.totalPortfolioValueUSD}")
        
        # Send crypto
        transfer = SendNativeTokenDto(
            to="0x742d35Cc6634C0532925a3b844Bc454e4438f44e",
            amount="0.01",
            chainId=1  # Ethereum
        )
        result = await client.evm.send_native_token(transfer)
        print(f"Transaction hash: {result.txHash}")

3. Bill Payments

from monei.models.bills import AirtimePurchaseDto

async def bill_payments():
    async with MoneiClient(api_key="your-api-key") as client:
        # Buy airtime
        airtime = AirtimePurchaseDto(
            phoneNumber="08012345678",
            biller="MTN",
            amount=500.0
        )
        result = await client.bills.buy_airtime(airtime)
        print(f"Airtime purchase successful! Reference: {result.reference}")

4. AI Agent

from monei.models.agent import AgentChatRequestDto

async def ai_agent():
    async with MoneiClient(api_key="your-api-key") as client:
        # Chat with AI agent
        chat_request = AgentChatRequestDto(
            message="What's my current account balance?",
            conversationId="conv_123"
        )
        response = await client.agent.chat(chat_request)
        print(f"Agent: {response.response}")

Authentication

Get your API key from the Monei Dashboard.

# Use environment variable (recommended)
client = MoneiClient(api_key=os.getenv('MONEI_API_KEY'))

# Or pass directly
client = MoneiClient(api_key="your-api-key-here")

Error Handling

from monei import MoneiAPIError, AuthenticationError

try:
    async with MoneiClient(api_key="invalid-key") as client:
        await client.user.get_me()
except AuthenticationError as e:
    print(f"Authentication failed: {e}")
except MoneiAPIError as e:
    print(f"API error: {e}")

Getting Help

License

MIT License - see LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

monei_sdk-0.1.0.tar.gz (18.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

monei_sdk-0.1.0-py3-none-any.whl (19.9 kB view details)

Uploaded Python 3

File details

Details for the file monei_sdk-0.1.0.tar.gz.

File metadata

  • Download URL: monei_sdk-0.1.0.tar.gz
  • Upload date:
  • Size: 18.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.3

File hashes

Hashes for monei_sdk-0.1.0.tar.gz
Algorithm Hash digest
SHA256 0f699e14bcc6370cfb75f39ade44c1c86dee4d3f27b17260ca7ab2b4ecae61d4
MD5 9a2692f1c7a9e7455358da4c1ee47b21
BLAKE2b-256 e301d395a4890c935fa136db7e9136c58a7a0f14bf8c584e8975d4d8ef89e590

See more details on using hashes here.

File details

Details for the file monei_sdk-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: monei_sdk-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 19.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.3

File hashes

Hashes for monei_sdk-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 83d72e7572bef3f5c99d3731b58ffd323edbd9a68653eb1d4288ea807dd42bdd
MD5 6ffdb2f5827d00b782f6ae477209a6ad
BLAKE2b-256 3c82d4ae6ce4f66b0c3aecef95ef4debc50910fb7935fb4f82b8f16d677ee082

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page