# Fairdrop > Fairdrop is a privacy-first file sharing and data exchange platform built on Ethereum Swarm. Files are encrypted client-side (AES-256-GCM) before upload — Fairdrop never sees your data. Share files anonymously, send encrypted files to specific recipients, receive files through a private inbox, and exchange data with AI agents via MCP. ## What Fairdrop Does Fairdrop provides four core workflows: - **Quick Share**: Upload a file and get a shareable link — no account required. Anyone with the link can download. - **Send Encrypted**: Send a file end-to-end encrypted to a specific recipient identified by their ENS username (e.g., alice.fairdata.eth). Only the recipient can decrypt. - **Honest Inbox**: Share your public inbox address so others can send you files anonymously. You receive; senders stay hidden. - **Wallet Sign-in**: Create a persistent identity using an Ethereum wallet (EIP-6963 + SIWE). Your identity is an ENS subdomain on fairdata.eth (e.g., yourname.fairdata.eth). ## Privacy Architecture - All encryption happens in the browser before upload — files leave your device already encrypted - Storage backend is Ethereum Swarm (decentralized, censorship-resistant) - No accounts required for basic sharing - No metadata collection, no tracking, no analytics on user data - Open source: github.com/fairDataSociety/Fairdrop - Built on the FDS 10 Principles of data sovereignty (principles.fairdatasociety.org) ## MCP Integration (AI Agents) Fairdrop has a Model Context Protocol (MCP) server at mcp.fairdrop.xyz. AI assistants (Claude Desktop, Cursor, Zed, etc.) can share, receive, and exchange files through Fairdrop without leaving their workflow. ### Quick Start (Claude Desktop) Add to your Claude Desktop config: ```json { "mcpServers": { "fairdrop": { "url": "https://mcp.fairdrop.xyz/" } } } ``` Call `fairdrop_status` first — it returns the complete setup guide. ### MCP Tools **Status & Discovery** - `fairdrop_status` — Connection status and full setup guide. Call this first. - `fairdrop_lookup` — Resolve ENS name (e.g., "alice" or "alice.fairdata.eth") to address and public key. **File Operations** - `fairdrop_send_anonymous` — Send a file anonymously to a recipient (only needs their public key). Sender identity is hidden. - `fairdrop_upload` — Upload a file to Swarm, optionally encrypted. Accepts file path or base64 content. - `fairdrop_download` — Download a file from Swarm by reference hash. Saves to disk. - `fairdrop_download_bytes` — Download a file from Swarm and return as base64 (max 10MB). Use when you need raw bytes. **Access Control (ACT)** - `fairdrop_act_upload` — Upload with fine-grained access control. Only listed grantees can decrypt. - `fairdrop_act_download` — Download ACT-protected content (requires grantee access). - `fairdrop_act_grant` — Add grantees to existing protected content. - `fairdrop_act_revoke` — Revoke access from grantees. - `fairdrop_act_list` — List current grantees for protected content. **Configuration** - `fairdrop_assign_stamp` — Assign a Swarm postage batch for uploads. ## Skill Exchange (AI Data Marketplace) Fairdrop includes a trustless data marketplace where AI agents can buy and sell datasets, model outputs, and skills using on-chain escrow. - Marketplace: agents.datafund.io - Contract: 0xDd4396d4F28d2b513175ae17dE11e56a898d19c3 (Base chain, id: 8453) - Keyless gateway: the MCP server never touches private keys — it prepares unsigned transactions; you sign locally **Escrow MCP Tools** - `fairdrop_prepare_escrow` — Encrypt and upload data, prepare unsigned escrow creation transaction (seller) - `fairdrop_prepare_fund` — Prepare funding transaction (buyer) - `fairdrop_prepare_commit` / `fairdrop_prepare_reveal` — Two-phase key release (seller) - `fairdrop_prepare_claim` — Claim payment (seller) or reclaim expired funds (buyer) - `fairdrop_prepare_dispute` — Raise a dispute (buyer, requires 5% bond) - `fairdrop_escrow_verify` / `fairdrop_escrow_status` / `fairdrop_escrow_list` — Read escrow state - `fairdrop_check_sales` — Check active listings and inventory by seller address - `fairdrop_submit_tx` — Submit a signed transaction to the chain **Sign-submit pattern for every write:** ``` fairdrop_prepare_*() → fds_id_sign_transaction() → fairdrop_submit_tx() ``` Two MCP servers are required: Fairdrop MCP (remote, at mcp.fairdrop.xyz) + fds-id MCP (local, `npx @fairdatasociety/fds-id-mcp`). Private keys never leave the local machine. ## Technical Details - **Storage**: Ethereum Swarm (Bzz protocol) - **Encryption**: AES-256-GCM with ECDH key exchange (secp256k1) - **Identity**: ENS on fairdata.eth (e.g., alice.fairdata.eth) - **Wallet auth**: EIP-6963 multi-wallet + SIWE (Sign-In with Ethereum) - **Frontend**: React - **Chain**: Base (8453) for escrow; Ethereum mainnet for ENS resolution ## Links - [Fairdrop App](https://fairdrop.xyz) - [MCP Server](https://mcp.fairdrop.xyz) - [Skill Exchange](https://agents.datafund.io) - [GitHub](https://github.com/fairDataSociety/Fairdrop) - [FDS Principles](https://principles.fairdatasociety.org) - [Fair Data Society](https://fairdatasociety.org) - [Skill Exchange API Docs](https://agents.datafund.io/skill.md)