You can deploy the whole protocol yourself, on a local standalone network or on testnet.
The deploy tooling lives in soroswap/core and is the
source of truth; the summary below mirrors that repository’s README.
This page used to carry a long CLI walkthrough written against the old soroban CLI,
Futurenet and the soroban-preview Docker images. All three are gone: the CLI is now
stellar, and the deploy path is the scripted one below. The walkthrough was removed
rather than left to mislead. Follow the repository README for anything not covered here.
Prerequisites
jq, docker, docker-compose, node, yarn.
Set up
Fill in SOROSWAP_ADMIN_SECRET_KEY, TEST_TOKENS_ADMIN_SECRET_KEY,
TESTING_ACCOUNT_SECRET_KEY and MAINNET_RPC_URL. These are the keys the deploy runs as.
Start the network container in one terminal:
And the workspace container in another:
Deploy
From the workspace container:
That one command installs the Pair, Factory and Router WASM, then deploys and initializes
the Factory and the Router. On any network other than mainnet it also seeds the network so
there is something to trade against: eight test tokens, liquidity across three paths, four
Stellar test tokens, and eight random tokens. Native XLM is wrapped if it is not already.
It writes three files:
.soroban/tokens.json
.soroban/<NETWORK>.contracts.json
.soroban/random_tokens.json
Serve the addresses locally
These mirror the shape of the public API, so a frontend pointed at localhost behaves the
same way it does against production.
The deployed contracts
If you only want to talk to the contracts that are already live rather than run your own,
you do not need any of the above. The mainnet addresses are on
Deployed Addresses, and the current values
are always in
public/mainnet.contracts.json.