Overview

Bluesky represents an initiative to construct an open, decentralized social networking infrastructure, distinct from traditional centralized platforms. The project's foundation is the Authenticated Transfer Protocol (AT Protocol), an open-source federated protocol designed for large-scale distributed applications. This protocol allows for an ecosystem where users retain control over their data, identity, and social experience. Instead of a single company hosting all data, the AT Protocol supports multiple independent services that can interoperate, forming a "federated" network.

Developers and technical buyers seeking to build custom social applications, integrate social features into existing platforms, or explore alternatives to conventional social media models may find Bluesky's architecture suitable. The AT Protocol specifies how data is stored, shared, and authenticated across different services. This includes a global user directory based on Decentralized Identifiers (DIDs), data repositories for user-generated content, and a "Lexicon" schema system for defining data types and APIs. The goal is to provide a robust, resilient, and extensible foundation for a variety of social applications, not just the official Bluesky Social client.

The AT Protocol's design principles emphasize user agency, allowing users to move their account data between different providers without losing their social graph or content. This portability is a key differentiator when compared to platforms like X (formerly Twitter) or Threads, where user data is typically locked to a single provider. For developers, this translates into opportunities to create innovative clients, custom moderation tools, or specialized feed algorithms that can operate on the shared AT Protocol network. The protocol’s open specification and detailed AT Protocol API reference facilitate direct interaction and extension.

Bluesky's approach to decentralization contrasts with other federated systems like Mastodon, which relies on the ActivityPub protocol. While both aim for federation, the AT Protocol introduces concepts like composable custom feeds and account portability across instances, which are designed to offer a different set of trade-offs and capabilities. The project is particularly well-suited for scenarios requiring high degrees of customization in content filtering, algorithmic curation, and user interface, all while maintaining a connection to a broader, interoperable social graph.

The project provides an official Bluesky developer documentation portal and a TypeScript/JavaScript SDK, which streamlines the development process for interacting with the AT Protocol. This focus on developer tools aims to lower the barrier to entry for creating new services and applications within the Bluesky ecosystem. Understanding Decentralized Identifiers (DIDs) and the Lexicon schema system is fundamental for developers looking to build effectively on the AT Protocol, as these elements define identity management and data structures respectively.

Key features

  • AT Protocol Foundation: A federated, open-source protocol for social applications, enabling distributed hosting and interoperability across services.
  • Portable Accounts: Users can move their account data, including posts and social graph, between different service providers without data loss, enhancing user control.
  • Customizable Feeds: Developers can create and users can subscribe to custom algorithmic feeds, allowing for personalized content discovery beyond a single timeline.
  • Decentralized Identifiers (DIDs): Utilizes DIDs for user identity, providing a verifiable and portable identity layer independent of any single provider.
  • Lexicon Schema System: A declarative schema language defining data types and APIs for the AT Protocol, ensuring consistent data structures across the network.
  • Open-Source Development: The AT Protocol and related tools are open-source, encouraging community contributions and transparent development.
  • Official Client (Bluesky Social App): A reference implementation and user-facing application built on the AT Protocol, demonstrating its capabilities.
  • Moderation Tools: Supports flexible moderation options, allowing communities and users to define their own content policies and filters.

Pricing

As of May 28, 2026, Bluesky and the underlying AT Protocol are free to use. Users can create accounts and interact with the network without direct payment. Development tools and SDKs are also provided without cost.

Service/Feature Cost Notes
Bluesky Social Account Free Access to the official Bluesky client and network.
AT Protocol Usage Free Developing applications and services on the AT Protocol.
SDKs & Documentation Free Official TypeScript/JavaScript SDK and developer resources.
Custom Hosting Varies by provider Costs for hosting your own AT Protocol services (e.g., PDS) are determined by the chosen infrastructure provider.

For more detailed information, consult the Bluesky official FAQ.

Common integrations

  • Custom Clients: Developers can build entirely new social clients that connect to the AT Protocol, offering alternative user experiences to the official Bluesky Social app.
  • Algorithmic Feed Services: Integration with external services to create and host custom content algorithms, allowing users to discover posts based on specific criteria.
  • Identity Providers: The AT Protocol's DID system can potentially integrate with other decentralized identity solutions for enhanced authentication and verification.
  • Data Archiving and Analysis Tools: Services designed to archive public posts or analyze network activity can integrate by consuming AT Protocol data streams.
  • Moderation & Filtering Services: External tools can integrate to provide advanced content moderation, spam filtering, or content labeling based on community guidelines.
  • Webhooks: Though not explicitly detailed, standard webhook patterns could be used for real-time notifications of new posts or interactions, similar to how Twilio's webhook security guide describes event-driven notifications.

Alternatives

  • Mastodon: A federated social network built on the ActivityPub protocol, offering decentralized microblogging with community-run instances.
  • X (formerly Twitter): A centralized microblogging platform known for real-time information sharing and high user engagement.
  • Threads: A centralized social media service developed by Meta, designed for text-based conversations and sharing, often integrated with Instagram.
  • ActivityPub-based Networks: A broader category including platforms like PeerTube and Pixelfed, which use the ActivityPub standard for decentralized social networking.

Getting started

To begin interacting with the Bluesky AT Protocol using TypeScript, developers can utilize the official TypeScript SDK. This example demonstrates how to create a new post using the SDK.

import { BskyAgent } from '@atproto/api';

const agent = new BskyAgent({
  service: 'https://bsky.social',
});

async function createBlueskyPost(identifier: string, password: string, text: string) {
  try {
    // Log in to the Bluesky service
    await agent.login({
      identifier: identifier,
      password: password,
    });

    // Post a new message
    const response = await agent.post({
      text: text,
    });

    console.log('Post created successfully:', response.uri);
    return response;
  } catch (error) {
    console.error('Failed to create post:', error);
    throw error;
  }
}

// Example Usage:
// Replace with your actual handle or email and app password
const userHandle = 'your-handle.bsky.social'; // or your email
const userAppPassword = 'your-app-password';
const postContent = 'Hello, Bluesky! This is a test post from the AT Protocol SDK.';

createBlueskyPost(userHandle, userAppPassword, postContent)
  .then(() => console.log('Script finished.'))
  .catch(err => console.error('Script encountered an error:', err));

Before running this code, ensure you have an application password generated for your Bluesky account, as direct password login is discouraged for security reasons. You can generate an application password within your Bluesky app settings. Install the necessary SDK package using npm or yarn: npm install @atproto/api.

This example initializes a BskyAgent connected to the official Bluesky service. It then attempts to log in using a provided identifier (your handle or email) and an application password. Upon successful authentication, it proceeds to publish a text post. The response will include the URI of the newly created post. Error handling is included to catch potential issues during login or posting. For more advanced interactions, such as fetching feeds, managing profiles, or interacting with custom Lexicons, developers should refer to the AT Protocol documentation for developers.