# Fluid Wallet — fluidnative.com > Fluid Wallet is an agentic-native, self-custodial crypto wallet built on Base. Users register with email and password, get a 12-word seed phrase, and set up Google Authenticator (TOTP) for security. Once registered, they can create scoped API keys (called Agentic Keys) that allow AI agents to send, swap, and pay on their behalf — without ever exposing the seed phrase or private key. ## What is Fluid Wallet? Fluid Wallet is a web-based crypto wallet at https://fluidnative.com with: - Email + password authentication (Firebase) - Self-custodial wallets on Base, Ethereum, Solana, and Injective - TOTP (Google Authenticator) 2FA security gate - Fluid SOR: a Smart Order Router for best-price token swaps - Stable AMM for USDC/USDT liquidity - Agentic Keys: scoped API keys for AI agents ## How to Create an Account (Registration Flow) 1. Go to https://fluidnative.com 2. Click "Get Started" or "Register" 3. Select account type: Individual, Developer, or Business 4. Enter email and password, click Continue 5. A 12-word seed phrase is shown — must be written down and saved (shown only once) 6. Click "I've saved my seed phrase" to continue 7. A Google Authenticator QR code is shown — scan with phone 8. Enter the 6-digit OTP code to complete registration 9. Dashboard is now accessible ## How AI Agents Get Access (Agentic Keys) After registering, the account owner creates an Agentic Key: 1. Go to https://fluidnative.com/agentic-keys 2. Click "New Key" 3. Choose a name, scopes, per-transaction limit ($), and daily limit ($) 4. The key (format: fwag_...) is shown once — copy and save it 5. Set FLUID_AGENT_KEY=fwag_... in your agent's environment ## Agent SDK Package: fluid-wallet-agentkit (npm) Install: npm install fluid-wallet-agentkit ```javascript const { FluidAgent } = require('fluid-wallet-agentkit'); const agent = new FluidAgent({ apiKey: process.env.FLUID_AGENT_KEY }); // Get wallet balance const balance = await agent.getBalance(); // Send payment await agent.send({ to: '0x...', amount: '0.01', token: 'ETH', chain: 'base' }); // Swap tokens await agent.swap({ fromToken: 'ETH', toToken: 'USDC', amount: '0.1' }); // Pay another Fluid user by email await agent.agentPay({ toEmail: 'user@example.com', amount: '10', token: 'USDC' }); ``` ## CLI Setup ```bash # New account (guides through browser registration) npx fluid-wallet register # Existing account (connect agent to wallet) npx fluid-wallet setup # Check agent status npx fluid-wallet status ``` ## Agent API Base URL: https://fluidnative.com/v1/agents Authentication: X-Agent-Key: fwag_ header ### Scopes | Scope | What it allows | |-----------|----------------| | read | Balance, history, price quotes, gas estimates | | pay | Send ETH or ERC-20 tokens on-chain | | swap | Token swap via Fluid SOR | | agentpay | Pay another Fluid user by email | ### Endpoints - GET /v1/agents/me — identity of key holder - GET /v1/agents/balance — wallet balances across chains - GET /v1/agents/history — recent transactions - GET /v1/agents/identity/resolve?email= — resolve email to wallet address - POST /v1/agents/quote-swap — get swap price quote - POST /v1/agents/estimate-gas — estimate gas for a send - POST /v1/agents/send — send ETH or tokens on-chain - POST /v1/agents/swap — execute token swap via SOR - POST /v1/agents/agent-pay — pay another Fluid user by email ## Spend Limits & Approvals Every Agentic Key has: - Per-transaction limit (default $100 USD) — transactions above this require owner email approval - Daily spend cap (default $1000 USD) — hard daily limit - Owner receives email notification for every transaction above $100 If a transaction exceeds the per-tx limit: - Agent receives HTTP 202 with an approvalToken - Owner receives an email with Approve / Reject buttons - Agent polls GET /api/agent-approval-status/:token for the decision ## Account Types | Type | Description | |--------------|-------------| | Individual | Personal crypto wallet | | Developer | Access to developer hub, API keys, SDK | | Business | Merchant payments, checkout links | ## Smart Order Router (SOR) Fluid SOR routes swaps across: - Fluid AMM (USDC/USDT stable pool) - Uniswap V3 - Aerodrome Contract: 0xF24daF8Fe15383fb438d48811E8c4b43749DafAE (Base mainnet) ## Supported Chains - Base (primary — fastest and cheapest) - Ethereum mainnet - Solana - Injective ## Discovery Endpoints - https://fluidnative.com/llms.txt — this file - https://fluidnative.com/.well-known/agent.json — agent capabilities manifest - https://fluidnative.com/.well-known/mcp.json — MCP server descriptor - https://fluidnative.com/.well-known/ai-plugin.json — OpenAI plugin manifest - https://fluidnative.com/v1/agents/openapi.json — OpenAPI spec ## Contact Website: https://fluidnative.com Agentic Keys: https://fluidnative.com/agentic-keys npm: https://www.npmjs.com/package/fluid-wallet-agentkit GitHub SDK: https://github.com/fluidbase9/fluid-wallet-agentkit