PPFP VaultPentagon Chain

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=3344
Identity 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.025
Server-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.