Open source, for teams building on Stellar
For Stellar apps that need their own rules.
Like an exchange that matches every 500 ms
Caravel runs your app as a lane: an appchain with its own block time, fees, members, limits and validators, declared in one file. Your users' money stays on Stellar, in the token you choose.
lane.tomlTemplate: Perps, live on testnet
[node]block_time_ms = 500 # a block every half second[[perps.markets]]maker_fee_bps = 0 # no maker feesimf_bps = 1000 # up to 10x leverage[perps.oracle]keys = ["GCRD…H37Q"] # its own price feed[env.testnet]token = "circle-usdc" # settles in Circle's USDC
Deposits, withdrawals and exits stay on Stellar, in the lane's settlement contract.
Declare it. Plan it.
Apply it.
- Declare
One
lane.tomlholds the lane's rules and every place it runs: your laptop, your servers, testnet. - Plan
caravel planlists every step on Stellar and on your hosts before anything is sent, down to the settlement contract's address. - Apply
caravel applydeploys the contract, starts the sequencer, validators and relayer, and the lane starts checkpointing to Stellar. Run it again and nothing changes.
Every rule is a line.
Every change gets a plan.
Change a rule and run plan. Some changes are a restart, some a signer rotation on Stellar, and some the contract won't allow. Pick one to see what plan says.
# lane.toml [[env.e2e.validators]]- name = "3"- key = "validator-3"+ name = "4"+ key = "validator-4"
$ caravel apply lane.toml --env e2e
Lane caravel-payments-local-0 · env e2e · network testnet
signers: 2 of 3 at epoch 2
- ~writesequencer.toml
- ~writevalidator-4.toml
- +startvalidator-4
- ~rotatesigners, epoch 1 → 2 (admin_rotate_signers: a testnet-only admin power)
- ~restartsequencer
- +startrelayer
- -stopvalidator-3
epoch 2: checkpoints 6 and 7 accepted, signed by validators 1, 2 and 4
From a testnet run on 2026-09-30 (docs/RESULTS.md). Coral steps run on your host, teal ones on Stellar.
Run a lane in five minutes.
Install the CLI and caravel apply brings up a lane on a local Stellar network, its nodes in containers. Deposit, transfer, withdraw, then take it down. The same file deploys to your servers.
You need Docker. The installer brings the rest, for Linux and macOS.
Docs · Lane file · Latest release · Results
# install the latest release, into ~/.caravel curl -fsSL https://caravel-tau.vercel.app/install.sh | bash # it adds caravel to your PATH # a lane on this machine caravel init payments my-lane && cd my-lane caravel plan caravel apply # on your servers: add [env.testnet] with # host = { provider = "ssh", runtime = "docker" } caravel plan --env testnet caravel apply --env testnet caravel status --env testnet