Stellar Fungible
stellar-fungibleMake a fungible token per the Fungible Token Standard, compatible with SEP-41, similar to ERC-20.
Instructions
Make a fungible token per the Fungible Token Standard, compatible with SEP-41, similar to ERC-20.
Returns the source code of the generated contract, formatted in a Markdown code block. Does not write to disk.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| cap | No | The maximum total supply of the token, in number of tokens. Leave empty for an uncapped token. Requires total supply tracking, which is then enabled automatically. Cannot be used with votes. | |
| info | No | Metadata about the contract and author | |
| name | Yes | The name of the contract | |
| votes | No | Whether to enable vote checkpoints and delegation for governance. Cannot be used with total supply tracking or a cap. | |
| access | No | The type of access control to provision. Ownable is a simple mechanism with a single account authorized for all privileged actions. Roles is a flexible mechanism with a separate role for each privileged action. A role can have many authorized accounts. | |
| symbol | Yes | The short symbol for the token | |
| premint | No | The number of tokens to premint for the deployer. | |
| burnable | No | Whether token holders will be able to destroy their tokens | |
| decimals | No | The number of decimals used to represent token amounts. Defaults to 7. | |
| mintable | No | Whether privileged accounts will be able to create more supply or emit more tokens | |
| pausable | No | Whether privileged accounts will be able to pause specifically marked functionality. Useful for emergency response. | |
| totalSupply | No | Whether to track the total supply and expose it through a total_supply function. Every mint and burn then writes the same storage entry, which prevents them from executing in parallel. Cannot be used with votes. | |
| upgradeable | No | Whether the contract can be upgraded. | |
| explicitImplementations | No | Whether the contract should use explicit trait implementations instead of using the default ones provided by the library. |