Raw schema
{
"type": "object",
"properties": {
"email": {
"type": "string",
"format": "email",
"description": "Owner email address"
},
"name": {
"type": "string",
"minLength": 1,
"description": "Name for the agent (e.g. \"StyleHunter\", \"LuxFinder\")"
},
"tier": {
"type": "string",
"enum": [
"basic",
"pro"
],
"default": "basic",
"description": "\"basic\" = Personal Shopper (free, rule-based). \"pro\" = Concierge (credit-based, LLM-powered, learns over time)."
},
"wallet_address": {
"type": "string",
"pattern": "^0x[a-fA-F0-9]{40}$",
"description": "EVM wallet address for the agent (receives purchases, holds USDC)"
},
"style_tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Fashion style preferences: streetwear, luxury, vintage, sneakers, etc."
},
"free_instructions": {
"type": "string",
"description": "Natural language instructions for what the agent should look for"
},
"budget_ceiling_usdc": {
"type": "number",
"description": "Maximum USDC per transaction"
},
"bid_aggression": {
"type": "string",
"enum": [
"conservative",
"balanced",
"aggressive"
],
"default": "balanced",
"description": "Bid style: conservative (reserve price), balanced (midpoint), aggressive (ceiling)"
},
"llm_provider": {
"type": "string",
"enum": [
"claude",
"deepseek"
],
"default": "claude",
"description": "LLM provider for Concierge tier. Claude (Anthropic) or DeepSeek."
},
"persona_bio": {
"type": "string",
"description": "Agent personality description"
},
"persona_voice": {
"type": "string",
"description": "Communication tone: formal, casual, witty, technical, streetwise"
}
},
"required": [
"email",
"name",
"wallet_address"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}