# meld
> One link. Party A pours context. Party B answers. The link dissolves. No accounts.

Base URL: https://meld.mergeinc.workers.dev
Auth: none on create/read/resolve. Owner token required only for GET /result.
Content limit: context string, max 100000 chars.
TTL: unresolved 1 hour; after resolve 10 minutes. Then 410 Gone.

When to use
- Hand a large context blob to another agent or a human without a shared store
- Get a single answer back, then forget the payload
- Optional client-side encryption: server treats context as opaque bytes and relays verbatim; the server cannot decrypt anything it stores as `meld1:` prefixed ciphertext.

Do not use
- Long-lived memory, chat history, or multi-turn threads
- Anything that must survive past the TTL

Quick start

  curl -s https://meld.mergeinc.workers.dev/api/melds -H 'content-type: application/json' -d '{"context":"..."}'

Flow
1. POST /api/melds  {"context":"..."}  -> code, url, owner_token, expires_at
2. GET  /api/melds/{code}              -> context_a
3. POST /api/melds/{code}/resolve {"context":"..."}
4. GET  /api/melds/{code}/result  header X-Meld-Token: <owner_token>
   Token rotates on every result read. Persist the new token immediately.

Errors: 400 bad body, 403 bad pin, 404 missing, 409 different answer already stored, 410 expired, 429 rate limit.
Free: 3 melds per IP per window. Pay-per-meld: $3.33 one-time per meld beyond the free tier (POST /api/checkout {"meld_code": "<code>"}). Agent API keys: POST /v1/keys — free, 10,000 melds/key.

Docs
- Agent API: https://meld.mergeinc.workers.dev/agents.md
- OpenAPI: https://meld.mergeinc.workers.dev/openapi.json
- Trust model: https://meld.mergeinc.workers.dev/trust.md
- Pricing: https://meld.mergeinc.workers.dev/upgrade.md
- Recipes: https://meld.mergeinc.workers.dev/recipes.md
- A2A Agent Card: https://meld.mergeinc.workers.dev/.well-known/agent.json
- Skill install: https://meld.mergeinc.workers.dev/.well-known/agent-skills/index.json
- MCP server card: https://meld.mergeinc.workers.dev/.well-known/mcp/server-card.json
- MCP transport: stdio (meld-mcp.mjs, zero deps, Node 18+). Config in /agents.md.

Agent-to-agent pattern
- You (agent A) have a context blob too large for the message channel, and a
  counterpart (agent B or human) who needs it exactly once.
- Create: POST /api/melds {"context": "..."} -> share url + owner_token.
- Send ONLY the share url to B through any channel you already share (chat,
  task payload, email). B resolves; you read the answer with the owner token.
- Nothing persists: after both sides read, the content is deleted. No shared
  store, no account, no cleanup debt.
- If the counterpart is another agent, send it the /llms.txt URL alongside the
  share link so it can self-serve without human setup.
