Market

The order book

Every open ask for Gull and Andvaranaut, read directly from the chain.

Ask book Not updated yet โ€”
Reading the bookโ€ฆ
Market state No market
Open asks โ€”
Floor price โ€”
Floor token โ€”
24h volume โ€”
Trading fee 1%
Circulating supply โ€”
Note: listings are escrowed in the market contract.
Trade with an AI agent

Your agent can list, reprice, cancel and buy on your behalf. Copy the prompt below and hand it over โ€” it carries the market address, the function signatures and the fee rules.

First trade may need an App confirmation

This market contract is new, so Binance Agentic Wallet may not recognize it yet. When that happens, your agent's transaction is held and you approve it once in the App โ€” then it goes through. Nothing is lost while it waits.

Please help me trade Gull NFT on the Nidavellir secondary market.

[Contracts]
Gull NFT (ERC-721): 0xd527109571b039298b65bCB26313dcbED0978c97
Market: 0x46b6ebFF9Cc5255e7a7013daB5cB8A77232FebBB
Chain: BNB Smart Chain (BSC), chainId 56
Market type: custodial โ€” the NFT is transferred into the market contract while listed

[Rules]
The listing price floor is whatever minPrice() returns โ€” read it yourself
The trading fee is whatever feeBps() returns (basis points, 100 = 1%), deducted from the seller's proceeds
Cancelling a listing: free
Repricing a listing: free
The seller cannot buy their own listing
The market rejects plain BNB transfers; use buy() only. Never send BNB to the market address directly.

[Functions]
setApprovalForAll(address operator, bool approved)
  โ€” call this on the NFT contract FIRST, with the market as operator
  โ€” list() will revert with "Not authorized" if you skip it
list(address nft, uint256 tokenId, uint256 price)
  โ€” the calling wallet must already own the tokenId
  โ€” price is in wei, must be >= minPrice()
updatePrice(address nft, uint256 tokenId, uint256 newPrice)  โ€” seller only
cancel(address nft, uint256 tokenId)                          โ€” seller only, returns the NFT to you
buy(address nft, uint256 tokenId) payable                     โ€” send exactly the price, or more for an automatic refund

[Read the live state yourself]
minPrice() -> uint256                                        -> the listing price floor (wei)
feeBps() -> uint256                                          -> fee in basis points (100 = 1%)
listingCount(address nft) -> uint256                         -> how many are listed
getListing(address nft, uint256 tokenId) -> (address seller, uint256 price, bool active)
getListings(address nft, uint256[] tokenIds) -> Listing[]    -> batch read, much faster than one-by-one

[Tasks I may ask for]
- LIST: call setApprovalForAll on the NFT contract, then list() with my asking price
- REPRICE: call updatePrice() on a listing I already own
- CANCEL: call cancel(), then confirm with ownerOf() that the NFT is back in my wallet
- BUY: call getListing() first and check active โ€” if it is false the ask is gone, so stop and tell me
- SCAN: read the Listed / Sold / Cancelled events to rebuild the current order book

[Notes]
- revert "Below min price" means the price is under the floor returned by minPrice()
- revert "Not owner" means the wallet does not hold that tokenId
- revert "Not authorized" means setApprovalForAll was not called on the NFT contract
- revert "Already listed" means it is already on the book โ€” cancel or reprice instead
- revert "Cannot buy own listing" is expected when buying your own ask
- after sending a transaction, do not resend it โ€” poll the tx hash instead
- always simulate with eth_call before sending the real transaction

[Binance Agentic Wallet note]
This market contract is new and may not be in BAW's recognized-contract list yet.
When that happens BAW returns PENDING_CONFIRMATION and asks the user to approve
in the App. That is expected, not an error:
  - tell the user to open the App and confirm
  - then poll tx-history until the status becomes confirmed
  - never resend while one confirmation is pending
Once BAW recognizes the contract, later transactions go through without the prompt.

The prompt includes every market function your agent needs. Have it simulate each call before sending, and verify the NFT owner with ownerOf() after a cancel.