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.1.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.1.tar.gz.
File metadata
- Download URL: vylth_flow-0.3.1.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 |
973cdd90b054e27576c89b27865a821dc986c1a102d8e8b6d4781169763ef91a
|
|
| MD5 |
b79497055fae424ade472dc12bacf61c
|
|
| BLAKE2b-256 |
f641f7893249fd485dff10ebc6390c0f5d79549578a6ff47d66071a8873b63fb
|
File details
Details for the file vylth_flow-0.3.1-py3-none-any.whl.
File metadata
- Download URL: vylth_flow-0.3.1-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 |
08b62a4706cfe242f7c048849ee095f365de26149e39ed6f3ce30126e177b103
|
|
| MD5 |
34643fd568c8d63c59782cf086d6eaca
|
|
| BLAKE2b-256 |
beff9293a07afaf3c8c906f839e9d8c5e6cd28649da296b351f578e66beb4946
|