Skip to main content

Overview

The Auction contract provides methods to list existing auctions, retrieve specific auctions, and create new dynamic auctions based on templates.

List Auctions

Fetch all auctions for your integrator.
const response = await client.auctions.listAuctions();

if (response.status === 200) {
  const auctions = response.body.result;
  auctions.forEach(auction => {
    console.log(`${auction.auction_base_token_symbol}/${auction.auction_quote_token_symbol}`);
    console.log(`Pool: ${auction.auction_pool_address}`);
  });
}

Response

{
  auction_pool_address: string;
  auction_pool_id: string;
  auction_base_token_name: string;
  auction_base_token_symbol: string;
  auction_base_token_address: string;
  auction_quote_token_name: string;
  auction_quote_token_symbol: string;
  auction_quote_token_address: string;
}

Get Auction by Pool Address

Retrieve a specific auction using its pool address.
const response = await client.auctions.getAuctionByPoolAddress({
  params: {
    poolAddress: '0x742d35Cc6634C0532925a3b844Bc454e4438f44e',
  },
});

if (response.status === 200) {
  const auction = response.body.result;
  console.log(`Auction: ${auction.auction_base_token_symbol}/${auction.auction_quote_token_symbol}`);
} else if (response.status === 404) {
  console.error('Auction not found');
}

Parameters

  • poolAddress (required): Hex-encoded pool address

Create Dynamic Auction

Create a new auction based on an auction template.
const response = await client.auctions.createDynamicAuction({
  body: {
    template_id: 'template-uuid',
    debug: false,
    metadata: {
      token_name: 'My Token',
      token_symbol: 'MTK',
      token_uri: 'ipfs://Qm...',
      user_address: '0x742d35Cc6634C0532925a3b844Bc454e4438f44e',
    },
  },
  query: {
    chainId: 8453, // Base Mainnet
  }
});

if (response.status === 200) {
  const result = response.body.result;
  console.log('Token Address:', result.token_address);
  console.log('Hook Address:', result.hook_address);
  console.log('Encoded Payload:', result.encoded_payload);
}

Parameters

  • template_id (required): UUID of the auction template
  • debug (optional): Enable debug mode (default: false)
  • metadata (required):
    • token_name: Token name
    • token_symbol: Token symbol
    • token_uri: IPFS URI for token metadata
    • user_address: Creator address

Response

{
  params?: {
    governance_factory: string;
    governance_factory_data: string;
    pool_initializer: string;
    pool_initializer_data: string;
    liquidity_migrator: string;
    liquidity_migrator_data: string;
    integrator: string;
    salt: string;
    initial_supply: string;
    num_tokens_to_sell: string;
    numeraire: string;
    token_factory: string;
    token_factory_data: string;
  };
  hook_address?: string;
  token_address?: string;
  encoded_payload: string;
}

Examples

Create Auction

const response = await client.auctions.createDynamicAuction({
  body: {
    template_id: 'template-uuid',
    metadata: {
      token_name: 'Community Token',
      token_symbol: 'COM',
      token_uri: 'ipfs://Qm...',
      user_address: '0x742d35Cc6634C0532925a3b844Bc454e4438f44e',
    },
  },
  query: {
    chainId: 8453, // Base Mainnet
  }
});

if (response.status === 200) {
  console.log('Auction created successfully');
  console.log('Encoded payload:', response.body.result.encoded_payload);
}

Find Auction for Specific Token Pair

const response = await client.auctions.listAuctions();

if (response.status === 200) {
  const auctions = response.body.result;

  const ethAuctions = auctions.filter(
    auction => auction.auction_quote_token_symbol === 'WETH'
  );

  console.log(`Found ${ethAuctions.length} ETH-quoted auctions`);
}

Debug Mode for Testing

const response = await client.auctions.createDynamicAuction({
  body: {
    template_id: 'test-template-uuid',
    debug: true, // Enable debug mode
    metadata: {
      // ... metadata
    },
  },
  query: {
    chainId: 8453, // Base Mainnet
  }
});
Debug mode provides additional logging and validation but should not be used in production.