AD
Boost Your Brand on BlueSky—Exclusive banner space to amplify your reach within the BlueSky community.
BSkyInfo LogoBskyInfo
All ToolsCategoriesCollectionsFeed DirectoryLabeler DirectoryArticlesGuidesGlossaryBluesky SDKsSponsor
Submit
All ToolsCategoriesCollectionsFeed DirectoryLabeler DirectoryGuidesGlossaryArticlesBluesky SDKsSponsorSubmit
  1. SDKs
  2. /Swift
  3. /ATResolve
mattmassicotte

ATResolve

A Swift SDK for Bluesky and AT Protocol by mattmassicotte

AT Protocol PLC Resolver

GitHub Stats

14stars
1forks
2contributors
1open issues

Dates

Created:February 5, 2025
Last updated:December 10, 2025

README

The following content is from ATResolve's GitHub repository. All rights reserved by the original author.

Build Status Platforms Documentation Matrix

ATResolve

AT Protocol PLC/DID/Whatever Resolver

I just want to resolve a handle to a DID and PDS. There's more to do, but this is a start. This could be a good reference.

Integration

dependencies: [
    .package(url: "https://github.com/mattmassicotte/ATResolve", branch: "main")
]

Usage

import ATResolve

let resolver = ATResolver(provider: URLSession.shared)

let data = try await resolver.resolveHandle("massicotte.org")

print(data.did)
print(data.serviceEndpoint)

The ATResolver type also supports custom HTTP loading for compatibility with server frameworks that don't use URLSession.

struct CustomProvider: ResponseProviding {
    func decodeJSON<T>(at urlString: String, queryItems: [(String, String)]) async throws -> T where T : Decodable {
        // your custom code that loads and decodes JSON goes here
    }
}

let resolver = ATResolver(provider: CustomProvider())

Contributing and Collaboration

I would love to hear from you! Issues or pull requests work great. Both a Matrix space and Discord are available for live help, but I have a strong bias towards answering in the form of documentation. You can also find me on the web.

I prefer collaboration, and would love to find ways to work together if you have a similar project.

I prefer indentation with tabs for improved accessibility. But, I'd rather you use the system you want and make a PR than hesitate because of whitespace.

By participating in this project you agree to abide by the Contributor Code of Conduct.

Topics

atprotoatprotocolbluesky

Related SDKs

jcsalteregoSky.app

Sky.app is a great way to use Bluesky Social on MacOS, featuring keyboard shortcuts, Dark Mode Sync, and notification badges.

314•Swift
nnabeyangswift-atproto

AT Protocol implementation in Swift

37•Swift
DimillianIcySky

A BlueSky Client. TBD.

522•Swift
rmcanswiftsky

An unofficial Bluesky/ATProto client built in SwiftUI

74•Swift
ChimeHQOAuthenticator

OAuth 2.1 request authentication

94•Swift
MasterJ93ATProtoKit

A straightforward solution for using the AT Protocol and Bluesky, written in Swift.

204•Swift

Resources

GitHub Repository

License

BSD-3-Clause

Author

mattmassicotte
mattmassicotte

Activity

Last commit: December 10, 2025
Commit frequency: Unknown

Our Sponsors

Your Brand Here!

50K+ engaged viewers every month

Limited spots available!

📧 Contact us via email🦋 Contact us on Bluesky
BSkyInfo LogoBskyInfo

The Most Comprehensive Bluesky Tools Directory

Stay updated with the latest Bluesky tools and ecosystem news 🦋

Bluesky butterfly logo
Quick LinksSubmit a ToolSponsorAboutLegal Information
ToolsFeed DirectoryLabeler DirectorySchedulingAnalyticsAll ToolsCategoriesCollectionsTags
ResourcesArticlesBluesky GuidesBluesky GlossaryBluesky SDKsBluesky ResourcesSkyRaffleMeida Coverage
Our ProductsRaffleBlueAiTeach ToolsLaiewAI affiliate listFirstoCoast Fire CalculatorAsphalt CalculatorDog Names World

This website may contain affiliate links

© 2026 BskyInfo. All rights reserved.