Documentation
Everything you need to know about creating, sharing, and claiming Looter Links.
Overview
A Looter Link is a funded, one-time claim link for SOL or supported SPL tokens on Solana. The sender escrows funds in an on-chain claim account and receives a link. Whoever holds the full link can claim the funds into a wallet of their choice — the sender never needs to know the recipient's address in advance.
Each link is single-use. Once claimed, expired-and-refunded, or refunded early, it is permanently spent.
Bearer instrument
Creating a link
Creating a Looter Link takes three steps on the create page:
- Configure — choose an asset, amount, expiry window, and an optional private note for the recipient.
- Review — check the transfer summary, including fees, rent, the total debit, and the refund address, then approve the funding transaction in your wallet.
- Share — once the transaction confirms, you receive the claim link and a QR code. Export the recovery file before sharing.
Anatomy of a link
A claim link has a public part and a private part:
https://looter.lol/claim/<claim-address>#<private-portion>
└── public ──┘ └──── private ────┘The part after the # is a URL fragment. Browsers never send fragments to any server, so the private portion stays between the sender and the recipient. The claim page reads it locally to authorize the claim.
Why this matters
Claiming
Opening a complete claim link shows the amount, the expiry countdown, and any private note. The recipient chooses where to receive the funds:
- Connected wallet — connect a Solana wallet and claim directly into it.
- Manual address — paste any Solana address to receive the funds there, no wallet connection required.
Claiming submits a transaction that moves the escrowed funds to the chosen destination. An Ed25519 signature produced locally from the private link portion authorizes the claim and binds it to the destination address — the private key itself never appears in the transaction, so an observer cannot redirect the claim. The transfer is final: once confirmed, the link is spent and cannot be reused.
Expiry and refunds
Every link has an expiry window chosen at creation — 1 hour, 24 hours, 7 days, or 30 days. Until the link expires, only the recipient can move the funds by claiming. After expiry, the claim is disabled and the funds become refundable to the sender.
Refunds are triggered from the dashboard. The refund transaction returns the full escrowed amount to the wallet that created the link and permanently closes the claim.
Unclaimed funds are never lost
Browser recovery
When you create a link, this browser can keep a local recovery record so you can re-open the claim link later from the dashboard. Recovery data never leaves your device.
Use Export Recovery — on the create success screen or on a dashboard card — to download a recovery file. Store it somewhere safe; if you clear your browser data without exporting, the only remaining copy of the link is the one you shared.
Fees
Each link involves three kinds of cost, all shown in the review summary before you sign:
- Protocol fee — a small fee charged by the underlying claim program at creation.
- Network fee — the standard Solana transaction fee (fractions of a cent).
- Account rent — a refundable deposit for the on-chain claim account, returned when the claim account closes on claim or refund.
Developers
Looter Links uses the existing open TypeScript SDK (@ghost-links/sdk) and a versioned REST API. Full references live in the repository under docs/ (SDK.md and API.md). No endpoint ever accepts the private bearer key — request schemas are strict and reject it.
import { GhostLinksClient } from "@ghost-links/sdk";
const client = new GhostLinksClient({ connection, programId, network: "devnet" });
const prepared = await client.createSolClaim({ amountLamports, expiresAt, creator });
// prepared.claimUrl → https://…/claim/<id>#<bearer-seed> (fragment stays local)