{"openapi": "3.1.0", "info": {"title": ".botid Agent Identity API", "version": "3.0.0", "description": "Base blockchain-native .botid identity, resolver, delegation and marketplace tools. All writes return unsigned transactions only."}, "servers": [{"url": "https://agents.getcryptodomains.com"}], "paths": {"/api/v1/tools/botid_lookup": {"post": {"summary": "Read authoritative Base .botid ownership, expiry and availability.", "requestBody": {"required": true, "content": {"application/json": {"schema": {"type": "object", "properties": {"label": {"type": "string"}}, "required": ["label"], "additionalProperties": false}}}}, "responses": {"200": {"description": "Tool response"}, "400": {"description": "Invalid request"}, "503": {"description": "Base RPC unavailable"}}}}, "/api/v1/tools/botid_price": {"post": {"summary": "Read the current on-chain yearly registration quote.", "requestBody": {"required": true, "content": {"application/json": {"schema": {"type": "object", "properties": {}, "additionalProperties": false}}}}, "responses": {"200": {"description": "Tool response"}, "400": {"description": "Invalid request"}, "503": {"description": "Base RPC unavailable"}}}}, "/api/v1/tools/botid_check": {"post": {"summary": "Check whether a .botid label is currently available on Base.", "requestBody": {"required": true, "content": {"application/json": {"schema": {"type": "object", "properties": {"label": {"type": "string"}}, "required": ["label"], "additionalProperties": false}}}}, "responses": {"200": {"description": "Tool response"}, "400": {"description": "Invalid request"}, "503": {"description": "Base RPC unavailable"}}}}, "/api/v1/tools/botid_register_prepare": {"post": {"summary": "Prepare an unsigned Base registration transaction. The owner must review and sign it.", "requestBody": {"required": true, "content": {"application/json": {"schema": {"type": "object", "properties": {"label": {"type": "string"}}, "required": ["label"], "additionalProperties": false}}}}, "responses": {"200": {"description": "Tool response"}, "400": {"description": "Invalid request"}, "503": {"description": "Base RPC unavailable"}}}}, "/api/v1/tools/botid_resolve": {"post": {"summary": "Read wallet, API, MCP, website, metadata and verification records from the resolver.", "requestBody": {"required": true, "content": {"application/json": {"schema": {"type": "object", "properties": {"label": {"type": "string"}}, "required": ["label"], "additionalProperties": false}}}}, "responses": {"200": {"description": "Tool response"}, "400": {"description": "Invalid request"}, "503": {"description": "Base RPC unavailable"}}}}, "/api/v1/tools/botid_update_records": {"post": {"summary": "Prepare an unsigned resolver record update transaction for the current .botid owner.", "requestBody": {"required": true, "content": {"application/json": {"schema": {"type": "object", "properties": {"label": {"type": "string"}, "record": {"type": "string", "enum": ["wallet", "api", "mcp", "website", "metadata", "verification_key"]}, "value": {"type": "string"}}, "required": ["label", "record", "value"], "additionalProperties": false}}}}, "responses": {"200": {"description": "Tool response"}, "400": {"description": "Invalid request"}, "503": {"description": "Base RPC unavailable"}}}}, "/api/v1/tools/botid_subdomains": {"post": {"summary": "Read a named child delegation under a .botid parent.", "requestBody": {"required": true, "content": {"application/json": {"schema": {"type": "object", "properties": {"parent": {"type": "string"}, "child": {"type": "string"}}, "required": ["parent", "child"], "additionalProperties": false}}}}, "responses": {"200": {"description": "Tool response"}, "400": {"description": "Invalid request"}, "503": {"description": "Base RPC unavailable"}}}}, "/api/v1/tools/botid_delegate_subdomain": {"post": {"summary": "Prepare an unsigned parent-owner transaction to delegate a child .botid name.", "requestBody": {"required": true, "content": {"application/json": {"schema": {"type": "object", "properties": {"parent": {"type": "string"}, "child": {"type": "string"}, "holder": {"type": "string"}, "expires_at": {"type": "integer"}}, "required": ["parent", "child", "holder", "expires_at"], "additionalProperties": false}}}}, "responses": {"200": {"description": "Tool response"}, "400": {"description": "Invalid request"}, "503": {"description": "Base RPC unavailable"}}}}, "/api/v1/tools/botid_marketplace_list": {"post": {"summary": "Read live listing and pending-listing state for one specified .botid name. No global enumeration.", "requestBody": {"required": true, "content": {"application/json": {"schema": {"type": "object", "properties": {"label": {"type": "string"}}, "required": ["label"], "additionalProperties": false}}}}, "responses": {"200": {"description": "Tool response"}, "400": {"description": "Invalid request"}, "503": {"description": "Base RPC unavailable"}}}}, "/api/v1/tools/botid_marketplace_list_name": {"post": {"summary": "Prepare the first unsigned transaction for listing a name. Then transfer the name to escrow and activate the listing as separate wallet-approved steps.", "requestBody": {"required": true, "content": {"application/json": {"schema": {"type": "object", "properties": {"label": {"type": "string"}, "price_wei": {"type": "string"}, "duration_seconds": {"type": "integer"}}, "required": ["label", "price_wei", "duration_seconds"], "additionalProperties": false}}}}, "responses": {"200": {"description": "Tool response"}, "400": {"description": "Invalid request"}, "503": {"description": "Base RPC unavailable"}}}}, "/api/v1/tools/botid_marketplace_buy": {"post": {"summary": "Prepare an unsigned purchase transaction for a currently active escrow listing; exact ETH value is included.", "requestBody": {"required": true, "content": {"application/json": {"schema": {"type": "object", "properties": {"label": {"type": "string"}}, "required": ["label"], "additionalProperties": false}}}}, "responses": {"200": {"description": "Tool response"}, "400": {"description": "Invalid request"}, "503": {"description": "Base RPC unavailable"}}}}}}