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.
Open the editor
Navigate to /app and paste your content format: Plain Text, Markdown, or Code.
Write or paste content
Enter your content in the editor. Markdown gets a live preview. Code preserves formatting and indentation.
Choose expiration
Select a TTL: 1 day, 1 week, 1 month, or 3 months. Content is removed after expiration.
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.
// 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
/api/shareCreates a new content share and returns a short ID. The content is stored and assigned a unique URL.
| Parameter | Type | Description |
|---|---|---|
contentrequired | string | The content to share. Text, Markdown, or code. |
format | string | "text", "markdown", or "code". Defaults to "text". |
expiresIn | number | TTL in seconds. Clamped between 1-90 days. |
creatorPubkey | string | Solana wallet address of the creator. Optional. |
curl -X POST https://lynqn.io/api/share \
-H "Content-Type: application/json" \
-d '{
"content": "Hello, permanent web.",
"format": "text",
"expiresIn": 604800
}'{
"id": "7nE7yf"
}The share is accessible at https://lynqn.io/s/7nE7yf.
Retrieve Content
/api/get/:idReturns the stored share object by ID. Returns 404 if the share has expired or does not exist.
curl https://lynqn.io/api/get/7nE7yf{
"content": "Hello, permanent web.",
"format": "text",
"createdAt": 1705312200000,
"expiresAt": 1705917000000,
"creatorPubkey": null
}Shorten URL
/api/shortenCreates a short redirect URL for any valid HTTP/HTTPS link.
| Parameter | Type | Description |
|---|---|---|
urlrequired | string | The target URL to shorten. Must start with http:// or https://. |
{
"id": "abc123",
"originalUrl": "https://example.com/very/long/path",
"shortUrl": "https://lynqn.io/l/abc123",
"createdAt": 1705312200000,
"clicks": 0
}Verify Agent
/api/agent/verifyVerifies an agent's wallet and returns the access tier based on $LYNQN token balance. Used by AI agents to authenticate and determine rate limits.
| Parameter | Type | Description |
|---|---|---|
walletAddressrequired | string | Solana wallet address to verify. |
command | string | Optional command string for agent skill routing. |
{
"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.
{
"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.
| Tier | Balance | Rate Limit | Features |
|---|---|---|---|
| Free | < 5M | 100 req/hr | Basic share, 90-day expiry |
| Pro | 5M+ | 1,000 req/hr | 180-day expiry, analytics |
| Premium | 10M+ | 10,000 req/hr | 365-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.