Get all card metadata and odds
curl --request GET \
--url https://build.vibechain.com/vibe/boosterbox/contractAddress/{contractAddressOrSlug}/all-metadata \
--header 'API-KEY: <api-key>'import requests
url = "https://build.vibechain.com/vibe/boosterbox/contractAddress/{contractAddressOrSlug}/all-metadata"
headers = {"API-KEY": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'API-KEY': '<api-key>'}};
fetch('https://build.vibechain.com/vibe/boosterbox/contractAddress/{contractAddressOrSlug}/all-metadata', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://build.vibechain.com/vibe/boosterbox/contractAddress/{contractAddressOrSlug}/all-metadata",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"API-KEY: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://build.vibechain.com/vibe/boosterbox/contractAddress/{contractAddressOrSlug}/all-metadata"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("API-KEY", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://build.vibechain.com/vibe/boosterbox/contractAddress/{contractAddressOrSlug}/all-metadata")
.header("API-KEY", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://build.vibechain.com/vibe/boosterbox/contractAddress/{contractAddressOrSlug}/all-metadata")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["API-KEY"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"success": true,
"metadata": [
{
"name": "<string>",
"imageUrl": "<string>",
"unopenedImageUrl": "<string>",
"firstEditionImageUrl": "<string>",
"description": "<string>",
"externalLink": "<string>",
"privateExternalLink": "<string>",
"metadataDescription": "<string>",
"traits": [
{
"key": "<string>",
"value": "<string>"
}
],
"startId": 1,
"endId": 1,
"id": "<string>",
"contractAddress": "0x1111111111111111111111111111111111111111",
"chainId": 123,
"txHash": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"creator": "0x1111111111111111111111111111111111111111",
"isActive": true,
"isDraft": true,
"version": 123,
"effectiveFrom": "2023-11-07T05:31:56Z",
"effectiveUntil": "2023-11-07T05:31:56Z",
"bgColor": "<string>",
"slug": "<string>",
"featuredImageUrl": "<string>",
"disableFoil": true,
"disableWear": true,
"odds": 123,
"oddsFormatted": "<string>"
}
],
"totalTokens": 1,
"contractDetails": {
"gameId": "<string>",
"tokenAddress": "0x1111111111111111111111111111111111111111",
"nftName": "<string>",
"nftSymbol": "<string>",
"ownerAddress": "0x1111111111111111111111111111111111111111",
"chainId": 8453,
"tokenName": "<string>",
"tokenSymbol": "<string>",
"description": "<string>",
"imageUrl": "<string>",
"websiteUrl": "<string>",
"isGraduated": true,
"marketCap": "1000000000000000",
"marketCapUsd": "<string>",
"preorderProgress": 50,
"bgColor": "<string>",
"featuredImageUrl": "<string>",
"slug": "<string>",
"pricePerPack": "1000000000000000",
"pricePerPackUsd": "<string>",
"dropContractAddress": "0x1111111111111111111111111111111111111111",
"disableFoil": true,
"disableWear": true,
"packImage": "<string>",
"isActive": true,
"links": {
"twitter": "<string>",
"website": "<string>"
},
"isNSFW": true,
"isVerified": true,
"isVerifiedArtist": true,
"isFeatured": true,
"isVibefit": true,
"version": 123,
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"potentialCards": [
{
"name": "<string>",
"imageUrl": "<string>",
"unopenedImageUrl": "<string>",
"firstEditionImageUrl": "<string>",
"description": "<string>",
"externalLink": "<string>",
"privateExternalLink": "<string>",
"metadataDescription": "<string>",
"traits": [
{
"key": "<string>",
"value": "<string>"
}
],
"startId": 1,
"endId": 1,
"id": "<string>",
"contractAddress": "0x1111111111111111111111111111111111111111",
"chainId": 123,
"txHash": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"creator": "0x1111111111111111111111111111111111111111",
"isActive": true,
"isDraft": true,
"version": 123,
"effectiveFrom": "2023-11-07T05:31:56Z",
"effectiveUntil": "2023-11-07T05:31:56Z",
"bgColor": "<string>",
"slug": "<string>",
"featuredImageUrl": "<string>",
"disableFoil": true,
"disableWear": true,
"odds": 123,
"oddsFormatted": "<string>"
}
]
}
}{
"success": false,
"message": "Invalid contract address"
}{
"success": false,
"message": "Resource not found"
}{
"success": false,
"message": "Too many requests or invalid API key! See docs.vibechain.com for more info."
}{
"success": false,
"message": "Failed to complete request"
}Metadata
Get all card metadata and odds
Resolves a collection by address or slug and returns its active card metadata with calculated odds. Cached for about five minutes.
GET
/
contractAddress
/
{contractAddressOrSlug}
/
all-metadata
Get all card metadata and odds
curl --request GET \
--url https://build.vibechain.com/vibe/boosterbox/contractAddress/{contractAddressOrSlug}/all-metadata \
--header 'API-KEY: <api-key>'import requests
url = "https://build.vibechain.com/vibe/boosterbox/contractAddress/{contractAddressOrSlug}/all-metadata"
headers = {"API-KEY": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'API-KEY': '<api-key>'}};
fetch('https://build.vibechain.com/vibe/boosterbox/contractAddress/{contractAddressOrSlug}/all-metadata', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://build.vibechain.com/vibe/boosterbox/contractAddress/{contractAddressOrSlug}/all-metadata",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"API-KEY: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://build.vibechain.com/vibe/boosterbox/contractAddress/{contractAddressOrSlug}/all-metadata"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("API-KEY", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://build.vibechain.com/vibe/boosterbox/contractAddress/{contractAddressOrSlug}/all-metadata")
.header("API-KEY", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://build.vibechain.com/vibe/boosterbox/contractAddress/{contractAddressOrSlug}/all-metadata")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["API-KEY"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"success": true,
"metadata": [
{
"name": "<string>",
"imageUrl": "<string>",
"unopenedImageUrl": "<string>",
"firstEditionImageUrl": "<string>",
"description": "<string>",
"externalLink": "<string>",
"privateExternalLink": "<string>",
"metadataDescription": "<string>",
"traits": [
{
"key": "<string>",
"value": "<string>"
}
],
"startId": 1,
"endId": 1,
"id": "<string>",
"contractAddress": "0x1111111111111111111111111111111111111111",
"chainId": 123,
"txHash": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"creator": "0x1111111111111111111111111111111111111111",
"isActive": true,
"isDraft": true,
"version": 123,
"effectiveFrom": "2023-11-07T05:31:56Z",
"effectiveUntil": "2023-11-07T05:31:56Z",
"bgColor": "<string>",
"slug": "<string>",
"featuredImageUrl": "<string>",
"disableFoil": true,
"disableWear": true,
"odds": 123,
"oddsFormatted": "<string>"
}
],
"totalTokens": 1,
"contractDetails": {
"gameId": "<string>",
"tokenAddress": "0x1111111111111111111111111111111111111111",
"nftName": "<string>",
"nftSymbol": "<string>",
"ownerAddress": "0x1111111111111111111111111111111111111111",
"chainId": 8453,
"tokenName": "<string>",
"tokenSymbol": "<string>",
"description": "<string>",
"imageUrl": "<string>",
"websiteUrl": "<string>",
"isGraduated": true,
"marketCap": "1000000000000000",
"marketCapUsd": "<string>",
"preorderProgress": 50,
"bgColor": "<string>",
"featuredImageUrl": "<string>",
"slug": "<string>",
"pricePerPack": "1000000000000000",
"pricePerPackUsd": "<string>",
"dropContractAddress": "0x1111111111111111111111111111111111111111",
"disableFoil": true,
"disableWear": true,
"packImage": "<string>",
"isActive": true,
"links": {
"twitter": "<string>",
"website": "<string>"
},
"isNSFW": true,
"isVerified": true,
"isVerifiedArtist": true,
"isFeatured": true,
"isVibefit": true,
"version": 123,
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"potentialCards": [
{
"name": "<string>",
"imageUrl": "<string>",
"unopenedImageUrl": "<string>",
"firstEditionImageUrl": "<string>",
"description": "<string>",
"externalLink": "<string>",
"privateExternalLink": "<string>",
"metadataDescription": "<string>",
"traits": [
{
"key": "<string>",
"value": "<string>"
}
],
"startId": 1,
"endId": 1,
"id": "<string>",
"contractAddress": "0x1111111111111111111111111111111111111111",
"chainId": 123,
"txHash": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"creator": "0x1111111111111111111111111111111111111111",
"isActive": true,
"isDraft": true,
"version": 123,
"effectiveFrom": "2023-11-07T05:31:56Z",
"effectiveUntil": "2023-11-07T05:31:56Z",
"bgColor": "<string>",
"slug": "<string>",
"featuredImageUrl": "<string>",
"disableFoil": true,
"disableWear": true,
"odds": 123,
"oddsFormatted": "<string>"
}
]
}
}{
"success": false,
"message": "Invalid contract address"
}{
"success": false,
"message": "Resource not found"
}{
"success": false,
"message": "Too many requests or invalid API key! See docs.vibechain.com for more info."
}{
"success": false,
"message": "Failed to complete request"
}Authorizations
Caller-specific VibeChain API key used for quota and abuse control.
Headers
Set to true to keep original recognized CDN URLs instead of vibe.market proxy URLs. Cache this response variant separately.
Path Parameters
Collection contract address or game slug.
Query Parameters
EVM chain ID. Defaults to Base mainnet.
Required range:
x >= 1⌘I