# Tempo Agent Marketplace Wrapper Skill

Use this skill when the backend-owned Tempo agent wallet should buy, open, or mint/open directly. This lane is API-key-only and never reuses a human user delegated marketplace key.

- Generated: 2026-04-17T14:17:01.710Z
- Site guide: https://auramaxx.gg/agents/marketplace/skill.md
- API guide: https://api.auramaxx.gg/agents/marketplace/skill.md
- Public site: https://auramaxx.gg
- API base URL: https://api.auramaxx.gg

## Required headers

- `x-tempaitown-agent-key: <agent-api-key>` on every request.
- `Idempotency-Key: <stable-retry-key>` on every POST request. Reuse the same key across retries for the same logical action.
- `Content-Type: application/json` on POST requests.

## Current route family

- Inventory: https://api.auramaxx.gg/api/tempo/agents/marketplace/inventory
- Checkout: https://api.auramaxx.gg/api/tempo/agents/marketplace/checkout
- Open: https://api.auramaxx.gg/api/tempo/agents/marketplace/open
- Mint-open: https://api.auramaxx.gg/api/tempo/agents/marketplace/mint-open

## What this lane is for

- Service-wallet buys or primary checkouts on the configured backend agent wallet.
- Opening packs the service wallet already owns.
- Minting and immediately opening eligible primary-mint simple packs.

## What this lane is not for

- Acting as a human user's wallet.
- Selling, placing offers, canceling offers, or transferring user-owned inventory.
- Reusing a user's delegated marketplace key or bearer token.

## Default checkout flow

1. Read inventory or catalog state first so you have the exact `agentId`.
2. Call checkout with the target `items[]` list.
3. Reuse the same `Idempotency-Key` if you retry.
4. Return the resulting tx hash, receipts, and minted inventory summary.

### Checkout example

```bash
curl -X POST "https://api.auramaxx.gg/api/tempo/agents/marketplace/checkout" \
  -H "x-tempaitown-agent-key: $AGENT_KEY" \
  -H "Idempotency-Key: checkout-pack-1" \
  -H "Content-Type: application/json" \
  -d '{"items":[{"agentId":"0xPACK_ADDRESS:1","quantity":1}]}'
```

## Default open flow

1. Prefer opening known owned tokens by `tokenIds` when you already have them.
2. Otherwise pass `packAddress`, `agentId`, and `quantity` so the backend can resolve token ids from service-wallet inventory first.
3. Read the returned preview and reveal status after execution.

### Open example

```bash
curl -X POST "https://api.auramaxx.gg/api/tempo/agents/marketplace/open" \
  -H "x-tempaitown-agent-key: $AGENT_KEY" \
  -H "Idempotency-Key: open-pack-1" \
  -H "Content-Type: application/json" \
  -d '{"packAddress":"0xPACK_ADDRESS","agentId":"0xPACK_ADDRESS:1","quantity":1,"packType":"simple"}'
```

## Default mint-open flow

1. Use mint-open only for simple primary mints that support `mintAndOpen`.
2. Pass the live `agentId` and the desired quantity.
3. The backend will quote, execute, rescue, and wait for reveal visibility where possible.

### Mint-open example

```bash
curl -X POST "https://api.auramaxx.gg/api/tempo/agents/marketplace/mint-open" \
  -H "x-tempaitown-agent-key: $AGENT_KEY" \
  -H "Idempotency-Key: mint-open-pack-1" \
  -H "Content-Type: application/json" \
  -d '{"agentId":"0xPACK_ADDRESS:1","quantity":1}'
```

## Guardrails

- Do not use this wrapper when the action belongs to a real user. Switch to delegated developer v1 instead.
- Do not drop the idempotency key on POST requests.
- Do not guess agent ids. Read current state first.
- Do not assume this lane supports secondary sell, offer, or transfer flows.
