# Issue a Fungible Token Anyone can issue various types of tokens in the XRP Ledger, ranging from informal "IOUs" to fiat-backed stablecoins, purely digital fungible and semi-fungible tokens, and more. This tutorial shows the technical steps of creating a token in the ledger. For more information on how XRP Ledger tokens work, see [Issued Currencies](/es-es/docs/concepts/tokens); for more on the business decisions involved in issuing a stablecoin, see [Stablecoin Issuer](/es-es/docs/use-cases/tokenization/stablecoin-issuer). ## Prerequisites - You need two funded XRP Ledger accounts, each with an address, secret key, and some XRP. For this tutorial, you can generate new test credentials as needed. - Each address needs enough XRP to satisfy the [reserve requirement](/es-es/docs/concepts/accounts/reserves) including the additional reserve for a trust line. - You need a connection to the XRP Ledger network. As shown in this tutorial, you can use public servers for testing. - You should be familiar with the Getting Started instructions for your preferred client library. This page provides examples for the following: - **JavaScript** with the [xrpl.js library](https://github.com/XRPLF/xrpl.js/). See [Get Started Using JavaScript](/es-es/docs/tutorials/javascript/build-apps/get-started) for setup steps. - **Python** with the [`xrpl-py` library](https://xrpl-py.readthedocs.io/). See [Get Started using Python](/es-es/docs/tutorials/python/build-apps/get-started) for setup steps. - **Java** with the [xrpl4j library](https://github.com/XRPLF/xrpl4j). See [Get Started Using Java](/es-es/docs/tutorials/java/build-apps/get-started) for setup steps. - You can also read along and use the interactive steps in your browser without any setup. script script ## Example Code Complete sample code for all of the steps of these tutorials is available under the [MIT license](https://github.com/XRPLF/xrpl-dev-portal/blob/master/LICENSE). - See [Code Samples: Issue a Fungible Token](https://github.com/XRPLF/xrpl-dev-portal/tree/master/_code-samples/issue-a-token/) in the source repository for this website. ## Steps ### 1. Get Credentials To transact on the XRP Ledger, you need an address and secret key, and some XRP. You also need one or more recipients who are willing to hold the tokens you issue: unlike in some other blockchains, in the XRP Ledger you cannot force someone to hold a token they do not want. The best practice is to use ["cold" and "hot" addresses](/es-es/docs/concepts/accounts/account-types). The cold address is the **issuer** of the token. The hot address is like a regular user's address that you control. It receives tokens from the cold address, which you can then transfer to other users. A hot address is not strictly necessary, since you could send tokens directly to users from the cold address, but it is good practice for security reasons. In production, you should take extra care of the cold address's cryptographic keys (for example, keeping them offline) because it is much harder to replace a cold address than a hot address. In this tutorial, the hot address receives the tokens you issue from the cold address. You can get the keys for two addresses using the following interface. Generate Get Testnet credentials div Ripple provides the [Testnet and Devnet](/es-es/docs/concepts/networks-and-servers/parallel-networks) for testing purposes only, and sometimes resets the state of these test networks along with all balances. As a precaution, **do not** use the same addresses on Testnet/Devnet and Mainnet. When you're building production-ready software, you should use an existing account, and manage your keys using a [secure signing configuration](/es-es/docs/concepts/transactions/secure-signing). ### 2. Connect to the Network You must be connected to the network to submit transactions to it. The following code shows how to connect to a public XRP Ledger Testnet server with a supported [client library](/es-es/docs/references/client-libraries): JavaScript // You can also use a