xga.fyi
API Endpoints/Auctions

Submit a quick bid with intelligent market analysis

Streamlined bid submission with automatic market analysis and optimization:

Features

  • Automatic bid value validation against current market
  • Optional auto-adjustment to stay competitive
  • Intelligent gas fee estimation
  • Real-time position tracking and win probability

Auto-Adjustment

  • When enabled, automatically increases bid value to maintain competitiveness
  • Respects maximum value limits to prevent overspending
  • Monitors market changes during bid placement

Response Includes

  • Actual bid value used (may differ if auto-adjusted)
  • Current market position and win probability
  • Real-time status and confirmation

This endpoint is ideal for automated bidding systems and users who want intelligent bid placement without manual market analysis.

POST
/api/v1/auctions/quick-bid
valuestring

Bid value in wei

quantitynumber

Quantity to bid for

Range1 <= value
gasFeeCap?string

Gas fee cap in gwei (optional - will use suggested if not provided)

priorityFee?string

Priority fee in gwei (optional)

autoAdjust?boolean

Auto-adjust bid to stay competitive (default: false)

maxValue?string

Maximum value willing to pay if auto-adjust is enabled

Response Body

curl -X POST "http://localhost:3000/api/v1/auctions/quick-bid" \
  -H "Content-Type: application/json" \
  -d '{
    "value": "1750000000000000000",
    "quantity": 100
  }'
const body = JSON.stringify({
  "value": "1750000000000000000",
  "quantity": 100
})

fetch("http://localhost:3000/api/v1/auctions/quick-bid", {
  body
})
package main

import (
  "fmt"
  "net/http"
  "io/ioutil"
  "strings"
)

func main() {
  url := "http://localhost:3000/api/v1/auctions/quick-bid"
  body := strings.NewReader(`{
    "value": "1750000000000000000",
    "quantity": 100
  }`)
  req, _ := http.NewRequest("POST", url, body)
  req.Header.Add("Content-Type", "application/json")
  res, _ := http.DefaultClient.Do(req)
  defer res.Body.Close()
  body, _ := ioutil.ReadAll(res.Body)

  fmt.Println(res)
  fmt.Println(string(body))
}
import requests

url = "http://localhost:3000/api/v1/auctions/quick-bid"
body = {
  "value": "1750000000000000000",
  "quantity": 100
}
response = requests.request("POST", url, json = body, headers = {
  "Content-Type": "application/json"
})

print(response.text)
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.http.HttpResponse.BodyHandlers;
import java.time.Duration;
import java.net.http.HttpRequest.BodyPublishers;

var body = BodyPublishers.ofString("""{
  "value": "1750000000000000000",
  "quantity": 100
}""");
HttpClient client = HttpClient.newBuilder()
  .connectTimeout(Duration.ofSeconds(10))
  .build();

HttpRequest.Builder requestBuilder = HttpRequest.newBuilder()
  .uri(URI.create("http://localhost:3000/api/v1/auctions/quick-bid"))
  .header("Content-Type", "application/json")
  .POST(body)
  .build();

try {
  HttpResponse<String> response = client.send(requestBuilder.build(), BodyHandlers.ofString());
  System.out.println("Status code: " + response.statusCode());
  System.out.println("Response body: " + response.body());
} catch (Exception e) {
  e.printStackTrace();
}
using System;
using System.Net.Http;
using System.Text;

var body = new StringContent("""
{
  "value": "1750000000000000000",
  "quantity": 100
}
""", Encoding.UTF8, "application/json");

var client = new HttpClient();
var response = await client.PostAsync("http://localhost:3000/api/v1/auctions/quick-bid", body);
var responseBody = await response.Content.ReadAsStringAsync();
{
  "bidId": "bid_1234567890abcdef",
  "slot": 1234567,
  "actualValue": "1800000000000000000",
  "currentPosition": 3,
  "winProbability": 0.75,
  "wasAdjusted": false,
  "status": "confirmed",
  "message": "Bid placed successfully. Market is highly competitive.",
  "submittedAt": "2024-01-01T12:00:00.000Z"
}
{
  "statusCode": 400,
  "message": "Validation failed",
  "error": "Bad Request",
  "code": "VALIDATION_ERROR",
  "details": {
    "value": [
      "must be a positive number",
      "must be a string"
    ],
    "gasFeeCap": [
      "must not be empty"
    ]
  },
  "timestamp": "2024-01-01T12:00:00.000Z",
  "path": "/api/v1/bids",
  "requestId": "req_1234567890abcdef"
}
{
  "statusCode": 422,
  "message": "Invalid auction state for operation",
  "error": "Unprocessable Entity",
  "code": "INVALID_AUCTION_STATE",
  "details": {
    "currentState": "settled",
    "requiredState": "bidding",
    "auctionSlot": 1234567
  },
  "timestamp": "2024-01-01T12:00:00.000Z",
  "path": "/api/v1/bids",
  "requestId": "req_1234567890abcdef"
}