Appearance
How to become a filler
Fillers are the market makers of Textile FX. They answer Swap quote requests with firm prices, traders execute those quotes, and the filler earns the spread they configured. Quoting Swap covers the knobs.
You do not need to write code. Stitch, the open-source filler bot, does the whole job out of the box. Download the desktop app, fund a wallet, set your spreads and limits in the browser panel, connect to Textile, and press Start.
What you need
USDT inventory on the corridor's network. This is your working capital. It buys the counter-asset (cNGN, wARS, wBRL, IDRX, TESOURO, WETH) at your prices.
An exit for the counter-asset. Every buy-side fill leaves you holding the non-USD side. You need your own off-ramp or hedge for it. The protocol does not do this for you.
A dedicated hot wallet for the bot, holding your trading inventory plus a little native token for gas. Never your treasury key.
A machine that stays on. Your own computer is fine while you try things out. For quoting around the clock, use a small server or one of the other install options below.
A price feed for the corridor, a simple HTTP endpoint returning { "price", "timestamp" }. Optional "degraded": true tells Stitch the print is held or fallback, not live — it then rejects RFQ, publishes no levels, and skips the ladder until the next live print. Stitch also holds the corridor when a print jumps more than [price_guard].max_jump_bps (default 10%) from the last trusted one, and refuses to sign an order that would lose more than max_loss_bps (default 15%) against the feed. Both guards are on with no config. Compare more than one source. Your quotes are only as good as your feed.
Onboarding details from Textile: API and contract addresses for your corridor, plus testnet access to practice on. Write to contact@textilecredit.com.
Setting up Stitch
Two recommended ways to run Stitch: the desktop app on the machine in front of you, or the Docker panel on a server. Desktop works on macOS, Windows, and Linux. It is a light menu-bar or tray controller that starts a local panel in your browser, with no Docker and no terminal.
- Download the app for your platform:
- macOS: Stitch.dmg. Open it, drag Stitch to Applications, and launch it from there. It appears in the menu bar and opens the panel.
- Windows: stitch-bot-x86_64-pc-windows-msvc.zip. Unzip and double-click
stitch-desktop.exe. If SmartScreen warns, click "More info", then "Run anyway". - Linux: stitch-bot-x86_64-unknown-linux-gnu.tar.xz (ARM64 build). Extract and run
stitch-desktop.
- Create your bot. On first launch the app asks you to pick a panel password, entered twice, and only a hash is stored. It opens the panel in your browser. Pick your corridor and a Signer: a local private key by default, or Turnkey, MPCVault, Fireblocks, Google Cloud KMS, or AWS KMS when you do not want a hot key on the host. Press Create. Stitch writes the configuration and stores secrets where only your user can read them. To log in later, open the panel from the menu or tray and enter that password.
- Approve, connect, go live. In Tools → Approve allowances, press Approve allowances once so Permit2 can pull the tokens you quote. That costs a small gas fee. Then go to Settings → RFQ → Connect. Start only after that. A new bot quotes nothing without a maker key.
Quote Swap (RFQ)
New bots quote Swap via firm RFQ.
- In the Stitch panel, open Settings → RFQ and press Connect to Textile. The bot signs with the funding wallet and Textile saves the credential. You never paste a key. Connect alone does not put you in the fan-out.
- Give an email address you own and click the link Textile sends you. That covers every RFQ corridor on every chain, including pairs listed later.
- Confirm the email. The panel polls Textile every few seconds and seats the bot once it is confirmed — you can also press Check status. Start only after that. A bot with no credential quotes nothing.
If the link never arrives, check spam and press the button again to resend. If the panel says Textile blocked the maker, or that your pair is not on an RFQ corridor, email contact@textilecredit.com. Do not invent a corridor slug in Advanced.
Leave Fill users' resting limit orders on if you also want to take Limit flow. That taker is a separate leg from answering RFQ.
If an older bot is not on RFQ yet, press Switch to RFQ only. Swap cannot use inventory that is still pledged elsewhere.
Quit Stitch from the menu or tray to stop the local panel. For quoting around the clock, use a Docker or server install on a machine that stays on.
Other ways to run it
- With an AI coding agent: install the
stitchskill in Claude Code or Codex, or paste the install prompt from the repo README. The agent installs the Stitch web UI, local password or server Tailscale, and opens it. You finish bot setup in the browser. - Docker: prebuilt image on GHCR. Pass the config and signer credentials as mounted files or environment variables.
- Linux server: installer script plus a systemd service.
- Manual install, for operators who live in a terminal: macOS or Windows, plus every release with checksums.
Whichever path you pick, the sequence is the same. Keep signer secrets in separate files, never in the config. Run stitch approve once. Then go live small. --dry-run checks config and skips firm RFQ responses. It does not simulate a sized quote. After any config change, restart the bot. It reads the config at startup.
For non-hotwallet signers: Fireblocks, Google Cloud KMS, AWS KMS. The panel also opens a step-by-step Fireblocks / Cloud KMS / AWS KMS guide beside the Signer picker. Turnkey and MPCVault setup live in the same Stitch docs folder.
How you earn
Your spread is whatever you configure. Quote 10 basis points off mid and you earn roughly that on every fill, while the taker pays the per-chain protocol fee on top, 1 bps on BSC and Celo, 3 bps on Polygon, 5 bps on Ethereum. Stitch only signs quotes your wallet can actually cover, so your funds move only when a trader executes you.
Next
- Quoting Swap for the knobs that control your quotes
- How it works for the RFQ mechanics
- Operator Vault for depositing into a vault instead of running a bot, or for quoting with LP capital if you do. Before you enroll a vault funding wallet,
GET /v2/maker/vault-checkruns the same checks enroll will and returns every problem inissues(seeopenapi-v2.json).