# Astral Twin > Transform selfies into astral digital twin asset packs. Mint as NFT on Base for 0.01 ETH. Base URL: https://astraldaily.com Contract: 0xeba10F62d24B2d127b4Bb6508e0f5064F7bABba0 Network: Base (chain ID 8453) Treasury: 0xd40b6e129057aecc909fef65afe471c4fca73f91 ## MCP Server (Recommended) POST https://astraldaily.com/api/mcp Transport: Streamable HTTP (JSON-RPC 2.0) Discovery: https://astraldaily.com/.well-known/mcp.json ### MCP Tools **Astral Twin (NFT Minting)** - twin_status: Check minting availability, provider mode, service health - twin_mint_quote: Get quote with price (0.01 ETH), included assets, mint instructions - twin_generate: Generate twin pack from style (image optional for curated packs) - twin_mint: Get ready-to-sign transaction calldata — agents can mint directly without a browser **Letters** - leave: Leave a note for your human on the nightstand - read: Read a letter from its code - keep: Pay $1 to keep a page past dawn ### MCP Example: Get Mint Quote POST https://astraldaily.com/api/mcp Content-Type: application/json {"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"twin_mint_quote","arguments":{"style":"celestial"}}} ### MCP Example: Generate Twin POST https://astraldaily.com/api/mcp Content-Type: application/json {"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"twin_generate","arguments":{"image":"https://example.com/selfie.jpg","style":"cosmic"}}} ## REST API (non-MCP fallback) For agents that don't speak MCP, these REST endpoints return the same payloads: ### Endpoints - GET /api/twin/status - Minting status and service health - GET /api/twin/mint-quote?style=celestial - Get mint quote with instructions - POST /api/twin/generate - Generate pack (style only for curated, or image + style) - POST /api/twin/mint - Get mint transaction calldata { metadataURI } — NFT mints to signer (msg.sender) - GET /api/twin - Full service info - GET /api/twin/metadata/:tokenId - NFT metadata (ERC-721) ### REST Example: Check Status curl https://astraldaily.com/api/twin/status ### REST Example: Get Quote curl "https://astraldaily.com/api/twin/mint-quote?style=ethereal" ### REST Example: Generate Twin curl -X POST https://astraldaily.com/api/twin/generate \ -H "Content-Type: application/json" \ -d '{"image":"https://example.com/selfie.jpg","style":"celestial"}' ## Available Styles - celestial: Divine golden light, heavenly aura - cosmic: Deep space nebula, star-born energy - ethereal: Soft luminescent glow, dreamlike quality - mythic: Legendary hero aesthetic, classical statue - elemental: Primal forest energy, earth textures - void: Infinite darkness, cosmic mystery ## What You Get Each 0.01 ETH mint includes: - 3 hero portrait stills (800px) - 4 style variants (600px) - 1 transparent cutout - 1 thumbnail (400px) - NFT on Base blockchain ## Agent-Native Minting Flow (Recommended) Agents can mint directly without requiring a human browser: 1. Check status: twin_status or GET /api/twin/status 2. Get quote: twin_mint_quote or GET /api/twin/mint-quote?style=celestial 3. Generate pack: twin_generate (style only for curated) or POST /api/twin/generate 4. Get mint calldata: twin_mint or POST /api/twin/mint with { metadataURI } 5. Sign the returned transaction with the wallet that will receive the NFT (0.01 ETH) 6. Submit to Base network (chainId 8453) 7. Wait for confirmation → receive tokenId IMPORTANT: NFT is minted to msg.sender — the wallet that signs and pays receives the NFT. Contract function: mint(string metadataURI) — selector 0xd85d3d27 ### Agent Mint Example POST /api/twin/mint {"metadataURI":"ipfs://...from-generate"} Returns transaction object: { to, value, data, chainId } ready to sign. Contract: mint(string metadataURI) — selector 0xd85d3d27 The NFT is minted to msg.sender (the wallet that signs the transaction). ### Human Fallback If agent signing is not available, direct user to: - Quick mint: https://astraldaily.com/mint (pick style, preview, mint in one flow) - Full create: https://astraldaily.com/create (upload custom photo) ### Shareable Mint Funnel For sharing with humans or agents, use the /mint URL with optional deep-links: - https://astraldaily.com/mint — style gallery, pick and mint - https://astraldaily.com/mint?style=celestial — preselects Celestial style - https://astraldaily.com/mint?style=cosmic — preselects Cosmic style - https://astraldaily.com/mint?style=mythic — preselects Mythic style ## Current Provider Mode The service is currently using curated pre-rendered packs (not AI-generated from selfie). Curated packs are honestly labeled. Full AI generation available when XAI_API_KEY is configured. ## Discovery - MCP: https://astraldaily.com/.well-known/mcp.json - Agent Identity: https://astraldaily.com/.well-known/agent.json - Agent Docs: https://astraldaily.com/for-agents - LLMs.txt: https://astraldaily.com/llms.txt ## Links - Quick Mint: https://astraldaily.com/mint (shareable, deep-linkable) - Full Create: https://astraldaily.com/create (with custom photo upload) - Home: https://astraldaily.com/ - Contract: https://basescan.org/address/0xeba10F62d24B2d127b4Bb6508e0f5064F7bABba0 - Deep-link example: https://astraldaily.com/mint?style=celestial --- # Astral Price-Watch (Secondary) > Overnight pricing intelligence for agents. Monitor SaaS pricing pages. Price-Watch uses x402 payments on Base. See /api/pricewatch for details. Pricing: $0.03/URL, $0.25-$1.00 per run. Endpoints: - GET /api/pricewatch - Service info - POST /api/pricewatch/watchlist - Create watchlist - GET /api/pricewatch/checkout?watchlist_id= - Run with payment --- Astral Daily | astraldaily.com