# Aptos Explorer — Full LLM Reference > Last updated: 2026-07-21 (rev 24) > Comprehensive reference for AI systems interacting with or answering questions about the Aptos Explorer at [explorer.aptoslabs.com](https://explorer.aptoslabs.com). For a shorter overview, see [/llms.txt](https://explorer.aptoslabs.com/llms.txt). --- ## About Aptos Aptos is a Layer 1 blockchain built with Move, a resource-oriented programming language originally developed at Meta. The Aptos blockchain is designed for scalability, safety, and upgradeability. ### Key Aptos Concepts - **Move Language**: A resource-oriented programming language for smart contracts - **Accounts**: Identified by 32-byte addresses (64 hex characters, prefixed with 0x) - **Resources**: Typed data stored under accounts, defined by Move modules - **Modules**: Smart contract code deployed on-chain - **Transactions**: Signed messages that modify blockchain state - **Events**: Structured logs emitted during transaction execution - **Gas**: Computation and storage fees paid in APT (the native token) - **Objects**: First-class on-chain entities (beyond accounts) that can hold resources — see `/object/{address}` - **ANS**: Aptos Name Service — resolves human-readable `.apt` names to addresses --- ## URL Construction Guide **Base URL**: `https://explorer.aptoslabs.com` All URLs default to **mainnet**. To specify a network, append `?network=testnet`, `?network=devnet`, or `?network=local`. **Crawlers and canonical links**: The explorer’s [`robots.txt`](/robots.txt) disallows many bots from fetching URLs that include `?network=devnet` or `?network=local` (testnet is crawlable but rarely the canonical reference). When generating links for search indexes, AI crawlers, or other automated fetchers, **use mainnet paths without a `network` query parameter** unless you intentionally target another network. Humans can still switch networks in the UI or by appending `?network=...` as below. ### Page Routes and Tabs Each detail page has tabs accessible via path segments: #### Transactions - `/transactions` — paginated list of recent transactions - `?type=user` — show only user transactions (default when indexer is available) - `?type=all` — show all transaction types (user, block_metadata, state_checkpoint) - `?fn_addr={address}&fn_module={module}&fn_name={function}` — filter by entry function fields (e.g. `?fn_addr=0x1&fn_module=coin&fn_name=transfer`). Each field is optional but progressive: module requires address, function requires module. On the User Transactions view this is server-side filtering via indexed columns; on the All Transactions view it filters client-side on the current page. Legacy `?fn=0x1::coin::transfer` URLs are auto-migrated. - `/txn/{version}` — transaction by version number (integer) - `/txn/{hash}` — transaction by hash (0x-prefixed hex) - Tab paths: `/txn/{id}/userTxnOverview`, `/txn/{id}/events`, `/txn/{id}/payload`, `/txn/{id}/modules` (when the transaction emits package-publish signals or includes module write-set changes), `/txn/{id}/changes`, `/txn/{id}/balanceChange`, `/txn/{id}/trace` - **Trace** (`/txn/{id}/trace`): experimental **Move call trace** for user transactions (mainnet only). Fetches execution tree from Sentio’s public API when you open the tab; links into this explorer (callee account, module **Run** and **Code** tabs) plus Sentio’s interactive viewer. #### Accounts - `/account/{address}` — account overview (redirects to `/account/{address}/transactions`) - Tab paths: - `/account/{address}/transactions` — full transaction history (supports `?fn_addr=&fn_module=&fn_name=` to filter by function, server-side via indexed columns; filters sender-only transactions) - `/account/{address}/coins` — fungible token balances - `/account/{address}/tokens` — NFTs owned by this account - `/account/{address}/resources` — raw Move resources stored under the account - `/account/{address}/modules` — Move smart contract modules deployed here (includes a version selector to browse historical publish versions and view code at any past ledger version) - `/account/{address}/modules/packages` — package-level module grouping - `/account/{address}/modules/code/{moduleName}` — code viewer for one module (published source + client-side WASM decompiled bytecode + disassembly) - `/account/{address}/modules/run/{moduleName}/{functionName}` — execute entry functions - `/account/{address}/modules/view/{moduleName}/{functionName}` — call read-only view functions - `/account/{address}/multisig` — multisig transaction queue (if account is a multisig) - `/account/{address}/info` — sequence number, authentication key, account type #### Blocks - `/blocks` — paginated list of recent blocks - `/block/{height}` — block by height (integer) - Tab paths: `/block/{height}/overview`, `/block/{height}/transactions` #### Validators - `/validators` — active validator set with performance metrics (redirects to `/validators/all`) - Tab paths: - `/validators/all` — full validator list with voting power, liveness, rewards - `/validators/delegation` — delegation/staking pool information - `/validators/enhanced_delegation` — enhanced delegation view with additional pool metrics - `/validator/{address}` — individual delegatory validator detail page #### Coins and Fungible Assets - `/coins` — list of known coins and fungible assets - `/coin/{type}` — coin details by Move type (e.g., `/coin/0x1::aptos_coin::AptosCoin`) - Tab paths: `/coin/{type}/info`, `/coin/{type}/transactions`, `/coin/{type}/holders` - `/fungible_asset/{address}` — fungible asset by metadata address - Tab paths: `/fungible_asset/{address}/info`, `/fungible_asset/{address}/transactions`, `/fungible_asset/{address}/holders` #### Tokens (NFTs) - `/token/{tokenId}` — individual NFT/token details - Tab paths: `/token/{tokenId}/overview`, `/token/{tokenId}/activities` #### Move Objects - `/object/{address}` — Move object detail page (objects implementing the Aptos Object model) - Tab paths: `/object/{address}/info`, `/object/{address}/transactions`, `/object/{address}/coins`, `/object/{address}/tokens`, `/object/{address}/resources`, `/object/{address}/modules` - Modules sub-tabs: - `/object/{address}/modules/packages` - `/object/{address}/modules/code/{moduleName}` - `/object/{address}/modules/run/{moduleName}/{functionName}` - `/object/{address}/modules/view/{moduleName}/{functionName}` #### Settings - `/settings` — configure explorer preferences stored locally in the browser - **Move Bytecode Decompilation**: opt-in toggle to enable client-side decompilation of on-chain Move bytecode (Decompiled and Disassembly views on module code pages). Disabled by default; users must accept a disclaimer before enabling. - **API Key Overrides**: per-network geomi.dev API keys (same functionality previously in the header settings dialog) #### Releases Hub - `/releases` — top-level hub for everything network-version-related; redirects to the `networks` tab by default - `/releases/networks` — live deployment status across mainnet / testnet / devnet - Per-network card: epoch, block height, ledger version, chain ID, **framework release** derived from `0x1::gas_schedule::GasScheduleV2.feature_version` (mapped to aptos-core `gas_feature_versions` in `aptos-gas-schedule/src/ver.rs`, e.g. `1.43`; unmapped versions show as `gas N (unmapped)`), **bytecode format (max)** from VM Binary Format feature flags (highest Move module bytecode version accepted), node release (e.g. `v1.43.2`, resolved from `git_hash` via the GitHub commit message), node commit (short hash linked to `aptos-labs/aptos-core`), validator count, healthy/down chip - **Feature Flags by Network** comparison table sourced from `0x1::features::Features`; default view shows only flags whose enabled state differs across mainnet/testnet/devnet, with chip filters for All / Differences / Enabled (anywhere) / Disabled (everywhere). Names mirror the `FeatureFlag` Rust enum in `aptos-core` - `/releases/aips` — Aptos Improvement Proposals index sourced from `aptos-foundation/AIPs` - Sortable by AIP #, title, status, author; status filter chips (Draft / Last Call / Accepted / Final / Withdrawn / Living); each row deep-links to the proposal markdown on GitHub - Author column strips ``, `(@handle)`, github URLs, and markdown links so each row shows just the names - `/releases/sdks` — latest stable releases for the Aptos CLI, `aptos-node`, and official SDKs - Sources: GitHub Releases (CLI, node), npm (`@aptos-labs/ts-sdk`), PyPI (`aptos-sdk`), crates.io (`aptos-sdk`), Go module proxy (`pkg.go.dev/github.com/aptos-labs/aptos-go-sdk`) - Each card shows the latest **stable** SemVer release (excluding `-rc`, `-alpha`, `-beta`, etc.) as the headline; a "Recent releases" accordion lists up to 25 recent versions per registry with publish dates and a "Pre-release" badge on each non-stable entry - Legacy: `/deployments` redirects to `/releases/networks`, `/aips` redirects to `/releases/aips` #### Other Pages - `/analytics` — network analytics charts (TPS, DAU, gas, supply, new accounts) - `/verification` — on-chain verification tools - `/run-script` — advanced tool for building a raw Move **script transaction**. Paste compiled Move script bytecode (hex), declare each type argument and each typed function argument (a script has no on-chain ABI, so argument types must be supplied explicitly; `signer` params are added automatically by the wallet), then **Simulate** (build + simulate with the connected wallet's public key) and **Execute** (sign and submit via the wallet adapter). Prominent warnings advise that this is an advanced, potentially irreversible action and that the simulation output should be reviewed carefully. Compiler-based "source mode" is not available; only bytecode input is supported. Requires a connected wallet on the same network as the explorer. ### Network Query Parameter Append to any URL: - `?network=mainnet` (default, can be omitted) - `?network=testnet` - `?network=devnet` - `?network=local` Example: `https://explorer.aptoslabs.com/account/0x1/modules?network=testnet` --- ## Key Addresses and Types | Address | Description | |---|---| | `0x1` | Aptos Framework — core modules (coin, account, staking, governance, fungible_asset) | | `0x3` | Token v1 standard (legacy NFT/token module) | | `0x4` | Token v2 / Digital Asset standard (current NFT standard) | | Type | Description | |---|---| | `0x1::aptos_coin::AptosCoin` | Native APT coin type | | `0x1::coin::CoinStore` | Token balance for coin type T | | `0x1::account::Account` | Basic account information resource | | `0x1::staking_contract::StakingContract` | Staking delegation resource | | `0x4::token::Token` | NFT token v2 data | | `0x4::collection::Collection` | NFT collection v2 data | | `0x1::fungible_asset::Metadata` | Fungible asset metadata | | `0x1::object::ObjectCore` | Core resource for Move objects | --- ## Data Interpretation Guide ### Amounts and Units - **Octas**: The smallest unit of APT. 1 APT = 100,000,000 Octas (10^8) - Raw amounts in API responses and on-chain data are always in Octas - The explorer displays converted APT values with decimal notation - Example: `150000000` Octas = `1.5` APT ### Transaction Identifiers - **Version**: A sequential integer (0, 1, 2, …) assigned to every committed transaction. This is the primary identifier. - **Hash**: A 32-byte SHA3-256 hash (64 hex chars, 0x-prefixed). Used to look up transactions before they are committed or when the version is unknown. - Both `/txn/123456` (version) and `/txn/0xabc...def` (hash) are valid. ### Address Format - 32 bytes = 64 hex characters, always 0x-prefixed - Short form: leading zeros can be omitted (e.g., `0x1` is `0x0000…0001`) - The explorer accepts both short and full-length addresses ### Move Resource Type Syntax - Format: `{address}::{module_name}::{struct_name}` - With generics: `{address}::{module_name}::{struct_name}<{type_param}>` - Example: `0x1::coin::CoinStore<0x1::aptos_coin::AptosCoin>` ### Epochs and Rounds - **Epoch**: A period (~2 hours on mainnet) during which the validator set is fixed - **Round**: A sub-unit within an epoch for consensus - Epoch boundaries trigger staking reward distribution ### Sequence Numbers - Each account has a sequence number that increments with every transaction sent - Analogous to nonces in Ethereum - Visible on the account info tab ### ANS (Aptos Name Service) - Human-readable `.apt` names (e.g., `alice.apt`) can be looked up in the account page - The explorer resolves ANS names: an account's primary `.apt` name is displayed alongside the address - Enter an ANS name in the search bar to navigate to the associated account --- ## Example Prompts and Answers Below are worked examples showing how to route user questions to explorer URLs. **Q: "What is transaction 582947613?"** A: Visit `https://explorer.aptoslabs.com/txn/582947613` — this shows the full transaction details including sender, payload, events, and gas. **Q: "Show me the balance of 0xce462d0a77e4f6e7e9be93a08d498e6934fbb8ac02ddd6d5a472dd9dde9f7798"** A: Visit `https://explorer.aptoslabs.com/account/0xce46…7798/coins` — the coins tab shows all fungible token balances for this account. **Q: "What modules does the Aptos Framework have?"** A: Visit `https://explorer.aptoslabs.com/account/0x1/modules` — this lists all Move modules deployed at address 0x1 with viewable source code. **Q: "Can Explorer decompile module bytecode?"** A: Yes, after opting in. Visit `https://explorer.aptoslabs.com/settings` and enable **Move Bytecode Decompilation** (you must accept the disclaimer). Then open a module code page such as `https://explorer.aptoslabs.com/account/0x1/modules/code/coin` and select **Decompiled** or **Disassembly**. These are generated client-side in the browser using Move decompiler WASM. **Q: "Is there an APT coin page?"** A: Yes — `https://explorer.aptoslabs.com/coin/0x1::aptos_coin::AptosCoin` shows supply, metadata, and recent transactions for native APT. **Q: "What's the current TPS on Aptos?"** A: Visit `https://explorer.aptoslabs.com/analytics` — the analytics page shows real-time and historical TPS charts along with other network metrics. **Q: "Show me block 50000000"** A: Visit `https://explorer.aptoslabs.com/block/50000000` — shows the block's proposer, timestamp, and contained transactions. **Q: "How do I check the same account on testnet?"** A: Append `?network=testnet` to the URL. Example: `https://explorer.aptoslabs.com/account/0x1?network=testnet` **Q: "What validators are currently active?"** A: Visit `https://explorer.aptoslabs.com/validators` — shows the active validator set with voting power, performance, and staking info. **Q: "Where can I see token/NFT details?"** A: Individual NFTs: `/token/{tokenId}`. Collections are visible via the owning account's tokens tab. Fungible assets: `/fungible_asset/{address}`. **Q: "Convert 250000000 Octas to APT"** A: 250000000 ÷ 100000000 = 2.5 APT. The explorer shows converted values automatically. **Q: "I have a string but I'm not sure if it's an address or a transaction hash"** A: Use `https://explorer.aptoslabs.com/?search={string}` — the home page search bar detects the input type and shows matching results inline, grouped by entity type (accounts, transactions, blocks, coins, etc.). **Q: "Show me all coin transfer transactions"** A: Visit `https://explorer.aptoslabs.com/transactions?type=user&fn_addr=0x1&fn_module=coin&fn_name=transfer` — this filters user transactions to only show calls to the `0x1::coin::transfer` function using indexed columns. **Q: "What functions did account 0xabc…123 call?"** A: Visit `https://explorer.aptoslabs.com/account/0xabc…123/transactions` — the transactions tab shows all transactions. Use `?fn_addr=0x1&fn_module=aptos_account&fn_name=transfer` to filter to a specific function. **Q: "What is alice.apt's address?"** A: Enter `alice.apt` in the explorer search bar — it resolves the ANS name and navigates to the associated account page. **Q: "How can I see the APT fungible asset (not the coin)?"** A: The APT fungible asset metadata lives at address `0xa` (the paired FA for `0x1::aptos_coin::AptosCoin`). Visit `https://explorer.aptoslabs.com/fungible_asset/0xa` for its info and holders. **Q: "Can I see how a module looked before it was upgraded?"** A: Yes — visit the account's Modules tab and use the version selector dropdown to pick a previous publish transaction. The explorer fetches the packages, source code, and ABI as they existed at that ledger version. Click "Compare" to see a line-by-line diff between any two versions. --- ## Explorer Page Types ### Transaction Pages (`/txn/{version}` or `/txn/{hash}`) Displays: - Transaction version (sequential ID) and hash (unique identifier) - Sender address and status (success/failure) - Gas used and gas unit price - Timestamp and transaction type (user_transaction, block_metadata, state_checkpoint, etc.) - Payload (function called, arguments) - Events emitted, state changes (resource modifications), and balance changes ### Account Pages (`/account/{address}`) Tabs include: - **Transactions**: Transaction history for this account - **Coins**: Fungible token balances (both legacy coins and FA-standard tokens) - **Tokens**: NFTs owned by this account (Token v2 / Digital Asset standard) - **Resources**: Raw Move resources stored under the account (JSON view) - **Modules**: Smart contract code deployed by this account (with source if verified). A version selector lets you browse the full publish history and view packages, source, and ABI at any previous ledger version. A "Compare" button opens a side-by-side diff view to see exactly what changed between two versions. - Code tab supports Published Source, Decompiled (client-side WASM), and Disassembly views - **Multisig**: Pending and completed multisig transactions (if applicable) - **Info**: Account sequence number, authentication key, account type ### Block Pages (`/block/{height}`) Displays: - Block height, hash, and timestamp - First and last transaction versions - Number of transactions - Validator that proposed the block ### Validator Pages (`/validators`) Shows: - Active validator set with voting power distribution - Performance metrics (liveness, rewards) - Staking and delegation information ### Move Object Pages (`/object/{address}`) Shows: - Object info: type, owner, creation number - Resources stored within the object - Transactions involving the object - Coins and tokens held by the object - Modules deployed on the object (for objects that are also accounts) ### Analytics Pages (`/analytics`) Charts and metrics for: - Daily active users and transaction volume - Gas consumption and TPS (transactions per second) - Total supply and staking statistics - New accounts created --- ## Common Query Parameters - `network` — Select network: mainnet (default), testnet, devnet, local - `search` — On the home page (`/?search={query}`), pre-fills the search bar and executes the query immediately. Results are displayed inline on the page below the search input. Use this when the exact entity type is unknown — the explorer will auto-detect and show matching results grouped by type (accounts, transactions, blocks, coins, etc.). On Enter or a single unambiguous result, navigates directly to the entity page. - `fn_addr`, `fn_module`, `fn_name` — On `/transactions` and `/account/{address}/transactions`, filter transactions by entry function fields. `fn_addr` is the contract address (e.g. `0x1`), `fn_module` is the module name (e.g. `coin`), `fn_name` is the function name (e.g. `transfer`). Fields are progressive: module requires address, function requires module. On the User Transactions and account transactions views, this filters server-side via indexed GraphQL columns. On the All Transactions view, this filters client-side on the currently loaded page. Legacy `?fn=0x1::coin::transfer` is auto-migrated to the split params. - `type` — On `/transactions`, selects between `user` (user transactions only, default) and `all` (all transaction types) - Page/tab selection is path-based (e.g., `/account/0x1/modules`), not query-param-based --- ## API Endpoints Used by the Explorer The explorer fetches data from these Aptos APIs (for reference — these are not explorer URLs): ### REST API (Node/Fullnode) - `GET /accounts/{address}` — Account info (sequence number, auth key) - `GET /accounts/{address}/resources` — All Move resources - `GET /accounts/{address}/modules` — All Move modules (supports `?ledger_version={version}` for historical state) - `GET /transactions` — Recent transaction list - `GET /transactions/by_hash/{hash}` — Transaction by hash - `GET /transactions/by_version/{version}` — Transaction by version - `GET /blocks/by_height/{height}` — Block by height - `POST /view` — Call a Move view function (read-only on-chain query) ### Indexer GraphQL API - Endpoint: configured via environment (varies by network) - Queries: account transaction history, token ownership (`current_token_ownerships_v2`), fungible asset balances (`current_fungible_asset_balances`), event history, aggregate analytics ### External APIs - **Panora** (`api.panora.exchange/tokenlist`) — Full token/coin list with metadata, logos, bridge tags - **CoinGecko** (`api.coingecko.com`) — Current market prices and market cap data for coins - **GCS Bucket** (`storage.googleapis.com/aptos-mainnet/explorer/`) — Validator stats JSON, chain analytics JSON --- ## Limitations The explorer **cannot** do the following: - **No historical price data**: The explorer shows on-chain data only, not market prices or charts - **No cross-chain data**: Only Aptos L1 is supported — no bridged asset tracking or multi-chain views - **No wallet signing**: The explorer is read-only for browsing; it does not initiate or sign transactions on your behalf - **No full-text search of code**: Module source can be viewed but not searched across all accounts - **No time-range queries**: Transaction/event history is paginated, not filterable by date range (exception: the Modules tab lets you browse historical code by publish transaction version) - **No private/encrypted data**: Only public on-chain state is displayed - **Testnet/devnet data resets**: These networks reset periodically; historical data may be unavailable - **No historical balance snapshots**: Only current balances are shown --- ## Technical Stack - **Frontend**: React 19 with TypeScript 7.0 - **Routing**: TanStack Router (file-based routing) with SSR via TanStack Start - **Data Fetching**: TanStack Query v5 (React Query) with prefetching and caching - **UI**: Material-UI (MUI) v7 - **Build**: Vite 8 (Rolldown + Oxc) with SSR and Netlify deployment - **Blockchain SDK**: `@aptos-labs/ts-sdk` for fullnode REST and indexer GraphQL --- ## Related Resources - Aptos developer docs: [aptos.dev](https://aptos.dev) - Aptos GitHub: [github.com/aptos-labs](https://github.com/aptos-labs) - Explorer source code: [github.com/aptos-labs/explorer](https://github.com/aptos-labs/explorer) - Aptos Labs: [aptoslabs.com](https://aptoslabs.com) --- ## Agent Discovery Surfaces The explorer ships several machine-readable surfaces beyond `llms.txt` so autonomous agents, crawlers, and AI assistants can discover capabilities without scraping HTML. Everything here is additive; the SPA remains the canonical user experience. ### Well-known URIs - **`/.well-known/api-catalog`** — RFC 9727 API catalog, served as `application/linkset+json` (RFC 9264). Advertises the upstream Aptos fullnode REST APIs (mainnet, testnet, devnet), the Aptos indexer GraphQL API, and this explorer itself. Each entry carries `service-desc` (OpenAPI spec), `service-doc` (human docs), and `status` (health endpoint) links. - **`/.well-known/agent-skills/index.json`** — Agent Skills Discovery RFC v0.2.0 index (`$schema: https://schemas.agentskills.io/discovery/0.2.0/schema.json`). Currently publishes two skills: - `aptos-explorer-urls` — maps on-chain questions to canonical explorer URLs, tabs, and identifiers. - `aptos-explorer-search` — teaches agents to use the home-page `/?search={query}` auto-detection for opaque inputs. Each skill entry includes a SHA-256 digest of its `SKILL.md` artifact. - **`/.well-known/mcp/server-card.json`** — MCP Server Card (SEP-1649 / SEP-2127 draft), served as `application/json`. Publishes `serverInfo`, the WebMCP transport endpoint (`https://explorer.aptoslabs.com/`), and the read-only navigation tool capabilities exposed by the Explorer. ### HTTP Link headers (RFC 8288) The home page (and, as a fallback, every path) responds with a `Link` header that advertises the api-catalog, the MCP Server Card, the agent-skills index, and both `llms.txt` / `llms-full.txt`. Example: ``` Link: ; rel="api-catalog"; type="application/linkset+json", ; rel="https://agentskills.io/rel/index"; type="application/json", ; rel="https://modelcontextprotocol.io/rel/server-card"; type="application/json", ; rel="alternate"; type="text/plain"; title="LLM Documentation (Summary)", ; rel="alternate"; type="text/plain"; title="LLM Documentation (Full)", ; rel="sitemap"; type="application/xml" ``` ### Markdown content negotiation When a request to `/` (or `/index.html`) includes `Accept: text/markdown`, TanStack Start SSR (`app/ssr.tsx` / `app/utils/markdownHomeNegotiation.ts`) serves the same content as `/llms.txt` (bundled at build time) with `Content-Type: text/markdown; charset=utf-8`, a `Vary: Accept` header, and an `X-Markdown-Source` hint pointing to the underlying file. Browsers (which request `text/html`) are unaffected — they still receive the SSR HTML. For the full markdown reference, agents should fetch `/llms-full.txt` directly. ### WebMCP tools When running in a browser that supports `navigator.modelContext` (Web Machine Learning CG "WebMCP" draft), the explorer registers a small set of read-only navigation tools so in-browser agents can open pages by identifier instead of by scraping the DOM. All tools are navigation-only and never sign transactions. Currently registered: | Tool | What it does | | --- | --- | | `search_explorer` | Navigate to `/?search={query}` with optional network. | | `open_transaction` | Open `/txn/{id}` (version or hash) with optional tab. | | `open_account` | Open `/account/{address}` (hex or `.apt`) with optional tab. | | `open_block` | Open `/block/{height}`. | | `open_releases` | Open `/releases` (or `/releases/networks|aips|sdks`). | | `open_coin` | Open `/coin/{type}` for a fully-qualified Move coin type. | Each tool declares a JSON Schema `inputSchema` and the `readOnlyHint` annotation. Registration cleans up via `AbortSignal` on unmount. ### Content usage preferences `/robots.txt` declares [Content Signals](https://contentsignals.org) directives at both the top of the file and per `User-agent: *` / AI crawler group: ``` Content-Signal: ai-train=no, search=yes, ai-input=yes ``` This expresses consent for search indexing and grounded AI answers (with attribution), and denies consent for using explorer pages as AI training data.