Moneta API Overview
Everything you need to integrate Moneta payments into your application.
Quick Links
API Basics
The Moneta API is a RESTful API that allows you to create payment links, manage invoices, and receive webhook notifications for payment events.
Base URL
https://api.moneta.dev/v1
Authentication
All API requests require authentication using an API key in the header:
Authorization: Bearer YOUR_API_KEY
Core Endpoints
Create Payment Link
Generate a payment link for your customer:
POST /payment-links
{
"amount": "100.00",
"currency": "USDC",
"description": "Invoice #1234",
"recipient_address": "0x...",
"expires_at": "2024-12-31T23:59:59Z"
}Get Payment Status
Check the status of a payment:
GET /payments/:id
{
"id": "pay_abc123",
"status": "completed",
"amount": "100.00",
"currency": "USDC",
"tx_hash": "0x...",
"completed_at": "2024-01-15T10:30:00Z"
}List Payments
Retrieve a list of payments with optional filters:
GET /payments?status=completed&limit=50
Payment Statuses
| Status | Description |
|---|---|
| pending | Payment link created, awaiting payment |
| processing | Transaction detected, confirming on-chain |
| completed | Payment confirmed and settled |
| failed | Payment failed or was rejected |
| expired | Payment link expired without payment |
Error Handling
The API returns standard HTTP status codes and JSON error responses:
{
"error": {
"code": "invalid_amount",
"message": "Amount must be greater than 0",
"param": "amount"
}
}Rate Limits
API requests are rate limited to ensure fair usage:
- Standard: 100 requests per minute
- Enterprise: 1,000 requests per minute
Rate limit headers are included in all responses:
X-RateLimit-Limit: 100
X-RateLimit-Remaining: 95
X-RateLimit-Reset: 1705312800
X-RateLimit-Remaining: 95
X-RateLimit-Reset: 1705312800
SDKs & Libraries
JavaScript/TypeScript
npm install @moneta/sdk
Python
pip install moneta-sdk