Where it belongs
Human-visible CLI, agent, MCP, template, plugin, or local-app moments where a labeled card will not block work.
Install the SDK, call one function, and add a clearly labeled sponsor card to a real developer moment: CLI output, an agent run summary, an MCP setup page, a template handoff, a plugin panel, or a local app. TipCLI handles matching, review gates, privacy rules, and payout evidence. The SDK never reads source code, terminal logs, `.env` files, or dependency manifests.
Human-visible CLI, agent, MCP, template, plugin, or local-app moments where a labeled card will not block work.
Only eligible, verified paid sponsor delivery after project approval, campaign review, and payout readiness. Estimates are not payable balances.
No terminal logs, source code, environment variables, cookies, fingerprints, or projected earnings presented as payable balances.
Create a project first so the dashboard can give you a publisher key and project-specific snippet.
pnpm add @tipcli/sdk
TIPCLI_PUBLISHER_KEY=db_live_...Create the project while signed in, copy the dashboard snippet, and test the selected surface. Treat local renders as non-payable integration checks until eligibility, campaign match, and payout readiness are complete.
Use pnpm npm:publish:check to confirm the public npm install smoke for @tipcli/sdk. Public package access does not make test renders payable.
Put the card where it makes sense: CLI startup, dev server output, agent run summary, MCP health page, template handoff, plugin panel, or another reviewed developer surface.
import { showSponsorCard } from "@tipcli/sdk";
await showSponsorCard({
publisherKey: process.env.TIPCLI_PUBLISHER_KEY,
surface: "cli-startup",
category: "frontend",
});@tipcli/sdk. During integration checks, use your dashboard snippet and treat local renders as non-payable until project review, campaign match, and payout readiness are complete.The API stays the same. Choose a surface label that describes the human-visible placement and keep sponsor content out of generated code, hidden prompts, MCP tool responses, and machine-readable logs.
Use a startup or command-complete moment where a labeled sponsor card will not block the command.
await showSponsorCard({
publisherKey: process.env.TIPCLI_PUBLISHER_KEY,
surface: "cli-startup",
category: "devops",
});Use a human-readable run summary, not hidden agent context or generated code.
await showSponsorCard({
publisherKey: process.env.TIPCLI_PUBLISHER_KEY,
surface: "agent-run-summary",
category: "ai",
});Use setup output, a health page, or inspector UI. Do not inject sponsors into MCP tool responses.
await showSponsorCard({
publisherKey: process.env.TIPCLI_PUBLISHER_KEY,
surface: "mcp-server-health",
category: "ai",
});Use the handoff screen after a starter/template creates a project.
await showSponsorCard({
publisherKey: process.env.TIPCLI_PUBLISHER_KEY,
surface: "template-postinstall",
category: "frontend",
});Use a local app or dev-server dashboard where the sponsor card is clearly labeled.
await showSponsorCard({
publisherKey: process.env.TIPCLI_PUBLISHER_KEY,
surface: "local-dashboard",
category: "infra",
});A sponsor request contains the publisher key, surface, category, SDK version, session ID, and non-payable delivery flags for CI, fixture, disabled, or internal runs. It does not include project files, command output, user identity, cookies, or device fingerprints.
Local testing proves rendering only. Paid delivery starts after your project is reviewed, the integration uses a live publisher key, a paid reviewed campaign matches the project, and payout readiness is clear in the dashboard.
The SDK returns immediately when process.env.CI is set.
Developers can set TIPCLI_DISABLED=1.
Network errors, timeouts, and API failures never break your CLI.
The SDK sends publisherKey, surface, category, sdkVersion, sessionId, and non-payable delivery flags for CI/test/disabled runs.
Dashboard payout readiness uses real campaign terms and verified impressions. Stripe Connect is the primary launch payout path; manual transfer is an operator fallback only.
Gross delivery value, verified payable, pending payout, and paid payout are separate states so projected money is never presented as money owed.
Before enabling paid delivery, read how TipCLI treats verified impressions, excluded traffic, Stripe Connect payout readiness, and the manual fallback rules.