> For the complete documentation index, see [llms.txt](https://factom-protocol.gitbook.io/documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://factom-protocol.gitbook.io/documentation/master.md).

# Welcome Developers

## The Factom Protocol

The Factom Protocol is a one of a kind pure data blockchain that makes securing and validating data, building applications, or issuing tokens easy, efficient, secure, and flexible.  Thanks to [the two token system](https://developers.factomprotocol.org/protocol-overview-2#2-token-system) with fixed input costs, your company or clients can properly budget for usage and don't have to hold cryptocurrency as subscription models can be utilized.

## Use With Legacy Systems

Securing and validating the data on your existing legacy systems is easy and efficient with the Factom Protocol.  [Simply tap into an existing API solution or build your own](https://developers.factomprotocol.org/start/factom-api-docs).

## Use The Languages You Already Know

You don't need to learn a new language to build on top of the Factom Protocol.  In fact, we have libraries for many of the languages you already utilize:

[Factom.js](https://github.com/PaulBernier/factomjs) - An interface to factomd API to make it super simple to query, create transactions, chains and entries

[Java Enterprise Client Library](https://github.com/bi-foundation/factom-java) - Java Library integrates Java (JEE & Spring) with the Factom blockchain

[C# / .net Library](https://github.com/FactoidAuthority/FactomSharp) - The .NET-library supports the complete factomd- and walletd-API.

[Python Client Library](https://github.com/TRGG3R/factom-api) - Provides Python clients for interacting with the factomd and factom-walletd APIs. The API client is fully tested under Python 2.7, 3.4, 3.5, and 3.6, and likely works with other versions as well.

[Rust Client Library ](https://github.com/kompendium-llc/factom-rust-client)- Rust json-rpc client library for communicating with factomd, factom-walletd, debug APIs provided by reference implementation of Factom protocol. Includes examples and wide test coverage.

[Haskell Client Library](https://github.com/kompendium-ano/factom-haskell-client) - Haskell json-rpc client library for communicating with factomd, factom-walletd, debug APIs provided by reference implementation of Factom protocol. Includes examples and wide test coverage.<br>

[PHP Client Library ](https://github.com/kompendium-ano/factom-php-client)- PHP json-rpc client library for communicating with factomd, factom-walletd, debug APIs provided by reference implementation of Factom protocol. Includes examples and wide test coverage.<br>

[Ruby Client Library](https://github.com/kompendium-ano/factom-ruby-client) - Ruby json-rpc client library for communicating with factomd, factom-walletd, debug APIs provided by reference implementation of Factom protocol. Includes examples and wide test coverage.<br>

[Swift client Library ](https://github.com/kompendium-ano/factom-swift-client)- Swift json-rpc client library for communicating with    factomd, factom-walletd, debug APIs provided by  reference implementation of Factom protocol. Includes examples and wide test coverage.<br>
