Game Results
Fetch historical game results for your account, including winnings, return percentages, closing prices, and position-level details.
Endpoint
GET https://api.metafide.io/v1/surge/games/results
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
network | string | Yes | The network to query (mainnet or testnet) |
asset | string | No | Filter by asset (e.g. BTC_USDT) |
interval | number | No | Filter by game interval (10, 60, 3600, or 86400) |
gid | string | No | Fetch results for a specific game ID |
limit | number | No | Maximum results to return (1-100, default 20) |
offset | number | No | Pagination offset (default 0) |
When gid is provided, results are returned for that specific game only. When omitted, results are returned as paginated recent history (most recent first).
Headers
| Header | Value |
|---|---|
Accept | */* |
x-api-key | Your Metafide API key |
Example Requests
Recent history (last 5 settled games):
// Node 18+ has native fetch — no import needed
const url = 'https://api.metafide.io/v1/surge/games/results?network=testnet&limit=5';
const response = await fetch(url, {
headers: {
'Accept': '*/*',
'x-api-key': process.env.METAFIDE_API_KEY,
},
});
const data = await response.json();
console.log(`${data.games.length} games, ${data.pagination.total} total`);
Specific game by ID:
const url = 'https://api.metafide.io/v1/surge/games/results?network=testnet&gid=548009';
const response = await fetch(url, {
headers: {
'Accept': '*/*',
'x-api-key': process.env.METAFIDE_API_KEY,
},
});
const data = await response.json();
const game = data.games[0];
console.log(`Game ${game.gid}: staked ${game.total_staked}, won ${game.total_winnings}`);
Filter by interval:
const url = 'https://api.metafide.io/v1/surge/games/results?network=testnet&interval=60&limit=10';
Response
{
"games": [
{
"gid": "548009",
"interval": 60,
"asset": "BTC_USDT",
"network": "testnet",
"currency": "USDC",
"open_price": "68198.711600",
"closing_price": "68155.050000",
"settled_at": "2026-04-02T00:12:28.759Z",
"cancelled": false,
"positions": [
{
"sp": "68222",
"f": "0.4",
"w": "0.005554",
"r": "-98.61",
"win": false,
"variance": "66.9500",
"txid": "d2c6a6d4-e75b-4cd2-99e0-46191a4619cc",
"placed_at": "2026-04-02T00:11:30.300Z"
}
],
"total_staked": "2.300000",
"total_winnings": "0.033314",
"net_return": "-2.266686"
}
],
"pagination": {
"total": 10,
"limit": 5,
"offset": 0
}
}
Response Fields
Root
| Field | Type | Description |
|---|---|---|
games | array | List of settled games with position results |
pagination | object | Pagination metadata |
pagination
| Field | Type | Description |
|---|---|---|
total | number | Total number of settled games matching the query |
limit | number | Maximum results per page |
offset | number | Current pagination offset |
games[]
| Field | Type | Description |
|---|---|---|
gid | string | Unique identifier of the game |
interval | number | Game interval in seconds |
asset | string | Asset the game was played on (e.g. BTC_USDT) |
network | string | Network (testnet or mainnet) |
currency | string | Stake currency (e.g. USDC) |
open_price | string | Price when the game opened |
closing_price | string | null | Actual closing price at settlement. null if data unavailable |
settled_at | string | null | ISO 8601 timestamp of when the game settled |
cancelled | boolean | Whether the game was cancelled (cancelled games refund all stakes) |
positions | array | Your positions in this game with results |
total_staked | string | Sum of all your stakes in this game |
total_winnings | string | Sum of all your winnings from this game |
net_return | string | Net profit/loss (total_winnings - total_staked) |
games[].positions[]
| Field | Type | Description |
|---|---|---|
sp | string | Your predicted closing price |
f | string | Your stake amount |
w | string | null | Actual winnings. null if game not yet settled |
r | string | null | Return percentage. null if game not yet settled |
win | boolean | null | Whether this position was profitable. null if not yet settled |
variance | string | null | Distance between your prediction and the closing price |
txid | string | Unique identifier for this position |
placed_at | string | ISO 8601 timestamp of when the position was placed |
tip
Use get_results with the MCP server for a conversational interface: "How did my last game do?" or "Show me my 60-second game history."