Getting Started with UMA

  1. Sign Up for a Test UMA Address

    Visit spark.info/uma to create your test UMA account.

  2. Look Up UMA Address Information

    Before sending a payment, you can look up supported currencies and payment limits:

    const umaAddress = "$yourname@uma.me"; // Your UMA address from spark.info/uma
    
    // Get supported currencies and payment limits
    const umaInfo = await sparkWallet.umaAddressLookup(umaAddress);
    console.log("Supported currencies:", umaInfo.currencies);
    console.log("Min sendable:", umaInfo.min_sendable_sats);
    console.log("Max sendable:", umaInfo.max_sendable_sats);
    
  3. Send Funds to Your UMA

    You can now send payments in specific currencies:

    // Create a payment request in USD
    const paymentRequest = await sparkWallet.umaPayRequest(
      umaInfo.callback_id,
      "USD",
      BigInt(1000)  // Amount in the specified currency, i.e. 10.00 USD
    );
    
    // Pay the invoice
    const payment = await sparkWallet.payLightningInvoice(
      paymentRequest.encoded_invoice
    );
    console.log("Payment status:", payment.status);
    
  4. Verify Your Transaction

    Visit spark.info/uma to verify that your funds have arrived.

Next Steps

Now that you know how to off-ramp your funds with UMA, check out the Cooperative Exit guide to learn how to exit your Bitcoin from the Spark wallet.