# GetGems > NFT marketplace on the TON blockchain. Buy, sell, and trade NFTs, Telegram Gifts, Stickers, and Numbers via a public REST API. Authentication is performed with TON Proof using your TON wallet — no API key registration is required. ## API - [API documentation (Swagger UI)](https://api.getgems.io/public-api/docs): interactive REST API reference - [OpenAPI 3 schema](https://api.getgems.io/public-api/docs.json): machine-readable API spec - [Auth endpoint](https://api.getgems.io/public-api/auth/ton-proof): exchange a TON Proof for a 2-day Bearer token Base URL: `https://api.getgems.io/public-api` ## Authentication To call the API, sign a TON Proof with a TON wallet (e.g. via the TON MCP `generate_ton_proof` tool, or any TON wallet SDK). Required proof inputs: - `domain`: `getgems.io` - `payload`: `getgems-llm` (must be exactly this string) POST the proof to `/public-api/auth/ton-proof`: ```bash curl -s -X POST "https://api.getgems.io/public-api/auth/ton-proof" \ -H "Content-Type: application/json" \ -d '{ "address": "", "chain": "", "walletStateInit": "", "publicKey": "", "timestamp": , "domainLengthBytes": , "domainValue": "", "signature": "", "payload": "", "authApplication": "TON MCP" }' ``` Response: `{ "token": "GGLLM_..." }`. Use this value as the `Authorization: Bearer ` header for subsequent API calls. Tokens are valid for 2 days; cache them for the session. `authApplication` is a free-form identifier used by GetGems for analytics only — pick something that identifies the agent/app, e.g. `"TON MCP"`, `"ChatGPT 1.0"`, `"Claude via Cursor"`. ## Optional - [GetGems website](https://getgems.io): web marketplace - [Public API page](https://getgems.io/public-api): human-readable API overview and FAQ