The XUMM SDK in Node/JS - XRP ledger payment requests
Tags: xrpl, xrp, xumm, sdk
Published: 2020-10-15 12:39:38

The **XUMM API** will allow developers to deliver sign requests (payloads) to app users. A **payload** is a JSON formatted transaction template for a transaction on the XRP ledger.

XUMM app users can [scan a QR code](https://www.youtube.com/watch?v=P6hL1FDvF4c) or receive a push notification to open the sign request for a transaction. A user views the sign request and either authorizes XUMM to sign it or rejects it. If authorized, the sign request will be signed locally via XUMM, if rejected the sign request is destroyed and the transaction does not happen.

If authorized the transaction can then be sent directly to the XRP ledger. The initiating application will get realtime status updates and after signing, the end user will be returned to the initiating platform.

#### To make it simple to interact with the XUMM API, and to help build intuitive flows for end users to sign their transactions, we have released the *XUMM SDK* ([npm](https://www.npmjs.com/package/xumm-sdk)) for **Javascript**, **Typescript** and **[Deno](https://deno.land/x/xumm@deno_v0.1.2.1)** environments.

We have provided a [beginners course on setting up a code editor (Visual Studio Code) & interacting with the XRP ledger using Javascript code](https://coil.com/p/wietse/Coding-the-XRP-ledger-A-beginners-course-/kKu7G0Hhq). This is still available for viewing and instructions.

### Pre-requisite

Before beginning this XUMM SDK tutorial, we assume that you are ready to code with your code environment already set up and if required, you have followed the steps outlined in my [previous tutorial](https://coil.com/p/wietse/Coding-the-XRP-ledger-A-beginners-course-/kKu7G0Hhq).

**This tutorial consists of five chapters:**
#### [1. Get your XUMM API credentials 🔑](https://dev.to/wietse/xumm-sdk-1-get-your-xumm-api-credentials-5c3i)
[2. Prepare your project and start coding 🔨](https://dev.to/wietse/xumm-sdk-2-prepare-your-project-and-start-coding-a8m)
[3. Your first payload 🔔](https://dev.to/wietse/xumm-sdk-3-your-first-payload-49i2)
[4. Verify the results ⛑ and push 🚀](https://dev.to/wietse/xumm-sdk-4-verify-the-results-and-push-381)
[5. Security & finishing touch 🎉](https://dev.to/wietse/xumm-sdk-5-security-finishing-touch-3335)

## Resources 📚
If you want to learn more about the XUMM SDK, platform, documentation, etc., make sure to check out:

- The XUMM SDK [readme](https://www.npmjs.com/package/xumm-sdk)
- The XUMM SDK [source code](https://github.com/XRPL-Labs/XUMM-SDK)
- The XUMM API [documentation](https://xumm.readme.io/docs) & API [reference](https://xumm.readme.io/reference/about)
- XUMM (end user) [support docs](https://support.xumm.app/)
- In case of questions: [support@xumm.app](mailto:support@xumm.app?subject=XUMM+SDK+-+dev.to)

#### Thank you XRP Community!
... For checking, correcting & testing the SDK & tutorial!
[@technotip](https://twitter.com/technotip), [@calvincs](https://github.com/calvincs), [@wenusch](https://github.com/wenusch), [@alloyxrp](https://github.com/alloyxrp), [@rippleitinnz](https://github.com/rippleitinnz), [@Ubbah](https://github.com/Ubbah), [@enclavia](https://twitter.com/enclavia), [@WormholeMech](https://twitter.com/WormholeMech), [@Chicles_](https://twitter.com/Chicles_), [@3N0RYM](https://twitter.com/3N0RYM), [@XrpSpark](https://twitter.com/XrpSpark), [@devnullinator](https://twitter.com/devnullinator), [@Vetjes](https://twitter.com/Vetjes), [@KevinKing64](https://twitter.com/KevinKing64), [@Kujistudios](https://twitter.com/Kujistudios), [@nodehash](https://twitter.com/nodehash), [@4thMadHatter](https://twitter.com/4thMadHatter), [@Vkumzy](https://twitter.com/Vkumzy), [@CarpeDiemXRP](https://twitter.com/CarpeDiemXRP), [@Hex539](https://twitter.com/Hex539), [@xrplosion1](https://twitter.com/xrplosion1), [@chemical_realm](https://twitter.com/chemical_realm), [@RossMacFirdeen](https://twitter.com/RossMacFirdeen)