https://quasarflow.dev
All API requests require authentication using JWT tokens. Include the token in the Authorization header.
Authorization: Bearer YOUR_JWT_TOKEN
Authenticate 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 |