@vylth/flow
v0.4.2
Published
Official TypeScript SDK for Vylth Flow — self-custody crypto payment processing
Maintainers
Readme
@vylth/flow
Official TypeScript SDK for Vylth Flow — self-custody crypto payment processing.
Install
npm install @vylth/flowQuick Start
import { Flow } from "@vylth/flow";
const flow = new Flow({ apiKey: "vf_live_..." });
// Create a payment invoice
const invoice = await flow.invoices.create({
amount: 100,
currency: "USDT",
network: "tron",
description: "Premium Plan",
});
console.log(`Pay to: ${invoice.wallet_address}`);
// Request a payout
const payout = await flow.payouts.create({
amount: 50,
currency: "USDT",
network: "tron",
destination: "TXyz...recipientAddress",
});Resources
Invoices
await flow.invoices.create({ amount: 100, currency: "USDT", network: "tron" });
await flow.invoices.get("inv_abc123");
await flow.invoices.list({ status: "paid", page: 1, limit: 20 });
await flow.invoices.cancel("inv_abc123");Payouts
await flow.payouts.create({ amount: 50, currency: "USDT", network: "tron", destination: "TXyz..." });
await flow.payouts.createBatch([...]);
await flow.payouts.get("pout_abc123");
await flow.payouts.list({ status: "completed" });Wallets
await flow.wallets.generate("ethereum", "USDT");
await flow.wallets.list({ network: "tron" });
await flow.wallets.balance("wal_abc123");Swaps
const quote = await flow.swaps.quote("BTC", "USDT", 0.01);
const swap = await flow.swaps.create("BTC", "USDT", 0.01);Webhooks
const flow = new Flow({ apiKey: "vf_live_...", webhookSecret: "whsec_..." });
// In your webhook handler:
const event = await flow.webhooks.verify(rawBody, signature);
if (event.type === "invoice.paid") {
console.log("Invoice paid!", event.data);
}Error Handling
import { Flow, AuthenticationError, RateLimitError, FlowError } from "@vylth/flow";
try {
await flow.invoices.create({ amount: 100, currency: "USDT", network: "tron" });
} catch (err) {
if (err instanceof AuthenticationError) console.log("Bad API key");
else if (err instanceof RateLimitError) console.log(`Retry after ${err.retryAfter}s`);
else if (err instanceof FlowError) console.log(`Error: ${err.message}`);
}License
MIT
