Documentation
Overview
SimpleFX is an on-chain liquidity provisioning protocol for the Tanzanian Shilling stablecoin, nTZS. Market makers deposit inventory, configure bid/ask spreads, and earn fees automatically as swap orders fill against their pool.
Last updated: 8 April 2026
Getting Started
Create an LP Wallet
Navigate to the SimpleFX homepage and enter your email address. An LP wallet (an EVM-compatible externally owned account on Base mainnet) is provisioned for you instantly. Your wallet address is deterministically derived from your account using BIP-44 HD wallet derivation.
Complete Identity Verification
Tanzanian law requires identity verification before you can activate your LP position. You will need: a government-issued photo ID (NIDA card, passport, or driving licence), proof of address dated within 90 days, and a source of funds declaration for deposits above applicable thresholds.
Deposit Inventory
Send nTZS or USDC directly to your LP wallet address. The minimum initial nTZS deposit to activate a position is 10,000 nTZS. Deposits are visible in your LP Dashboard under Inventory.
Configure Your Spread
Set your bid and ask spread in basis points from the Spread page. A 150 bps ask spread means you sell nTZS to buyers at 1.5% above mid-market. The platform enforces a minimum of 10 bps and a maximum of 500 bps per side.
Go Live
Activate your LP position from the Overview page. Your inventory becomes immediately available to the matching engine. Orders fill automatically and earned fees accrue to your LP wallet in real time.
Supported Assets
| Token | Description | Contract (Base) | Status |
|---|---|---|---|
| nTZS | Tanzanian Shilling stablecoin | 0xF476BA98...10688 | Live |
| USDC | USD Coin (Circle) | 0x833589fC...02913 | Live |
| USDT | Tether USD | — | Roadmap |
How Spreads Work
All prices are expressed relative to the on-chain oracle mid-market rate. You set two values — bid bps and ask bps — both in basis points (1 bps = 0.01%).
Ask spread
output = amount × midRate × (1 − askBps / 10000)
Applied on USDC → nTZS swaps. Buyer receives slightly fewer nTZS.
Bid spread
output = (amount / midRate) × (1 + bidBps / 10000)
Applied on nTZS → USDC swaps. Seller receives slightly more USDC per nTZS.
The protocol fee (currently 0.1%) is deducted from LP earnings on each filled order. Your effective net spread is your configured spread minus the protocol fee.
Security
LP wallets are derived from per-account BIP-44 HD wallet paths using the derivation scheme m/44'/8453'/0'/0/{index} (Base coin type). Private keys are derived on-demand for transaction signing and are never persisted to disk or application logs.
All wallet seeds are stored AES-256-GCM encrypted. The encryption key is an environment-level secret and is never exposed to application code at rest.
We recommend using a unique, strong password for the email address associated with your LP account. Your email is used for one-time-password authentication and account recovery.
FAQ
Is there a minimum deposit?
Yes. The minimum initial nTZS deposit to activate an LP position is 10,000 nTZS.
Can I withdraw my inventory at any time?
Yes. Initiate a withdrawal from the LP Dashboard at any time. Withdrawals settle on-chain, typically in under 2 minutes on Base mainnet.
How are earnings paid out?
Earnings accrue to your LP wallet in real time as orders fill. There is no lock-up period.
What is the nTZS contract address on Base?
0xF476BA983DE2F1AD532380630e2CF1D1b8b10688
Can I connect programmatically without the web dashboard?
Yes. The Market Maker API (see API Reference) provides API key-based access to all LP functions. This is the recommended integration path for automated market making.
Need help?
Email devops@ntzs.co.tz for technical or account queries, or devops@ntzs.co.tz for compliance matters.