Get Tournament Drops
Retrieve NFT drops associated with a specific tournament.
Endpoint
GET /api/v2/tournament/{id}/drops/
Authentication
This endpoint is public and does not require authentication.
Description
This endpoint returns all NFT drops associated with a specific tournament. These drops include airdrops, NFT collections, and other blockchain assets linked to the tournament.
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Unique identifier for the tournament |
Request Example
GET /api/v2/tournament/tournament-123/drops/
Response
Success Response (200)
{
"data": [
{
"id": "drop-123",
"name": "Tournament Rewards",
"isActive": true,
"startDate": 1704110400000,
"endDate": 1704715200000,
"contractAddress": "0x1234567890123456789012345678901234567890",
"hasMultipleContracts": false,
"isVIP": false,
"whitelistEnabled": true,
"chain": "ethereum",
"chainId": 1,
"network": "mainnet",
"description": "Exclusive rewards for tournament participants",
"moreInfoUrl": "https://example.com/more-info",
"logo": "https://example.com/drop-logo.jpg",
"numberOfRarities": 3,
"hasDailyCheckIn": false,
"magicEdenGoldTokenName": null,
"slug": "tournament-rewards",
"cards": [
{
"rarity": 1,
"image": "https://example.com/card1.jpg",
"animation": "https://example.com/animation1.mp4",
"burnThreshold": 100,
"name": "Common Card",
"base": 50,
"stack": 10,
"maximum": 1000
},
{
"rarity": 2,
"image": "https://example.com/card2.jpg",
"burnThreshold": 200,
"name": "Rare Card",
"base": 20,
"stack": 5,
"maximum": 500
}
],
"marketplaces": [
{
"name": "OpenSea",
"url": "https://opensea.io/collection/tournament-rewards",
"icon": "https://opensea.io/favicon.ico"
},
{
"name": "Magic Eden",
"url": "https://magiceden.io/collections/tournament-rewards",
"icon": "https://magiceden.io/favicon.ico"
}
],
"phases": [
{
"name": "Early Bird",
"price": 0.05,
"currency": "ETH"
},
{
"name": "Public Sale",
"price": 0.1,
"currency": "ETH"
}
]
}
]
}
Error Response (404)
{
"message": "Tournament not found",
"status": 404
}
Response Fields
Main Drop Fields
| Field | Type | Description |
|---|---|---|
data | array | Array of drop objects |
data[].id | string | Unique drop identifier |
data[].name | string | Drop name |
data[].isActive | boolean | Whether the drop is currently active |
data[].startDate | number | Drop start date (Unix timestamp in ms) |
data[].endDate | number | Drop end date (Unix timestamp in ms) |
data[].contractAddress | string | Smart contract address |
data[].hasMultipleContracts | boolean | Whether the drop has multiple contracts |
data[].isVIP | boolean | Whether this is a VIP drop |
data[].whitelistEnabled | boolean | Whether whitelist is enabled |
data[].chain | string | Blockchain network name |
data[].chainId | number | Blockchain network ID |
data[].network | string | Network type (mainnet, testnet, etc.) |
data[].description | string | Drop description |
data[].moreInfoUrl | string | URL for additional information |
data[].logo | string | Drop logo image URL |
data[].numberOfRarities | number | Number of different rarity levels |
data[].hasDailyCheckIn | boolean | Whether daily check-in is available |
data[].magicEdenGoldTokenName | string | Magic Eden gold token name (nullable) |
data[].slug | string | URL-friendly identifier |
data[].cards | array | Array of rarity card objects |
data[].marketplaces | array | Array of marketplace objects (nullable) |
data[].phases | array | Array of mint phase objects (nullable) |
Card/Rarity Fields
| Field | Type | Description |
|---|---|---|
data[].cards[].rarity | number | Rarity level |
data[].cards[].image | string | Card image URL |
data[].cards[].animation | string | Card animation URL (optional) |
data[].cards[].burnThreshold | number | Burn threshold value |
data[].cards[].name | string | Card name |
data[].cards[].base | number | Base value |
data[].cards[].stack | number | Stack value |
data[].cards[].maximum | number | Maximum value |
Marketplace Fields
| Field | Type | Description |
|---|---|---|
data[].marketplaces[].name | string | Marketplace name |
data[].marketplaces[].url | string | Marketplace URL |
data[].marketplaces[].icon | string | Marketplace icon URL |
Mint Phase Fields
| Field | Type | Description |
|---|---|---|
data[].phases[].name | string | Phase name |
data[].phases[].price | number | Phase price |
data[].phases[].currency | string | Price currency |
Usage Example
const response = await fetch("https://api.intraverse.io/api/v2/tournament/tournament-123/drops/");
const result = await response.json();
console.log(`Found ${result.data.length} drops for tournament`);
result.data.forEach((drop) => {
console.log(`\n${drop.name} (${drop.slug})`);
console.log(`- ID: ${drop.id}`);
console.log(`- Description: ${drop.description}`);
console.log(`- Active: ${drop.isActive}`);
console.log(`- Chain: ${drop.chain} (${drop.chainId})`);
console.log(`- Network: ${drop.network}`);
console.log(`- Contract: ${drop.contractAddress}`);
console.log(`- VIP: ${drop.isVIP}`);
console.log(`- Whitelist: ${drop.whitelistEnabled}`);
console.log(`- Start: ${new Date(drop.startDate).toISOString()}`);
console.log(`- End: ${new Date(drop.endDate).toISOString()}`);
console.log(`- Rarities: ${drop.numberOfRarities}`);
console.log(`- Daily Check-in: ${drop.hasDailyCheckIn}`);
// Log cards/rarities
console.log(`- Cards: ${drop.cards.length}`);
drop.cards.forEach((card, index) => {
console.log(` ${index + 1}. ${card.name} (Rarity: ${card.rarity})`);
console.log(` Base: ${card.base}, Stack: ${card.stack}, Max: ${card.maximum}`);
});
// Log marketplaces
if (drop.marketplaces && drop.marketplaces.length > 0) {
console.log(`- Marketplaces: ${drop.marketplaces.map((m) => m.name).join(", ")}`);
}
// Log mint phases
if (drop.phases && drop.phases.length > 0) {
console.log(`- Mint Phases:`);
drop.phases.forEach((phase, index) => {
console.log(` ${index + 1}. ${phase.name}: ${phase.price} ${phase.currency}`);
});
}
});
Error Handling
| Error | Description | Solution |
|---|---|---|
| Tournament not found | Tournament ID doesn't exist | Check tournament ID |