coinosapi
v1.0.7
Published
A TypeScript/ SDK for interacting with the Coinos API, providing methods for user authentication, invoice management, and cryptocurrency payments.
Readme
Coinos API SDK
A TypeScript/ SDK for interacting with the Coinos API, providing methods for user authentication, invoice management, and cryptocurrency payments.
Installation
npm install coinosapiUsage
Initialization
import { Coinos } from "coinosapi";
const coinos = new Coinos({
baseURL: "https://coinos.io/api", // optional, defaults to Coinos API
maxAge: 60, // optional, token expiration time in minutes
});Authentication
// Register a new user
const register = await coinos.register({
username: "user123",
password: "securepassword",
email: "[email protected]",
});
// Login
const login = await coinos.login({
username: "user123",
password: "securepassword",
});
// Check if logged in
const isLoggedIn = coinos.isLoggedIn();
// Get current user
const user = await coinos.me();
// Edit user
const updatedUser = await coinos.editUser({
email: "[email protected]",
});Invoices
// Create an invoice
const invoice = await coinos.createInvoice({
amount: 1000,
currency: "USD",
});
// Get invoice by hash
const invoiceByHash = await coinos.getInvoiceByHash("invoiceHash");
// Get invoice by ID
const invoiceById = await coinos.getInvoiceById("invoiceId");Payments
// Send payment (BTC, Lightning, Liquid, or internal)
const payment = await coinos.sendPayment({
network: "lightning", // 'main', 'lightning', 'liquid', or 'coinos'
amount: 1000,
to: "invoiceOrAddressOrUsername",
});
// Get payment by ID or hash
const paymentDetails = await coinos.getPayment("paymentIdOrHash");
// Get payment history
const payments = await coinos.getPayments({
limit: 10,
offset: 0,
type: "sent", // optional filters
});Features
- Authentication: Register, login, and manage user profiles
- Invoices: Create and retrieve invoices
- Payments: Support for multiple networks:
- Bitcoin (on-chain)
- Lightning Network
- Liquid Network
- Internal Coinos payments
- Type Safety: Built with TypeScript and Zod schema validation
- Token Management: Automatic token handling and validation
Configuration
interface CoinosConfig {
baseURL?: string; // API endpoint (defaults to https://coinos.io/api)
maxAge?: number; // Token expiration time in minutes (defaults to 60)
}Development
The SDK uses:
Axios for HTTP requests Zod for schema validation TypeScript for type safety
Contributions are welcome! Please submit pull requests or open issues on the repository.
License MIT License
