Tokens

XRPL token tools, on testnet.

Command-line tools to set up an issuer, issue a token, freeze a trust line, claw back, and create an AMM pool on the XRP Ledger test network. They are built and independently reviewed, and have not been run on any network yet: each testnet transaction needs its own approval.

TestnetBuilt · reviewed · not yet run
The commands

Six commands, one rule.

Without --yes, each command prints the exact transaction it would send and exits with code 2. Nothing is signed and nothing is sent. With --yes, it signs locally and submits, on testnet only.

fth-xrpl token commands
CommandTransactionStatus
fth-xrpl issuer-setup <wallet> [--allow-clawback] [--yes]AccountSet: turn on DefaultRipple for an issuing account; optionally enable clawbackTestnet · not yet run
fth-xrpl issue <wallet> to=<address> currency=<code> value=<amount> [--yes]Payment of an issued token to a holderTestnet · not yet run
fth-xrpl freeze <wallet> holder=<address> currency=<code> [--off] [--yes]Freeze, or with --off unfreeze, one holder's trust lineTestnet · not yet run
fth-xrpl global-freeze <wallet> [--off] [--yes]Freeze, or with --off unfreeze, every trust line of the issuerTestnet · not yet run
fth-xrpl clawback <wallet> holder=<address> currency=<code> value=<amount> [--yes]Clawback of an issued token from one holderTestnet · not yet run
fth-xrpl amm-create <wallet> xrp=<amount> currency=<code> issuer=<address> value=<amount> fee=<0-1000> [--yes]AMMCreate: a pool of XRP and an issued token with a trading fee from 0 to 1000Testnet · not yet run

The acceptance test for each transaction type is byte-for-byte equality with the reference ripple-binary-codec output for a recorded vector, plus a signature that verifies. Refusals are tested too: a trading fee above 1000, an AMM with XRP on both sides, a freeze without an issued currency.

Step 1

Read the dry run

Run the command without --yes. It prints the exact transaction it would send and exits 2. For amm-create the fee is the ledger's reserve increment, capped at 2 XRP; the dry run states the cap.

Step 2

One command to send

"One-click" on this site means this: after the dry run is read, one command with --yes signs and submits that transaction.

Guard

Testnet only

The client asks the server for its network id first and refuses any server whose id is not 1, the XRPL test network. Testnet tokens have no value.

Already on testnet

Two transactions so far.

Before the token tools, the existing fth-xrpl trust and fth-xrpl order commands sent two transactions, each named in advance and approved before it was signed. Both were accepted by the XRPL testnet.

Testnet transactions
TransactionHashResult
TrustSet, limit 100FA33A759C5EF43E97B0783973EEE475D1E4F6643C08441AB710517FC317DB2C7tesSUCCESS, ledger 22230071
OfferCreate, sell 1 XRP, IOC, through the engineF8F4A0633246D35EEB257A50E3752FDC220B269B5AA24C9E3B0FAD48AAD50EF2tesSUCCESS, ledger 22230075

The token on the other side is a testnet token with the currency code RLUSD from a testnet issuer. That issuer is not verified to be the issuer of the RLUSD stablecoin. Details on the XRPL venue page.

Not built · not available

Mainnet

Mainnet issuance, real freezes and real AMM pools are not built and are not available. Any of them would need founder sign-off, with each step approved and run by the owner.

Testnet transactions carry no network field on the XRP Ledger, so a transaction signed for testnet is also valid on mainnet for the same account and sequence. A testnet wallet is therefore never to be used on mainnet.

No support claimed

Stablecoins

USDT on TRON, USDC and RLUSD are possible quote assets the engine could be pointed at. On the XRP Ledger an issued token is identified by its currency code and its issuer, so the issuer is chosen by address, and an issued token is only as good as its issuer.

The engine does not support, hold or move any of them today. The engine has no TRON connection.

Looking for the mint page?

The FTH GOLD mint page is a separate system, not part of this engine.