$DDLX·

FastDDL API

No API key. No signup. No rate limits.

Upload a file
curl -X POST -F "file=@photo.jpg" https://fastddl.com/api/upload
Upload via URL
curl -X POST -H 'Content-Type: application/json' \
  -d '{"url":"https://example.com/file.pdf"}' \
  https://fastddl.com/api/upload-from-url
Upload via torrent
curl -X POST -H 'Content-Type: application/json' \
  -d '{"magnet":"magnet:?xt=urn:btih:..."}' \
  https://fastddl.com/api/upload-from-torrent
Download a file
curl -X POST -H 'Content-Type: application/json' \
  -d '{"password":"abc1-..."}' \
  https://fastddl.com/api/download/Neptune8472 -o file.pdf
Get token price
curl https://fastddl.com/api/token-stats
Check storage
curl https://fastddl.com/api/storage-status

All Endpoints

POST/api/upload

Upload file, encrypt, return share link.

Request: multipart: file, fingerprint?, maskName?, expiry?
Response: { slug, url, password, expiresAt }
Max 5GB
POST/api/upload-from-url

Fetch URL -> encrypt -> share.

Request: { url, maskName?, expiry? }
Response: { slug, url, password, sourceUrl }
Supports http, https, ftp, ftps. SSRF protected.
POST/api/upload-from-torrent

Torrent -> download -> encrypt -> share.

Request: { magnet } or multipart with torrent file
Response: { slug, url, password, torrentFile }
Max 1GB. Seed stops after download.
POST/api/download/[slug]

Decrypt and download file.

Request: { password }
Response: File binary
Password not stored server-side. IP logged.
GET/api/fingerprint

Get IP, geo, user agent.

Response: { ip, geo: { country, city, isp } }
ip-api.com lookup.
GET/api/token-stats

Live $DDLX price, MCap.

Response: { priceUsd, marketCap, priceChange24h }
Cached 60s. GeckoTerminal source.
GET/api/storage-status

Storage used / total / %

Response: { usedBytes, maxBytes: 20GB, percentUsed }
20GB shared cap.
POST/api/burn

Burn 5,000 DDLX for permanent.

Request: { slug, txSignature, wallet }
Response: { success, message }
On-chain Solana verification.
GET/api/files-list

All files with status.

Request: ?limit=100&offset=0
Response: { files: [{ status, name }], total }
Public. Shows expired too.
POST/api/airdrop

Claim free $DDLX.

Request: { wallet }
Response: { success, amount }
One claim per wallet. 25-1000 DDLX.
POST/api/report

Report abusive file.

Request: { slug, reason, confirmed: true }
Response: { success, suspendedUntil }
24h suspension + email alert.
POST/api/comment

Good/bad rating.

Request: { slug, rating }
Response: { success, counts }
IP + timestamp recorded.
Advertisement