Official Python SDK for Vylth Flow — self-custody crypto payment processing
Project description
vylth-flow
Official Python SDK for Vylth Flow — self-custody crypto payment processing.
Install
pip install vylth-flow
Quick Start
from vylth_flow import Flow
flow = Flow(api_key="vf_live_...", webhook_secret="whsec_...")
# Create a payment invoice
invoice = flow.invoices.create(
amount=100.00,
currency="USDT",
network="tron",
description="Premium Plan",
customer_email="buyer@example.com",
)
print(f"Pay to: {invoice.wallet_address}")
print(f"Status: {invoice.status}")
# Request a payout
payout = flow.payouts.create(
amount=50.00,
currency="USDT",
network="tron",
destination="TXyz...recipientAddress",
)
print(f"Payout ID: {payout.id}")
Async Support
from vylth_flow import AsyncFlow
async with AsyncFlow(api_key="vf_live_...") as flow:
invoice = await flow.invoices.create(
amount=100, currency="USDT", network="ethereum",
)
Resources
Invoices
# Create
invoice = flow.invoices.create(amount=100, currency="USDT", network="tron")
# Get by ID
invoice = flow.invoices.get("inv_abc123")
# List with filters
result = flow.invoices.list(status="paid", page=1, limit=20)
for inv in result.items:
print(inv.id, inv.amount, inv.status)
# Cancel
flow.invoices.cancel("inv_abc123")
Payouts
# Single payout
payout = flow.payouts.create(
amount=50, currency="USDT", network="tron",
destination="TXyz...addr",
)
# Batch payout
payouts = flow.payouts.create_batch([
{"amount": 50, "currency": "USDT", "network": "tron", "destination_address": "TXyz..."},
{"amount": 25, "currency": "USDT", "network": "tron", "destination_address": "TAbc..."},
])
# Check status
payout = flow.payouts.get("pout_abc123")
Wallets
# Generate a new deposit wallet
wallet = flow.wallets.generate(network="ethereum", currency="USDT")
print(wallet.address)
# List wallets
result = flow.wallets.list(network="tron")
# Check balance
wallet = flow.wallets.balance("wal_abc123")
Swaps
# Get a quote
quote = flow.swaps.quote("BTC", "USDT", amount=0.01)
print(f"Rate: {quote.rate}, You get: {quote.to_amount} USDT")
# Execute swap
swap = flow.swaps.create("BTC", "USDT", amount=0.01)
Webhooks
from vylth_flow import Flow, InvalidSignatureError
flow = Flow(api_key="vf_live_...", webhook_secret="whsec_...")
# In your webhook handler:
def handle_webhook(request):
payload = request.body
signature = request.headers["X-Flow-Signature"]
try:
event = flow.webhooks.verify(payload, signature)
except InvalidSignatureError:
return {"error": "Invalid signature"}, 400
if event.type == "invoice.paid":
invoice_id = event.data["id"]
print(f"Invoice {invoice_id} paid!")
return {"status": "ok"}
Error Handling
from vylth_flow import Flow, FlowError, AuthenticationError, RateLimitError
flow = Flow(api_key="vf_live_...")
try:
invoice = flow.invoices.create(amount=100, currency="USDT", network="tron")
except AuthenticationError:
print("Bad API key")
except RateLimitError as e:
print(f"Rate limited, retry after {e.retry_after}s")
except FlowError as e:
print(f"Error: {e.message} (code={e.code}, status={e.status})")
Configuration
flow = Flow(
api_key="vf_live_...",
webhook_secret="whsec_...", # For webhook verification
base_url="https://flow.vylth.com/api/flow", # Default
timeout=30.0, # Request timeout in seconds
)
Supported Networks
Bitcoin, Ethereum, Tron, BNB Chain, Solana, Ripple, Polygon, Avalanche, Dogecoin, Litecoin, TON, and more.
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
vylth_flow-0.3.0.tar.gz
(11.8 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file vylth_flow-0.3.0.tar.gz.
File metadata
- Download URL: vylth_flow-0.3.0.tar.gz
- Upload date:
- Size: 11.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
402a05540c8a16184d2569d928e92d94c00620c333b4ffe8e5ef2a077bf678b3
|
|
| MD5 |
ca4d1818aaf8174c75d0b718165a3a16
|
|
| BLAKE2b-256 |
ee001a908bc42c3e196dab0a1e85f0152c3baedeb1aa2682253ec81cba90e63e
|
File details
Details for the file vylth_flow-0.3.0-py3-none-any.whl.
File metadata
- Download URL: vylth_flow-0.3.0-py3-none-any.whl
- Upload date:
- Size: 15.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cf06ed7c706cbb10f989516cfe2799f64857138465ee2ad09e703f72dc64936f
|
|
| MD5 |
d7b42b014236b0db5fc239a716458028
|
|
| BLAKE2b-256 |
d4d4983b78c595dea39a62bf5b9ffddbd463387e1581202f1c2ba70a8519a684
|