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.4.0.tar.gz
(12.4 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.4.0.tar.gz.
File metadata
- Download URL: vylth_flow-0.4.0.tar.gz
- Upload date:
- Size: 12.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
45954d7d7012b92cfb698627a5ae9d16e131f8b5337e9936334f6882a86875ae
|
|
| MD5 |
2b1bfa557bdcaff2c6fd79b37544c34e
|
|
| BLAKE2b-256 |
657ac14763ea2ddc9a1d18388380d0fc262931ad58832d9470fe56432c432c96
|
File details
Details for the file vylth_flow-0.4.0-py3-none-any.whl.
File metadata
- Download URL: vylth_flow-0.4.0-py3-none-any.whl
- Upload date:
- Size: 16.3 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 |
2a3046bc6d88a34168660a9f6d85823a26bc2b5826effcb56855963f10a81684
|
|
| MD5 |
e4fd62c150923df0ab9f1cb724191bef
|
|
| BLAKE2b-256 |
7c08708e8d3340653e4d5e773a484125f8300556f094481d728f2cf16fbec80d
|