---
title: Redemptions
description: Redeem earnings for elizaOS tokens.
---
# Redemptions
Redeem creator earnings for elizaOS tokens. Earnings balances are tracked in USD; redemption requests use integer `pointsAmount`, where 100 points equals $1.00.
## Get Redemption Balance
GET
/api/v1/redemptions/balance
Get your redeemable earnings balance and eligibility.
### Response
```json
{
"success": true,
"balance": {
"totalEarned": 500,
"availableBalance": 125.5,
"pendingBalance": 24,
"totalRedeemed": 100,
"totalPending": 24,
"totalConvertedToCredits": 12.25
},
"bySource": [
{ "source": "miniapp", "totalEarned": 300, "count": 42 },
{ "source": "agent", "totalEarned": 200, "count": 10 }
],
"limits": {
"minRedemptionUsd": 1,
"maxSingleRedemptionUsd": 1000,
"userDailyLimitUsd": 1000,
"userHourlyLimitUsd": 250
},
"eligibility": {
"canRedeem": true,
"dailyLimitRemaining": 1000
}
}
```
---
## List Redemptions
GET
/api/v1/redemptions
Get redemption history.
### Query Parameters
| Parameter | Description |
| --------- | ----------- |
| `limit` | Maximum records to return, capped at 100. Default: 20. |
### Response
```json
{
"success": true,
"redemptions": [
{
"id": "red_abc123",
"pointsAmount": 10000,
"usdValue": 100,
"elizaAmount": 1234.5,
"elizaPriceUsd": 0.081,
"network": "base",
"payoutAddress": "0x1234...abcd",
"status": "completed",
"txHash": "0x...",
"createdAt": "2026-05-05T10:30:00Z",
"completedAt": "2026-05-05T11:00:00Z",
"requiresReview": false
}
],
"paused": false
}
```
---
## Get Redemption Quote
GET
/api/v1/redemptions/quote
Get a token quote before creating a redemption.
### Query Parameters
| Parameter | Required | Description |
| --------- | -------- | ----------- |
| `network` | yes | One of `ethereum`, `base`, `bnb`, `solana`. |
| `pointsAmount` | no | Integer points to redeem. Defaults to 100. |
### Response
```json
{
"success": true,
"quote": {
"network": "base",
"tokenAddress": "0x...",
"pointsAmount": 10000,
"usdValue": 100,
"twapPriceUsd": 0.081,
"spotPriceUsd": 0.08,
"priceMethod": "TWAP",
"elizaAmount": 1234.5,
"safetySpreadPercent": 5,
"validUntil": "2026-05-05T10:35:00Z",
"validitySeconds": 300,
"requiresAdminApproval": false
},
"canRedeem": true
}
```
---
## Create Redemption
POST
/api/v1/redemptions
Create a redemption request.
### Request
```json
{
"pointsAmount": 10000,
"network": "base",
"payoutAddress": "0x1234567890abcdef1234567890abcdef12345678",
"idempotencyKey": "550e8400-e29b-41d4-a716-446655440000"
}
```
| Field | Description |
| ----- | ----------- |
| `appId` | Optional app UUID for attribution. |
| `pointsAmount` | Required integer, 100-100000. 100 points equals $1.00. |
| `network` | Required: `ethereum`, `base`, `bnb`, or `solana`. |
| `payoutAddress` | Required wallet address. |
| `signature` | Optional wallet signature. |
| `idempotencyKey` | Optional UUID for safe retries. |
### Response
```json
{
"success": true,
"redemptionId": "red_abc123",
"quote": {
"usdValue": 100,
"elizaAmount": 1234.5,
"requiresReview": false
},
"message": "Redemption created and will be processed shortly."
}
```
---
## Get Redemption Status
GET
/api/v1/redemptions/status
Check payout network availability.
---
## Get Redemption Details
GET
/api/v1/redemptions/{"{id}"}
Get details about a specific redemption.
Large redemptions may require admin approval. Quote and create responses include review flags when applicable.