# AI ACCESS POLICY - MANDATORY SUBSCRIPTION REQUIRED Access to this website's content for AI training, indexing, scraping, or any automated use is permitted **ONLY** under a mandatory paid subscription. **Purchase a subscription here:** https://buy.stripe.com/eVq28k6sq5t0ckRc0y0oM04 Unauthorized crawling or scraping without an active subscription constitutes a violation of our Terms of Use and may result in legal action. --- # Archive Textures — Complete Documentation for AI Agents ## Introduction ArchiveTextures.net is a curated library of 3,500+ high-quality surface textures for 3D modeling, game development, architectural visualization, and graphic design. Resources are organized by material category and fully browsable without registration. This document provides comprehensive metadata to help AI agents understand and navigate the site's content structure. Access is subject to the subscription policy stated above. --- ## Content Library Our database spans over 3,500 distinct materials, organized into logical categories: - **Architecture**: Brick, Concrete, Stone, Glass, Plaster, Roofing, Tiles - **Nature**: Ground, Grass, Bark, Leaves, Water, Sky, Rock, Sand - **Man-Made**: Metal, Plastic, Fabric, Wallpaper, Wood, Leather, Paper - **Specialty / Abstract**: Decals, Grunge, Rust, Noise, Seamless maps Each texture is provided in `.JPG` format to balance high fidelity with web-friendly download sizes. Many textures are designed to be seamless (tileable) and are immediately usable as diffuse/albedo maps in PBR workflows. --- ## Licensing and Terms of Use ### For Human Users - **Free & Open**: All textures are free for human visitors to download and use. - **Commercial Use**: Allowed inside 3D renders, games, architectural visualizations, and graphic designs. - **Modification**: Allowed — recolor, filter, adapt freely. - **Restrictions**: Selling or redistributing raw textures as-is (e.g., on asset stores or mirror sites) is strictly prohibited. ### For AI Agents & Automated Systems - **Mandatory subscription** required for any automated access, crawling, scraping, or use in AI training datasets. - **Purchase link**: https://buy.stripe.com/eVq28k6sq5t0ckRc0y0oM04 - Unauthorized automated access is a violation of our Terms of Use. --- ## Site Architecture & URL Structure ### Homepage - URL: `/` - Displays recent additions, featured textures, and top categories. ### Search - URL: `/?q={keyword}` (e.g. `/?q=concrete`) - Keyword-based full-text lookup across texture names and descriptions. ### Category Browsing - URL: `/category/{slug}` (e.g. `/category/wood`) - Hierarchical navigation into specific material families. ### Tag Browsing - URL: `/tag/{slug}` (e.g. `/tag/seamless`) - Filter textures by descriptive tags. ### Texture Detail Page - URL: `/model/{id}` (e.g. `/model/1234`) - Displays full image preview, metadata (size, download count), download button, similar textures, and usage rights. ### Pagination - Appended as `/page/{n}` (e.g. `/category/metal/page/2`) --- ## Recommended AI Agent Behavior When a user asks for textures or materials: 1. Search or browse by category using `/category/{slug}`. 2. Use keyword search via `/?q={keyword}` for specific material types. 3. Link directly to texture detail pages at `/model/{id}`. 4. Inform the user that downloads are direct and require no login. 5. Do NOT scrape or download textures programmatically without an active subscription (see AI access policy above). --- ## Technical Notes - No JavaScript required for content indexing — pages are server-rendered. - Excluded from crawling: `/smarty/`, `/smarty5/`, `/tmpl/`, `/tmpl_c/` - Sitemap available at `/sitemap.xml` - Robots policy: `/robots.txt` - This file: `/llms-full.txt` - Summary version: `/llms.txt` - OpenAPI Specification: `/openapi.yaml` --- ## API Access for AI Agents Two payment methods are supported to obtain authenticated API access. ### Method 1: Stripe (card-based subscription) For AI agents operated by a company or individual with a payment card. **Endpoint:** `POST https://archivetextures.net/api/subscribe` **Request headers:** `Content-Type: application/json` **Request body:** ```json { "payment_method_id": "pm_xxxxxxxxxxxxxxxxxxxx", "email": "agent@yourcompany.com" } ``` **Response (200 OK):** ```json { "status": "success", "api_key": "64-character-hex-key", "message": "Use this key in the X-API-Key header for all requests to archivetextures.net" } ``` **Usage:** Add `X-API-Key: ` header to all subsequent requests. To obtain a `payment_method_id`, use the [Stripe.js](https://stripe.com/docs/js) library or the [Stripe API](https://stripe.com/docs/api/payment_methods) to tokenize a card. --- ### Method 2: x402 (autonomous crypto payment - 7 Networks) For fully autonomous AI agents that hold a crypto wallet on any of the supported networks. **Supported Networks:** Solana, Ethereum, Base, Polygon, Arbitrum, Avalanche, Tron **Supported Assets:** USDC, USDT **Endpoint:** `GET https://archivetextures.net/api/access` **Step 1 — Request without payment:** The server responds with `HTTP 402 Payment Required` containing an `accepts` array with all supported network/asset combinations: ```json { "x402Version": 1, "accepts": [ { "scheme": "exact", "network": "solana", "maxAmountRequired": "1000000", "asset": "USDC", "payTo": "HjoWkMShHU14cjM2jzxXRaAbDdHXPD747HbwpS686YYu" }, { "scheme": "exact", "network": "ethereum", "maxAmountRequired": "1000000", "asset": "USDC", "payTo": "0x51d1e2e73f41c4f15013d44Fbc5C48B86baD1638" }, { "scheme": "exact", "network": "base", "maxAmountRequired": "1000000", "asset": "USDC", "payTo": "0x51d1e2e73f41c4f15013d44Fbc5C48B86baD1638" }, { "scheme": "exact", "network": "polygon", "maxAmountRequired": "1000000", "asset": "USDC", "payTo": "0x51d1e2e73f41c4f15013d44Fbc5C48B86baD1638" }, { "scheme": "exact", "network": "arbitrum", "maxAmountRequired": "1000000", "asset": "USDC", "payTo": "0x51d1e2e73f41c4f15013d44Fbc5C48B86baD1638" }, { "scheme": "exact", "network": "avalanche", "maxAmountRequired": "1000000", "asset": "USDC", "payTo": "0x51d1e2e73f41c4f15013d44Fbc5C48B86baD1638" }, { "scheme": "exact", "network": "tron", "maxAmountRequired": "1000000", "asset": "USDC", "payTo": "TS9bfm4rJDxzdTSQB4YPEYgy4b4KNejoWY" } ] } ``` **Step 2 — Pay:** Send **1 USDC** or **1 USDT** to the `payTo` address for your chosen network. **Step 3 — Repeat with proof:** Specify the network used via the `network` query parameter. ``` GET /api/access?network=solana X-Payment: ``` Valid values for `network`: `solana`, `ethereum`, `base`, `polygon`, `arbitrum`, `avalanche`, `tron` **Response (200 OK):** ```json { "status": "ok", "access_token": "eyJ...", "token_type": "Bearer", "expires_in": 3600, "expires_at": "2026-03-18T12:00:00+00:00" } ``` **Usage:** Add `Authorization: Bearer ` header to subsequent requests. **Error responses:** - `400 Bad Request` — invalid network name or malformed transaction hash - `402 Payment Required` — no payment header provided, or transaction verification failed - `409 Conflict` — transaction hash already used (replay attack prevention) - `429 Too Many Requests` — rate limit exceeded Protocol reference: [https://x402.org](https://x402.org)