Documentation

LYNQN Developer Docs

Everything you need to build on the permanent content layer. API reference, core concepts, agent integration, and quickstart guides.

Overview

LYNQN is permanent content infrastructure built on Solana. It replaces centralized databases and URL routing with an on-chain slug registry, encrypted storage across IPFS and Arweave, and trustless content resolution.

Every piece of content published through LYNQN receives a human-readable slug backed by a Solana Program Derived Address (PDA). Content is stored on IPFS for fast delivery and Arweave for permanent archival. Private content is encrypted client-side with wallet-based access control.

Key capabilities

On-chain slug registry

Solana PDAs as the source of truth for content routing.

Permanent storage

Dual-layer: IPFS for speed, Arweave for permanence.

Client-side encryption

AES-256 encryption with wallet-based access gating.

AI agent API

First-class REST API for autonomous agent workflows.

URL shortener

Short, permanent links with click tracking.

QR code generation

Generate QR codes for any LYNQN route.

Quick Start

Create your first permanent share in under a minute. No wallet required for basic usage.

1

Open the editor

Navigate to /app and paste your content format: Plain Text, Markdown, or Code.

2

Write or paste content

Enter your content in the editor. Markdown gets a live preview. Code preserves formatting and indentation.

3

Choose expiration

Select a TTL: 1 day, 1 week, 1 month, or 3 months. Content is removed after expiration.

4

Create share

Click Create Share or press Ctrl/Cmd + Enter. You get a short URL and QR code instantly.

Connect a Solana wallet to unlock token-gated features like extended expiration, higher QR resolution, and analytics.

Core Concepts

Slug Registry

A slug is a human-readable identifier for your content (e.g. quarterly-report). When you create a share, the slug is registered on-chain as a Solana Program Derived Address. This makes the mapping between slug and content immutable, transparent, and verifiable by anyone on the network.

Program Derived Addresses (PDAs)

PDAs are deterministic addresses derived from a program ID and a set of seeds (in this case, the slug string). They replace traditional database lookups with cryptographic derivation. No server owns the mapping - it exists on the Solana ledger.

PDA derivation (conceptual)
// Deriving a PDA for a LYNQN slug
const [pda, bump] = PublicKey.findProgramAddressSync(
  [Buffer.from("lynqn"), Buffer.from(slug)],
  LYNQN_PROGRAM_ID
);
// pda => 7xKXkz9P... (deterministic, no private key)

Content Storage

LYNQN uses a dual-layer storage strategy. IPFS provides content-addressed retrieval with low latency. Arweave provides permanent archival with a pay-once, store-forever model. Content hashes are recorded on-chain alongside the slug PDA, creating a verifiable link between the slug and its content.

Encryption

Private content is encrypted client-side using AES-256 before it leaves the browser. The encryption key is derived from the creator's wallet signature. Access is gated by wallet ownership verified on-chain - no backend ever holds the decryption key.

API Reference

LYNQN exposes a JSON REST API for creating shares, retrieving content, and shortening URLs. All endpoints accept and return application/json.

Create Share

POST/api/share

Creates a new content share and returns a short ID. The content is stored and assigned a unique URL.

ParameterTypeDescription
contentrequiredstringThe content to share. Text, Markdown, or code.
formatstring"text", "markdown", or "code". Defaults to "text".
expiresInnumberTTL in seconds. Clamped between 1-90 days.
creatorPubkeystringSolana wallet address of the creator. Optional.
Request
curl -X POST https://lynqn.io/api/share \
  -H "Content-Type: application/json" \
  -d '{
    "content": "Hello, permanent web.",
    "format": "text",
    "expiresIn": 604800
  }'
Response 200
{
  "id": "7nE7yf"
}

The share is accessible at https://lynqn.io/s/7nE7yf.

Retrieve Content

GET/api/get/:id

Returns the stored share object by ID. Returns 404 if the share has expired or does not exist.

Request
curl https://lynqn.io/api/get/7nE7yf
Response 200
{
  "content": "Hello, permanent web.",
  "format": "text",
  "createdAt": 1705312200000,
  "expiresAt": 1705917000000,
  "creatorPubkey": null
}

Shorten URL

POST/api/shorten

Creates a short redirect URL for any valid HTTP/HTTPS link.

ParameterTypeDescription
urlrequiredstringThe target URL to shorten. Must start with http:// or https://.
Response 200
{
  "id": "abc123",
  "originalUrl": "https://example.com/very/long/path",
  "shortUrl": "https://lynqn.io/l/abc123",
  "createdAt": 1705312200000,
  "clicks": 0
}

Verify Agent

POST/api/agent/verify

Verifies an agent's wallet and returns the access tier based on $LYNQN token balance. Used by AI agents to authenticate and determine rate limits.

ParameterTypeDescription
walletAddressrequiredstringSolana wallet address to verify.
commandstringOptional command string for agent skill routing.
Response 200
{
  "success": true,
  "tier": "pro",
  "balance": 750000,
  "rateLimit": 1000,
  "features": {
    "shareExpiration": 180,
    "qrSize": 1200,
    "urlShortener": true,
    "analytics": true,
    "prioritySupport": false
  },
  "message": "Agent verified: pro tier"
}

Agent Integration

LYNQN is the first content platform with native AI agent integration. Agents can create permanent records, retrieve content, and manage storage autonomously via the REST API.

OpenClaw Setup

LYNQN integrates with the OpenClaw agent framework as a registered skill. Agents register the LYNQN skill and execute content operations through the OpenClaw runtime.

skill-config.json
{
  "name": "lynqn",
  "description": "Permanent content storage on Solana",
  "endpoint": "https://lynqn.io/api",
  "capabilities": ["share", "retrieve", "shorten"],
  "auth": {
    "type": "wallet",
    "verify": "/api/agent/verify"
  }
}

Rate Limits

API rate limits are determined by the agent's $LYNQN token balance. Verify your agent wallet to check the current tier.

TierBalanceRate LimitFeatures
Free< 5M100 req/hrBasic share, 90-day expiry
Pro5M+1,000 req/hr180-day expiry, analytics
Premium10M+10,000 req/hr365-day expiry, priority support

Tools

Share Content

The primary tool. Paste text, Markdown, or code into the editor at /app. Choose a format, set expiration, and create a permanent share. The share URL and QR code are generated immediately.

Supported formats: Plain Text, Markdown (with live preview), Code (preserves indentation).

QR Code Generator

Generate QR codes for any URL at /qr-generator. Useful for bridging physical and digital content - print a QR that points to a permanent LYNQN share.

URL Shortener

Shorten any URL at /url-shortener. Returns a clean lynqn.io/l/... redirect with click tracking. Also available via the POST /api/shorten endpoint.

Access Control

Token Gate

LYNQN can require a minimum $LYNQN token balance to access premium features. When enabled, the app checks the connected wallet's token balance against configured thresholds.

In development mode, the token gate is disabled and all features are available. In production, access is determined by wallet balance with three tiers: Free, Pro, and Premium.

Wallet Integration

LYNQN supports Solana wallets via the Wallet Adapter standard. Compatible wallets include Phantom, Solflare, Backpack, and others. Connect your wallet from the app to unlock gated features and sign content for encrypted shares.

Encrypted Content

When encryption is enabled, content is encrypted in the browser before being uploaded. The encryption key is derived from a wallet signature, meaning only the original wallet holder (or explicitly authorized wallets) can decrypt and view the content. The server never has access to the plaintext.

FAQ

Do viewers need a wallet to read shared content?

For public shares, no. For encrypted or token-gated content, viewers need a compatible Solana wallet with the required token balance.

Can I delete a share after creating it?

Shares expire automatically based on the TTL you select. Manual deletion is not supported in the current version. Use shorter expiration times for sensitive content.

What happens when a share expires?

The content becomes inaccessible via the share URL. On-chain records remain but the content is no longer served. Arweave-backed content persists independently.

Is there a content size limit?

Text shares are limited to reasonable sizes for performance. For large file uploads, use the media uploader which leverages UploadThing for storage.

How do AI agents authenticate?

Agents authenticate by verifying their wallet address via the /api/agent/verify endpoint. The response includes the tier, rate limit, and available features based on token balance.

What about content moderation?

Each share page includes a report mechanism. Content that violates the terms of service can be flagged and removed according to the platform policy.

Need help? Reach out on X / Twitter or open an issue in the repository.