← Back to Skills
Communication

alura

evilboyajay By evilboyajay 👁 21 views ▲ 0 votes

Integrate with Alura Trading backend API.

GitHub
---
name: alura-backend-api
description: Integrate with Alura Trading backend API. Use when calling Alura testnet API, trading sessions, user auth, indicators, or leaderboard. Base URL: https://testnet-api.alura.fun
---

# Alura Backend API

Use this skill when integrating with or calling the Alura Trading backend API. The testnet API base URL is **https://testnet-api.alura.fun**.

## Base URL

```
https://testnet-api.alura.fun
```

- Swagger docs: `https://testnet-api.alura.fun/api/docs`
- All authenticated endpoints require `Authorization: Bearer <JWT>`

## Authentication (EVM Wallet)

### 1. Get challenge

```
POST /auth/evm/challenge
Content-Type: application/json

{ "address": "0x..." }
```

Returns `{ address, nonce, message }`.

### 2. Sign & verify

User signs `message` with MetaMask (personal_sign). Then:

```
POST /auth/evm/verify
Content-Type: application/json

{ "address": "0x...", "signature": "0x...", "referralCode": "OPTIONAL" }
```

Returns `{ ok: true, accessToken, tokenType: "Bearer", expiresIn: 86400, ... }`. Use `accessToken` for subsequent requests.

## Trading Sessions

Base path: `/trading-sessions`. All require Bearer token.

### Quick trade – create session

```
POST /trading-sessions
Authorization: Bearer <token>
Content-Type: application/json

{
  "budget": 100,
  "profitTarget": 40,
  "lossThreshold": 5,
  "maxPositions": 3,
  "assetIndex": 0
}
```

**Required**: `budget` (min 10), `profitTarget` (max 500), `assetIndex` (Hyperliquid perp index: 0=BTC, 1=ETH, 2=SOL, etc.).

### Advance trade – create session

```
POST /trading-sessions/advance
Authorization: Bearer <token>
Content-Type: application/json

{
  "amount": 100,
  "executionStrategy": "Conservative" | "Aggressive" | "Degen",
  "strategyDuration": "1D" | "3D" | "7D" | "30D" | "90D" | "365D",
  "assetIndex": 0,
  "maxWalletBudget": false
}
```

### Other trading endpoints

| Method | Path | Description |
|--------|------|-------------|
| GET | /trading-sessions/active | List active sessions |
| GET | /trading-sessions/current-trade | Current trade with positions |
| GET | /trading-sessions/:sessionId/logs | Session logs |
| GET | /trading-sessions/trades/:tradeId/logs | Trade logs (paginated) |
| POST | /trading-sessions/positions/:positionId/close | Close a position |
| POST | /trading-sessions/positions/:positionId/close-signature | Get signed close tx for frontend |
| POST | /trading-sessions/trades/:tradeId/close | Close trade (all positions) |
| POST | /trading-sessions/trigger-cron | Manually trigger cron (testing) |

## User

Base path: `/user`. All require Bearer token.

| Method | Path | Description |
|--------|------|-------------|
| GET | /user/profile | Current user profile |
| POST | /user/fills/sync | Sync fills from Hyperliquid |
| POST | /user/withdraw | Withdraw funds |
| POST | /user/close-position | Close position by assetIndex |
| POST | /user/close-all-positions | Close all positions |
| POST | /user/send-usdc | Send USDC |
| GET | /auth/evm/trading-key | Get trading agent key (auth) |
| POST | /user/claim-reward | Claim rewards |

## Indicators & Market Data

Base path: `/api/indicators`. Most are public.

| Method | Path | Description |
|--------|------|-------------|
| GET | /api/indicators/health | Service health |
| GET | /api/indicators/candles/latest | Latest candles |
| GET | /api/indicators/candles/history/:symbol | Historical candles |
| GET | /api/indicators/candles/:symbol/:interval | Candles by symbol/interval |
| GET | /api/indicators/candles/aggregated/symbols | Available symbols |
| GET | /api/indicators/signals/:symbol/:interval | Signals for symbol |
| GET | /api/indicators/signals/all/:interval | All symbols signals |

## Leaderboard

Base path: `/api/leaderboard`.

| Method | Path | Description |
|--------|------|-------------|
| GET | /api/leaderboard/stats | Leaderboard stats |
| GET | /api/leaderboard/rankings | Rankings |
| GET | /api/leaderboard/user/:userId | User ranking |
| GET | /api/leaderboard/analytics | Analytics |
| GET | /api/leaderboard/health | Health |

## Referrals

Base path: `/referrals`.

| Method | Path | Description |
|--------|------|-------------|
| GET | /referrals/:userId | User referral info |
| GET | /referrals/:userId/stats | Referral stats |
| POST | /referrals/:userId/code | Create referral code |
| POST | /referrals/check | Check referral code |

## USDC Verification

Base path: `/usdc-verification`.

| Method | Path | Description |
|--------|------|-------------|
| POST | /usdc-verification/verify | Verify USDC deposit |
| GET | /usdc-verification/my-transactions | My transactions |
| GET | /usdc-verification/total-deposited | Total deposited |

## Health

| Method | Path | Description |
|--------|------|-------------|
| GET | /health | Basic health |
| GET | /health/kafka | Kafka health |

## Asset Indices (Hyperliquid Perps)

Common perp asset indices:

| Symbol | Index |
|--------|-------|
| BTC | 0 |
| ETH | 1 |
| SOL | 2 |
| XRP | 3 |
| DOGE | 4 |
| AVAX | 5 |

## Error Handling

- 401: Missing/invalid Bearer token. Re-auth via `/auth/evm/challenge` and `/auth/evm/verify`.
- 400: Validation error. Check `message` in response body.
- 429: Rate limit. Retry with backoff.
- Common messages: `Duplicate asset index: you already have an active trading session for this asset`, `Builder fee approval failed: HTTP request failed: status 429`.
communication

Comments

Sign in to leave a comment

Loading comments...