Token Forge docs
v0.1.0
Live demo Get help
● Set up · Revenue mechanisms

Earnings
what earns, and for whom.

Token Forge adds no fee of its own to anything. The revenue mechanism that exists in the code is the Token-2022 transfer fee, which earns the operator of a Reward token from transfers of that token. Other presets record entitlements you sell through your usual channels.

01The short version

MechanismWho receives itStatus in the code
Transfer fee on a Reward tokenYou, as the token's operator: a share of every transfer of your tokenBuilt. Console builds harvest and withdraw.
Selling the entitlement (membership, licence, credits, pass)You, through your own checkoutOutside the forge. The token records the entitlement; the forge issues and revokes it.
A creation fee or vendor feeNobodyNot present. There is no fee field, fee wallet or revenue section in Settings.

The reasoning is in DOCS/EARNING.md in the package. In short: whoever signs the mint transaction is the token's owner, so a creation fee would only move your own SOL to yourself.

02Set up a transfer fee

  1. Step 1: pick Reward tokenIt is the only preset that is both transferable and fee-bearing. It uses 6 decimals, so a percentage fee has room to round.
  2. Step 3: set the feeFee, basis points (100 = 1%, up to 10,000) and Maximum per transfer in base units. The preset starts at 1% with a cap of 1,000 tokens. The tile shows what is sent, withheld and arrives.
  3. Step 4: keep two authoritiesTransfer fee config authority (to change the rate or cap later) and Withdraw withheld authority (to collect). The forge will not build a fee-bearing mint without a withdraw authority.
  4. Step 5: read the consequencesA fee means the amount that arrives is smaller than the amount sent. That breaks anything expecting an exact amount and affects listing at venues.
  5. Collect regularlyIn Console → Fees: build a harvest, then a withdrawal. Nothing is collected automatically.
Transfer fee tile with fee, cap and a worked transfer
Step 3 on the Reward token preset
Changing it later

The extension itself cannot be added to or removed from a mint later. The rate and cap can be changed while you hold the fee config authority; Token-2022 applies a new rate after two epochs.

03What was measured on devnet

Example, from DOCS/proofs/operations.json (run of tool/devnet/prove_operations.dart against the same Token-2022 program devnet runs). These are test transfers, not a forecast of income:

StepResult on chain
Sent 100.000000 at 2.5%97.500000 arrived
Sent 500.000000, 2.5% would be 12.5, cap 5Fee of 5.000000 (the cap)
Harvested to the mint7.500000
Withdrawn to the operator7.500000, 0 left

What a fee brings in depends entirely on how much your token is actually transferred. The forge shows only figures already read from the chain; it makes no projections.

04The other six presets

Membership, Licence, Loyalty points and Pass / ticket are non-transferable; API credits and Whitelist token carry no fee. There is no transfer to take a share of. The money in those models is the membership fee, the licence fee or the prepaid credit, collected wherever you already collect payments. The forge is not a payment rail.

Your responsibility

Tokens you create, and any fee they carry, may have legal, tax and consumer-protection consequences where you operate. Take advice before a mainnet launch.

05If you want a creation fee anyway

You have the source. If a third party funds the mint in your model (an agency creating tokens for clients), a creation fee can make sense. Keep two rules from DOCS/EARNING.md: the transfer must be a real instruction emitted by MintBuilder.build (lib/core/token2022/mint_builder.dart) so it appears in the review list, and it must be off and zero by default. Run flutter test afterwards; test/presets_and_builder_test.dart checks instruction counts and transaction size.