# Algorand SDK List

Algorand provides Software Development Kits (SDKs) that enable developers to interact with the Algorand blockchain programmatically. These SDKs offer essential tools for building decentralized applications, managing accounts, signing transactions, and handling encoding/decoding of addresses and mnemonics. They provide language-specific abstractions to the Algorand REST APIs, simplifying the process of building applications on the Algorand network. The SDKs ensure a consistent interface for interacting with the Algorand blockchain, making it easier for developers to build applications regardless of their preferred programming language.

The Algorand SDKs empower developers to:

- Connect to Algorand networks, including MainNet, TestNet, or LocalNet.
- Interact with the network by connecting to REST servers.
- Submit requests for data or transactions.
- Construct and sign transactions.
- Handle encoding/decoding of addresses and mnemonics.
- Interact with smart contracts and assets.

## Official Algorand SDKs

Algorand maintains official SDK support for four programming languages:

### Go

[Go SDK Repository](https://github.com/algorand/go-algorand-sdk) Go SDK for Algorand  
[Go SDK Reference](https://pkg.go.dev/github.com/algorand/go-algorand-sdk/v2@v2.8.0) Go SDK API Documentation for Algorand

### Java

[Java SDK Repository](https://github.com/algorand/java-algorand-sdk) Java SDK for Algorand  
[Java SDK Reference](https://algorand.github.io/java-algorand-sdk/) Java SDK API Documentation for Algorand

### Python

[Python SDK Repository](https://github.com/algorand/py-algorand-sdk) Python SDK for Algorand  
[Python SDK Reference](https://py-algorand-sdk.readthedocs.io/en/latest/) Python SDK API Documentation for Algorand

### JavaScript

[JavaScript SDK Repository](https://github.com/algorand/js-algorand-sdk) JavaScript SDK for Algorand  
[JavaScript SDK Reference](https://algorand.github.io/js-algorand-sdk/) JavaScript SDK API Documentation for Algorand

## Community-Managed SDKs

There are also community-supported SDKs available for other languages:

### .NET

[.NET SDK Repository](https://github.com/RileyGe/dotnet-algorand-sdk) .NET SDK for Algorand  
[.NET SDK Reference](https://rileyge.github.io/dotnet-algorand-sdk/api/index.html) .NET SDK API Documentation for Algorand

### C++

[C++ SDK Repository](https://github.com/ShoshaDev/Algorand_Cplusplus_SDK) C++ SDK for Algorand  
[C++ SDK Reference](https://docs.vertices.network/vertices-sdk/api-reference) C++ SDK API Documentation for Algorand

### Dart

[Dart SDK Repository](https://github.com/RootSoft/algorand-dart) Dart SDK for Algorand  
[Dart SDK Reference](https://pub.dev/documentation/algorand_dart/latest/) Dart SDK API Documentation for Algorand

### PHP

[PHP SDK Repository](https://github.com/ffsolutions/php-algorand-sdk) PHP SDK for Algorand

### Rust

[Rust SDK Repository](https://github.com/manuelmauro/algonaut) Rust SDK for Algorand  
[Rust SDK Reference](https://docs.rs/algonaut/0.4.2/algonaut/all.html) Rust SDK API Documentation for Algorand

### Swift

[Swift SDK Repository](https://github.com/Jesulonimi21/Swift-Algorand-Sdk) Swift SDK for Algorand

### Unity

[Unity SDK Repository](https://github.com/CareBoo/unity-algorand-sdk) Unity SDK for Algorand

### Unreal Engine

[Unreal Engine SDK Repository](https://github.com/ShoshaDev/Algorand-Unreal-Engine-SDK) Unreal Engine SDK for Algorand
