# Auctions

**URL:** https://heroiclabs.com/docs/hiro/dart/auctions/
**Keywords:** auctions, hiro
**Categories:** hiro, dart, auctions

---


# Auctions

Read more about the Auctions system in Hiro [here](../../concepts/auctions/).

## Creating a New Auction

To create a new auction, use the `auctionsCreate` function.

```dart 
var request = AuctionCreateRequest();
request.templateId = "template_auction_001";
request.conditionId = "condition_001";
request.instanceIds = {
    "item_instance_001": "1"
};

var auction = await hiro.auctionsCreate(session!, request);
print(auction);
```

## Placing a Bid on an Auction

You can place a bid on an auction using the `auctionsBid` function.

```dart
var request = AuctionBidRequest();
request.id = "auction_instance_123";
request.version = "1.0";
request.instanceIds = {
    "gold": "1000"
};

var auction = await hiro.auctionsBid(session!, request);
print(auction);
```

## Canceling an Auction

If an auction needs to be canceled before it ends, the `auctionsCancel` method can be used.

```dart
var request = AuctionsCancelRequest();
request.id = "auction_instance_123";

var auctionCancel = await hiro.auctionsCancel(session!, request);
print(auctionCancel);
```

## Claiming a Winning Bid

Once an auction has ended, the winning bidder can claim their item using `auctionsClaimBid`.

```dart
var request = AuctionClaimBidRequest();
request.id = "auction_instance_123";

var auctionClaimBid = await hiro.auctionsClaimBid(session!, request);
print(auctionClaimBid);
```

## Listing Available Auctions

You can list the currently available auctions using the `auctionsList` function.

```dart
var request = AuctionListRequest();

var auctionList = await hiro.auctionsList(session!, request);
print(auctionList);
```
