https://quasarflow.dev
All API requests require authentication using JWT tokens. Include the token in the Authorization header.
Authorization: Bearer YOUR_JWT_TOKENAuthenticate and receive a JWT token.
1curl -X POST https://quasarflow.dev/api/auth/login \
2 -H "Content-Type: application/json" \
3 -d '{
4 "username": "admin",
5 "password": "admin123"
6 }'1{
2 "success": true,
3 "data": {
4 "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
5 "expires_at": "2024-01-01T12:00:00Z"
6 }
7}Invalidate the current JWT token.
curl -X POST https://quasarflow.dev/auth/logout \
-H "Authorization: Bearer YOUR_TOKEN"Manage blockchain wallets with simple REST endpoints.
Create a new blockchain wallet.
1curl -X POST https://quasarflow.dev/api/v1/wallets \
2 -H "Authorization: Bearer YOUR_TOKEN" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "network": "testnet"
6 }'| Field | Type | Required | Description |
|---|---|---|---|
| network | string | Yes | Network to create wallet on (local, testnet, mainnet) |
{
"success": true,
"data": {
"id": "wallet_123",
"public_key": "GABC123...",
"network": "testnet",
"created_at": "2024-01-01T12:00:00Z"
}
}Get wallet balance for all assets.
1curl https://quasarflow.dev/api/v1/wallets/wallet_123/balance \
2 -H "Authorization: Bearer YOUR_TOKEN"{
"success": true,
"data": {
"balances": [
{
"asset": "XLM",
"amount": "1000.0000000"
},
{
"asset": "USDC",
"amount": "500.0000000"
}
]
}
}Fund wallet with test XLM (development only).
1curl -X POST https://quasarflow.dev/api/v1/wallets/wallet_123/fund \
2 -H "Authorization: Bearer YOUR_TOKEN"Note: This endpoint is only available in development/testnet environments.
Send payments and manage transactions.
Send a payment from a wallet.
1curl -X POST https://quasarflow.dev/api/v1/wallets/wallet_123/payment \
2 -H "Authorization: Bearer YOUR_TOKEN" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "to": "GDEF456...",
6 "amount": "10.5",
7 "asset": "XLM",
8 "memo": "Payment for services"
9 }'| Field | Type | Required | Description |
|---|---|---|---|
| to | string | Yes | Destination wallet public key |
| amount | string | Yes | Amount to send |
| asset | string | Yes | Asset code (XLM, USDC, etc.) |
| memo | string | No | Optional memo for the transaction |
{
"success": true,
"data": {
"transaction_hash": "abc123...",
"status": "pending",
"created_at": "2024-01-01T12:00:00Z"
}
}Get transaction history for a wallet.
1curl https://quasarflow.dev/api/v1/wallets/wallet_123/transactions \
2 -H "Authorization: Bearer YOUR_TOKEN"{
"success": true,
"data": {
"transactions": [
{
"hash": "abc123...",
"type": "payment",
"amount": "10.5",
"asset": "XLM",
"to": "GDEF456...",
"status": "success",
"created_at": "2024-01-01T12:00:00Z"
}
]
}
}Verify ownership of existing Stellar wallets.
Generate a challenge for wallet ownership verification.
1curl https://quasarflow.dev/api/v1/accounts/GABC123.../challenge{
"success": true,
"data": {
"challenge": "base64_encoded_challenge",
"expires_at": "2024-01-01T12:05:00Z"
}
}Verify wallet ownership using signed challenge.
1curl -X POST https://quasarflow.dev/api/v1/accounts/GABC123.../verify-ownership \
2 -H "Content-Type: application/json" \
3 -d '{
4 "signature": "base64_encoded_signature",
5 "message": "base64_encoded_challenge"
6 }'| Field | Type | Required | Description |
|---|---|---|---|
| signature | string | Yes | Base64 encoded signature of the challenge |
| message | string | Yes | The original challenge message |
{
"success": true,
"data": {
"verified": true,
"public_key": "GABC123...",
"verified_at": "2024-01-01T12:00:00Z"
}
}Verify wallet ownership using a recent transaction.
1curl -X POST https://quasarflow.dev/api/v1/accounts/GABC123.../verify-transaction \
2 -H "Content-Type: application/json" \
3 -d '{
4 "transaction_hash": "transaction_hash_here"
5 }'Monitor API health and status.
Check API health status.
1curl https://quasarflow.dev/api/health{
"status": "healthy",
"timestamp": "2024-01-01T12:00:00Z",
"version": "1.0.0",
"services": {
"database": "healthy",
"stellar": "healthy"
}
}QuasarFlow API uses standard HTTP status codes and returns detailed error information.
{
"success": false,
"error": {
"code": "INVALID_REQUEST",
"message": "Invalid request parameters",
"details": {
"field": "amount",
"reason": "must be a positive number"
}
}
}| Status Code | Description |
|---|---|
| 200 | Success |
| 400 | Bad Request - Invalid parameters |
| 401 | Unauthorized - Invalid or missing token |
| 404 | Not Found - Resource doesn't exist |
| 429 | Too Many Requests - Rate limit exceeded |
| 500 | Internal Server Error |