curl "https://api.galadriel.com/v1/prices/estimate?gpu_type=h100&gpu_count=16&zone=us-west-1&duration_hours=24" \
-H "Authorization: Bearer YOUR_API_TOKEN"
import requests
response = requests.get(
"https://api.galadriel.com/v1/prices/estimate",
headers={"Authorization": "Bearer YOUR_API_TOKEN"},
params={
"gpu_type": "h100",
"gpu_count": 16,
"zone": "us-west-1",
"duration_hours": 24
}
)
estimate = response.json()
print(f"Estimated price: ${estimate['estimated_price']}/hr")
print(f"Total cost: ${estimate['total_cost']}")
print(f"Liquidity: {'✓' if estimate['sufficient_liquidity'] else '✗'}")
const params = new URLSearchParams({
gpu_type: 'h100',
gpu_count: '16',
zone: 'us-west-1',
duration_hours: '24'
});
const response = await fetch(
`https://api.galadriel.com/v1/prices/estimate?${params}`,
{
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN'
}
}
);
const estimate = await response.json();
console.log(`Estimated price: $${estimate.estimated_price}/hr`);
console.log(`Total cost: $${estimate.total_cost}`);
{
"gpu_type": "h100",
"gpu_count": 16,
"zone": "us-west-1",
"duration_hours": 24,
"estimated_price": 1.38,
"best_ask": 1.40,
"worst_fill_price": 1.45,
"total_available": 48,
"sufficient_liquidity": true,
"cost_breakdown": {
"compute_cost": 530.88,
"platform_fee": 53.09,
"total_cost": 583.97
},
"fills": [
{
"price": 1.40,
"gpus": 16
}
],
"timestamp": "2025-11-11T14:00:00Z"
}
{
"gpu_type": "h100",
"gpu_count": 64,
"zone": "us-west-1",
"duration_hours": 24,
"estimated_price": 1.42,
"best_ask": 1.40,
"worst_fill_price": 1.50,
"total_available": 48,
"sufficient_liquidity": false,
"cost_breakdown": {
"compute_cost": 2182.08,
"platform_fee": 218.21,
"total_cost": 2400.29
},
"fills": [
{
"price": 1.40,
"gpus": 16
},
{
"price": 1.45,
"gpus": 8
},
{
"price": 1.50,
"gpus": 24
}
],
"missing_gpus": 16,
"timestamp": "2025-11-11T14:00:00Z"
}
Marketplace
Get Price Estimate
Get a price estimate for a market order
GET
/
v1
/
prices
/
estimate
curl "https://api.galadriel.com/v1/prices/estimate?gpu_type=h100&gpu_count=16&zone=us-west-1&duration_hours=24" \
-H "Authorization: Bearer YOUR_API_TOKEN"
import requests
response = requests.get(
"https://api.galadriel.com/v1/prices/estimate",
headers={"Authorization": "Bearer YOUR_API_TOKEN"},
params={
"gpu_type": "h100",
"gpu_count": 16,
"zone": "us-west-1",
"duration_hours": 24
}
)
estimate = response.json()
print(f"Estimated price: ${estimate['estimated_price']}/hr")
print(f"Total cost: ${estimate['total_cost']}")
print(f"Liquidity: {'✓' if estimate['sufficient_liquidity'] else '✗'}")
const params = new URLSearchParams({
gpu_type: 'h100',
gpu_count: '16',
zone: 'us-west-1',
duration_hours: '24'
});
const response = await fetch(
`https://api.galadriel.com/v1/prices/estimate?${params}`,
{
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN'
}
}
);
const estimate = await response.json();
console.log(`Estimated price: $${estimate.estimated_price}/hr`);
console.log(`Total cost: $${estimate.total_cost}`);
{
"gpu_type": "h100",
"gpu_count": 16,
"zone": "us-west-1",
"duration_hours": 24,
"estimated_price": 1.38,
"best_ask": 1.40,
"worst_fill_price": 1.45,
"total_available": 48,
"sufficient_liquidity": true,
"cost_breakdown": {
"compute_cost": 530.88,
"platform_fee": 53.09,
"total_cost": 583.97
},
"fills": [
{
"price": 1.40,
"gpus": 16
}
],
"timestamp": "2025-11-11T14:00:00Z"
}
{
"gpu_type": "h100",
"gpu_count": 64,
"zone": "us-west-1",
"duration_hours": 24,
"estimated_price": 1.42,
"best_ask": 1.40,
"worst_fill_price": 1.50,
"total_available": 48,
"sufficient_liquidity": false,
"cost_breakdown": {
"compute_cost": 2182.08,
"platform_fee": 218.21,
"total_cost": 2400.29
},
"fills": [
{
"price": 1.40,
"gpus": 16
},
{
"price": 1.45,
"gpus": 8
},
{
"price": 1.50,
"gpus": 24
}
],
"missing_gpus": 16,
"timestamp": "2025-11-11T14:00:00Z"
}
Query Parameters
string
required
GPU type:
h100, h200, b200, or b300integer
required
Number of GPUs (must be multiple of 8)
string
required
Availability zone:
us-west-1, us-east-1, or eu-west-1integer
default:"24"
Lease duration in hours for cost calculation
Response
number
Weighted average price per GPU/hour
number
Current best ask price
number
Highest price you’d pay if order filled now
number
Estimated total cost including platform fee
boolean
Whether there’s enough liquidity to fill the order
curl "https://api.galadriel.com/v1/prices/estimate?gpu_type=h100&gpu_count=16&zone=us-west-1&duration_hours=24" \
-H "Authorization: Bearer YOUR_API_TOKEN"
import requests
response = requests.get(
"https://api.galadriel.com/v1/prices/estimate",
headers={"Authorization": "Bearer YOUR_API_TOKEN"},
params={
"gpu_type": "h100",
"gpu_count": 16,
"zone": "us-west-1",
"duration_hours": 24
}
)
estimate = response.json()
print(f"Estimated price: ${estimate['estimated_price']}/hr")
print(f"Total cost: ${estimate['total_cost']}")
print(f"Liquidity: {'✓' if estimate['sufficient_liquidity'] else '✗'}")
const params = new URLSearchParams({
gpu_type: 'h100',
gpu_count: '16',
zone: 'us-west-1',
duration_hours: '24'
});
const response = await fetch(
`https://api.galadriel.com/v1/prices/estimate?${params}`,
{
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN'
}
}
);
const estimate = await response.json();
console.log(`Estimated price: $${estimate.estimated_price}/hr`);
console.log(`Total cost: $${estimate.total_cost}`);
{
"gpu_type": "h100",
"gpu_count": 16,
"zone": "us-west-1",
"duration_hours": 24,
"estimated_price": 1.38,
"best_ask": 1.40,
"worst_fill_price": 1.45,
"total_available": 48,
"sufficient_liquidity": true,
"cost_breakdown": {
"compute_cost": 530.88,
"platform_fee": 53.09,
"total_cost": 583.97
},
"fills": [
{
"price": 1.40,
"gpus": 16
}
],
"timestamp": "2025-11-11T14:00:00Z"
}
{
"gpu_type": "h100",
"gpu_count": 64,
"zone": "us-west-1",
"duration_hours": 24,
"estimated_price": 1.42,
"best_ask": 1.40,
"worst_fill_price": 1.50,
"total_available": 48,
"sufficient_liquidity": false,
"cost_breakdown": {
"compute_cost": 2182.08,
"platform_fee": 218.21,
"total_cost": 2400.29
},
"fills": [
{
"price": 1.40,
"gpus": 16
},
{
"price": 1.45,
"gpus": 8
},
{
"price": 1.50,
"gpus": 24
}
],
"missing_gpus": 16,
"timestamp": "2025-11-11T14:00:00Z"
}
Using Price Estimates
Use price estimates to decide between market and limit orders:estimate = response.json()
if not estimate['sufficient_liquidity']:
print("Not enough liquidity. Use limit order instead.")
elif estimate['estimated_price'] > 1.50:
print("Price too high. Wait or use limit order.")
else:
print(f"Good price. Proceed with market order at ~${estimate['estimated_price']}/hr")