Skip to main content
You need a Console account and a Stellar account that can sign. Everything below runs on mainnet; swap in ?network=testnet to try it on the Sandbox first.

1. Get an API key and a vault

Open the Console, create an account, go to API Keys and generate one. It looks like sk_... and it is the only credential your backend needs. You hold one active key at a time: generating a new one revokes the old one. Create your vault in the same place, or point at one that already exists. Either way you end up with a vault address. The longer walkthrough is in Getting your API key.

2. Build a deposit

The API returns an unsigned transaction for the user. Amounts are in the asset’s smallest unit, 7 decimals for USDC and XLM.
The response carries xdr, the transaction to sign.

3. Sign and send

Sign xdr with the user’s key, in your wallet stack or with the Stellar SDK, and send it back:
Then read the balance:
underlyingBalance is what the user holds, in the vault’s asset. Withdraw is the same flow against /withdraw.

The same thing in TypeScript

One client class covers every call. POST /send sits at the API root rather than under a vault path, which is the only shape that differs.

Next