Skip to main content
For each activation, trustline and payment request below, use its signingRequest.uuid to review and sign, then confirm the transaction using its returned txHash before continuing.

1. Create a wallet

CreateWallet creates a Stellar API wallet:
The response returns the address in details.address, used below as <NEW_STELLAR_ADDRESS>. The wallet’s STATUS_ACTIVE is its MPCVault status; the Stellar account still needs activation.

2. Activate the account

Fund the new address with XLM on Stellar Mainnet:
  • External wallet or exchange: send XLM using a service that supports funding new Stellar accounts.
  • Existing MPCVault wallet: use any activated wallet with enough spendable XLM. stellarSendNative creates the destination account if it is inactive.
This example sends 3 XLM to cover activation, one trustline and fees. An unsponsored account requires 1 XLM; a standard trustline adds 0.5 XLM to its reserve. See Stellar account funding. Use an API token with access to the funding wallet’s vault, that vault’s UUID, and a client signer with key access:
Confirm the activation transaction succeeded on-chain before creating the trustline.

3. Add a trustline

The example uses Circle’s Stellar Mainnet USDC issuer:
Once confirmed on-chain, the wallet can receive USDC from this issuer.

4. Receive USDC

Have an existing USDC holder send at least 1.2 USDC to the new wallet. Check the received balance with GetBalance:
balance is in whole asset units: "1.2" means 1.2 USDC. Omit tokenAddress to query XLM. Individual deposits are confirmed by their transaction hash with Stellar RPC.

5. Send with a memo

The recipient must be activated and have a trustline to the same USDC issuer with enough capacity. Keep enough spendable XLM in the sending wallet for fees.
amount is a decimal string in whole USDC units, with up to seven decimal places. memo is Text, up to 28 UTF-8 bytes.