# Blink (Blink Ledger Systems) > Online identity and payment technologies for digital publishers. Blink gives readers one account that works across publishers — a universal login plus frictionless payment — so they can subscribe, donate, or buy a single article or podcast with one click, or enable autopay for small frequent purchases. Publishers integrate a single hosted JavaScript SDK plus four server-side JSON endpoints. Generated by the API Evangelist enrichment pipeline on 2026-07-20. Blink publishes no llms.txt of its own (https://blink.net/llms.txt and https://docs.blink.net/llms.txt both soft-404), so this file was generated from the public documentation at https://docs.blink.net/. Key facts an agent should know before integrating: - Three products: **Blink Identity** (reduce anonymous traffic, get readers registered), **Blink Pay** (remove friction from online payments), **Blink Donate** (one-time or recurring reader support). - Integration is **component-first, not REST-first**. Most of the surface is the browser SDK (`window.blinkSDK`) placing Blink-managed UI panels into the page. The server-side REST API covers only identity/OAuth. - **Credentials are not self-service.** clientIds, client credentials, test access and webhook registrations are all issued by Blink on request (integration@blink.net; webhooks via biz.support@blink.net). - **Errors come back with HTTP 200 and an error body** on the observed gateway. Branch on the body, not the status line. - **No idempotency keys, no pagination, no published rate limits.** Webhook receivers must be idempotent themselves. ## Getting started - [Overview](https://docs.blink.net/docs/getting-started/overview.html): Entry point to the integration guide. - [Quick start](https://docs.blink.net/docs/getting-started/quick-start.html): Load the SDK with a script tag carrying your clientId. - [Environments](https://docs.blink.net/docs/getting-started/environments.html): Production vs test hosts, and the published test card numbers. - [Support](https://docs.blink.net/docs/getting-started/support.html): support@blink.net. - [Branded CSS](https://docs.blink.net/docs/getting-started/blink-branded-css.html): Styling for a "Continue with Blink" button. ## Browser SDK Load: `` (test: `https://test.blink.net/1.0/blink-sdk.js`). - [Load the SDK](https://docs.blink.net/docs/api-reference/load-blink-sdk.html) - [init](https://docs.blink.net/docs/api-reference/init.html): `blinkSDK.init({clientId})`. - [isInitialized](https://docs.blink.net/docs/api-reference/isInitialized.html) / [isReadyForInit](https://docs.blink.net/docs/api-reference/isReadyForInit.html) - [getAuthorizationCode](https://docs.blink.net/docs/api-reference/getAuthorizationCode.html): Opens the login modal, returns an OAuth authorization code. - [isAuthenticated](https://docs.blink.net/docs/api-reference/isAuthenticated.html) / [onAuthenticationChange](https://docs.blink.net/docs/api-reference/onAuthenticationChange.html) - [isSubscribed](https://docs.blink.net/docs/api-reference/isSubscribed.html): Boolean — does this reader hold a valid subscription. - [getSubscription](https://docs.blink.net/docs/api-reference/getSubscription.html): The subscription object, or null. - [onSubscriptionChange](https://docs.blink.net/docs/api-reference/onSubscriptionChange.html): Callback on subscription status change. - [requestPayment](https://docs.blink.net/docs/api-reference/requestPayment.html): Charge for a single article. Amount is in precise units where 1 USD = 1 000 000. - [showDonationModal](https://docs.blink.net/docs/api-reference/showDonationModal.html) / [promptDonationPopup](https://docs.blink.net/docs/api-reference/promptDonationPopup.html) / [promptSubscriptionPopup](https://docs.blink.net/docs/api-reference/promptSubscriptionPopup.html) - [functions](https://docs.blink.net/docs/api-reference/functions.html): Register your own JS callable from journeys and templates. - [variables](https://docs.blink.net/docs/api-reference/variables.html): Set/get variables scoped permanent, tab or memory. ## Server-side API Base: `https://api.blink.net` (test: `https://api.test.blink.net`). All requests send `Content-Type: application/json; charset=utf-8` and `x-requested-with: XMLHttpRequest`. - [API overview](https://docs.blink.net/docs/server-side-api/api-overview.html) - [Get a login token](https://docs.blink.net/docs/server-side-api/get-auth-token.html): `POST /users/login/` → `{key}`. - [Register an OAuth application](https://docs.blink.net/docs/server-side-api/register-oauth-application.html): `POST /oauth/applications/register/`. One per account. - [List OAuth applications](https://docs.blink.net/docs/server-side-api/get-oauth-applications.html): `GET /oauth/applications/`. - [Get the user profile](https://docs.blink.net/docs/server-side-api/get-user-profile.html): `POST /oauth/access_token/` — exchanges an authorization code for the reader's email. ## Webhooks (notifications) Signed JSON POSTs. Respond 200 within 10 seconds or Blink retries over the following hours. Every payload carries an ed25519 signature over the canonicalized `event` object; an optional `Blink-Echo-Token` header carries a shared secret. - [Webhooks](https://docs.blink.net/docs/notifications/webHooks.html) · [Event envelope](https://docs.blink.net/docs/notifications/event.html) - Event types: `subscription_created`, `subscription_canceled`, `subscription_reactivated`, `subscription_finished`, `subscription_unpaid`, `payment_created`, `payment_refunded`, `donation_created`. - Payload objects: [amount](https://docs.blink.net/docs/notifications/amount.html), [user](https://docs.blink.net/docs/notifications/user.html), [merchant](https://docs.blink.net/docs/notifications/merchant.html), [subscription](https://docs.blink.net/docs/notifications/subscription.html), [donation](https://docs.blink.net/docs/notifications/donation.html), [payment](https://docs.blink.net/docs/notifications/payment.html). ## Panels and User Journeys - [User journeys](https://docs.blink.net/docs/user-journeys/basics.html) · [conditions](https://docs.blink.net/docs/user-journeys/conditions.html) · [actions](https://docs.blink.net/docs/user-journeys/actions.html) · [throttles](https://docs.blink.net/docs/user-journeys/throttles.html) · [journey groups](https://docs.blink.net/docs/user-journeys/journey-groups.html) · [complete examples](https://docs.blink.net/docs/user-journeys/complete-examples.html) - [Panel options](https://docs.blink.net/docs/panels/panel-options.html) · [custom content](https://docs.blink.net/docs/panels/custom-content.html) - Panel types: `donation`, `subscribe`, `newsletter`, `payment`, `custom`. Gate types: `cover`, `preview`, `banner`, `popup`. ## Guides - [Login with Blink](https://docs.blink.net/docs/guides/login-with-blink.html) - [Subscriptions](https://docs.blink.net/docs/guides/subscriptions.html) - [Payments](https://docs.blink.net/docs/guides/payments.html) - [Donations](https://docs.blink.net/docs/guides/donations.html) · [publisher example](https://docs.blink.net/docs/guides/publisher-donations-example.html) ## Optional - [Blink](https://blink.net/): Reader-facing site and account. - [Merchant dashboard](https://dashboard.blink.net): Panels, journeys and configuration. - [Status](https://status.blink.net): Website and API components, incident history. - [Blink Tribune](https://blinktribune.com/): Live demo publication. - [Terms of service](https://blink.net/terms) · [Privacy policy](https://blink.net/privacy-policy)