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, USDC, or USDT directly to your LP wallet address on Base mainnet. For USDT on BNB Smart Chain, use the BNB deposit tab. 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 a buyer gets 1.5% fewer nTZS for their USDC than the mid-rate — you keep the difference. Quoted the other way round, in nTZS per USDC, your ask sits BELOW mid and your bid sits ABOVE it: selling nTZS means parting with fewer of them per USDC. The platform enforces a minimum of 10 bps and a maximum of 500 bps per side. One spread applies to every pair you quote (USDC, USDT, tGBP, ZARP — each priced off its own Bank of Tanzania mid-rate); the Spread page lets you switch a side off, and choose which pairs may route fills to you.
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 (Base) | 0xfde4C96c...99bb2 | Live |
| USDT | Tether USD (BNB Smart Chain) | 0x55d39832...9955 | Live |
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 pays slightly more nTZS for each USDC.
The protocol fee is charged to the taker on top of your spread, not deducted from it — you keep the full bps you configured, and the fee accrues separately to the platform. The rate in force is returned as protocolFeeBps on every quote (0.2% by default).
You earn the spread when someone else crosses it, not by trading through your own quote. Swapping your inventory back on the platform makes you a taker: you pay a spread and the protocol fee like anyone else. That is a cost of exiting, not a loss on your market making.
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.