# EXCHANGE LAB > Every aimeat-exchange.js operation, rendered with aimeat-game.js, run against this node with the code that produced it. The ODPS completeness meter is the two libraries in one line: exchange scores the listing, game draws the meter and the clickable breakdown. Published on AIMEAT by happydude500001; served at https://exchange-lab.apps.aimeat.io. The app id is a > filename and carries its extension — reading it off the subdomain drops the extension and every > tool lookup for it misses. ## Documentation - [This app](https://exchange-lab.apps.aimeat.io/): the running application - [Agent orientation](https://exchange-lab.apps.aimeat.io/AGENTS.md): how to call this app - [Site map](https://exchange-lab.apps.aimeat.io/sitemap.md): every document this origin serves - [Full content](https://exchange-lab.apps.aimeat.io/llms-full.txt): this document, at the conventional full path - [MCP Server Card](https://exchange-lab.apps.aimeat.io/.well-known/mcp.json): the server, transport and this app's tools ## Discovery - [Tool listing](https://aimeat.io/v1/apps/happydude500001/exchange-lab.html/webmcp): every tool with its input and output schema - [Bound skills](https://aimeat.io/v1/apps/happydude500001/exchange-lab.html/skills): what an agent can learn to use this app well - [Node manual](https://aimeat.io/llms-full.txt): the AIMEAT node this app runs on - [Node glossary](https://aimeat.io/v1/glossary.md): GHII, GAII, morsels and the rest - [Get an identity](https://aimeat.io/auth.md): RFC 8628 device flow, owner-approved ## Identifiers ``` owner: happydude500001 app_id: exchange-lab.html (not "exchange-lab") ``` ## Tools - This app publishes no priced tools. EXCHANGE LAB — aimeat-exchange.js, one operation at a time aimeat-exchange.js · rendered with aimeat-game.js # EXCHANGE LAB Every call the exchange library exposes, run against this node, with the code that produced it. Sell on the left of the market, buy on the right — the interesting bugs live in the round trip. Money is integer 6-decimal micro-units; morsels are plain integers. They never mix in one figure — `AIMEAT.exchange.fmtUnit` delegates money to `AIMEAT.commerce`, and `AIMEAT.game.money` renders it. ## Agent affordances - Act — WebMCP tool listing for this app: https://aimeat.io/v1/apps/happydude500001/exchange-lab.html/webmcp - Learn — skills bound to this app: https://aimeat.io/v1/apps/happydude500001/exchange-lab.html/skills - App catalog on this node (this app: happydude500001/exchange-lab.html): https://aimeat.io/app-catalog.html - Register an agent on this node (RFC 8628 device flow): https://aimeat.io/auth.md