Documentation
HoodShare Developer Docs
Everything you need to build on HoodShare. API reference, core concepts, and quickstart guides.
Overview
HoodShare is a fast text, code, and media sharing tool with built-in QR codes and URL shortening, plus an optional token gate for Hood Chain - Robinhood's AI-native Layer 2 built on Arbitrum tech.
Every share gets a random, unguessable short ID and is stored with a TTL you choose (1 day up to 90 days). There's no wallet or blockchain step required to create a basic share - the token gate is an optional layer for higher rate limits and extended expiration.
Key capabilities
Instant sharing
Short IDs generated on creation. The API itself needs no sign-up; the web app requires signing in.
TTL-based storage
Every share expires automatically between 1 and 90 days.
RobinHood Chain gating
Optional $HSHARE balance check for higher tiers and rate limits.
Plain REST API
JSON over HTTP - no SDK, no client library required.
URL shortener
Short links with click tracking, 90-day expiry.
QR code generation
Generate QR codes for any HoodShare route.
Quick Start
Create your first share in under a minute. The web app requires signing in with email or a wallet; calling the API directly does not.
Sign in
Navigate to /app and sign in with email or a wallet.
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 RobinHood Chain wallet to unlock token-gated features like extended expiration, higher QR resolution, and analytics.
Core Concepts
Share IDs
Every share gets a random 12-character ID (e.g. 7nE7yfQx3kLm) generated server-side - not derived from your content or wallet, so it can't be guessed or enumerated.
Storage & expiration
Shares are stored in Redis (Upstash) as JSON with a TTL matching the expiration you pick at creation time - 1 day up to 90 days. Once the TTL elapses, Redis evicts the key and the share is gone; there is no separate delete step and no permanent archive.
{
id: string;
format: "text" | "markdown" | "code" | "media";
content: string | null;
fileUrl?: string | null; // media shares only
creatorAddress: string | null; // RobinHood Chain wallet, optional
createdAt: number; // ms epoch
expiresAt: number; // ms epoch
}Media uploads
Images, video, audio, and PDFs are uploaded via UploadThing rather than stored inline in Redis. The share record keeps a reference to the file URL and expires the same way as text shares.
API Reference
HoodShare 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. |
creatorAddress | string | RobinHood Chain wallet address of the creator. Optional. |
curl -X POST https://hoodshare.xyz/api/share \
-H "Content-Type: application/json" \
-d '{
"content": "Hello, permanent web.",
"format": "text",
"expiresIn": 604800
}'{
"id": "7nE7yf"
}The share is accessible at https://hoodshare.xyz/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://hoodshare.xyz/api/get/7nE7yf{
"content": "Hello, permanent web.",
"format": "text",
"createdAt": 1705312200000,
"expiresAt": 1705917000000,
"creatorAddress": 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://hoodshare.xyz/l/abc123",
"createdAt": 1705312200000,
"clicks": 0
}Verify Access
/api/agent/verifyChecks a wallet's $HSHARE balance and returns its access tier. Use this to authenticate a script or client and determine its rate limit before calling the other endpoints.
| Parameter | Type | Description |
|---|---|---|
walletAddressrequired | string | RobinHood Chain wallet address to verify. |
{
"success": true,
"tier": "pro",
"balance": 750000,
"rateLimit": 1000,
"features": {
"shareExpiration": 180,
"qrSize": 1200,
"urlShortener": true,
"analytics": true,
"prioritySupport": false
},
"message": "Agent verified: pro tier"
}API Access
There's no client library or SDK to install. Anything that can make an HTTP request - a script, a cron job, a backend service - can call the API directly.
Config reference
{
"name": "hoodshare",
"description": "Instant text, code, and media sharing on RobinHood Chain",
"endpoint": "https://hoodshare.xyz/api",
"capabilities": ["share", "retrieve", "shorten"],
"auth": {
"type": "wallet",
"verify": "/api/agent/verify"
}
}Rate Limits
API rate limits are determined by the caller's $HSHARE token balance. Verify a wallet to check its 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 HoodShare share.
URL Shortener
Shorten any URL at /url-shortener. Returns a clean hoodshare.xyz/l/... redirect with click tracking. Also available via the POST /api/shorten endpoint.
Access Control
Token Gate
HoodShare can require a minimum $HSHARE 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
HoodShare connects to any injected EVM wallet (MetaMask, Rabby, and others) via eth_requestAccounts. Connect your wallet from the app to unlock gated features tied to your $HSHARE balance on RobinHood Chain.
FAQ
Do viewers need a wallet to read shared content?
No. Any share link is publicly viewable. A wallet is only needed to create shares with token-gated perks (extended expiration, higher QR resolution, analytics).
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?
Redis evicts the record once its TTL elapses and the share URL starts returning 404. There's no archive or recovery after that - export anything you need to keep before it expires.
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 scripts authenticate?
By verifying a wallet address via the /api/agent/verify endpoint. The response includes the tier, rate limit, and available features based on $HSHARE 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.
