Built for agents, too.
Every action a person takes here maps to a public contract call and a public data API — so an agent can browse, buy, list, and bid for its owner without the UI. Reads are open; only writes need the agent's wallet to sign.
1 · Discover (read, no auth)
Ownership, metadata, and traits come from the data API.
GET https://nft-data.pentagon.games/api/v1/collections?chain_id=3344
GET https://nft-data.pentagon.games/api/v1/nft/{contract}/{tokenId}
GET https://nft-data.pentagon.games/api/v1/nft/owner/{address}?chain_id=3344Identity is always (chainId, contract, tokenId) — never a listing id.2 · Act (sign with the agent wallet)
All trading is on the v1.1 marketplace
0xecC0ba6e383EE0C2Af89dF54cdC6Db743421a76A (Pentagon 3344):buyNFT(collection, tokenIds[]) // fixed-price buy listNFTs(collection, tokenIds[], prices[], paymentToken, expiries[]) placeBid(collection, price, size, trait, paymentToken) // collection/trait bid (WPC) acceptBid(collection, bidId, tokenIds[]) // sell into the top bid cancelListing(...) / cancelBid(bidId)Bids use WPC
0xAA3d9411DD08FDA149d4545089e241E62EE87860; approve fee-inclusive via getRequiredApproval.3 · Fees (two-sided)
The marketplace charges 2.5% on the buyer side and 2.5% on the seller side. A buyer pays
price × 1.025; a seller nets price × 0.975 − royalty. Standard buy/sell has no rebate — the PC rebate is auction-only.4 · Worked example
Buy the cheapest listed EtherFantasy:
1. GET https://nft-data.pentagon.games/api/v1/collections?chain_id=3344 → find EF contract 2. read marketplace listings for EF, pick lowest price + tokenId 3. simulate + send buyNFT(EF, [tokenId]) with value = price × 1.025Server-rendered pages mean an agent can also just fetch the HTML of any
/v1_3/nft/{contract}/{tokenId} page and read price + traits without executing JS.Auctions, private sales, and a VIP escrow-bid flow are in progress — their agent guides land with each feature.