Xumm.payload { … }

Payloads are the primary reason for the XUMM API (thus this SDK) to exist.

An XRPL transaction "template" can be posted to the XUMM API. Your transaction tample to sign (so: your "sign request") will be persisted at the XUMM API backend. We now call it a a Payload. XUMM app user(s) can open the Payload (sign request) by scanning a QR code, opening deeplink or receiving push notification and resolve (reject or sign) on their own device.

A payload can contain an XRPL transaction template. Some properties may be omitted, as they will be added by the XUMM app when a user signs a transaction. A simple payload may look like this:

{
  txjson: {
    TransactionType : 'Payment',
    Destination : 'rwiETSee2wMz3SBnAG8hkMsCgvGy9LWbZ1',
    Amount: '1337'
  }
}

As you can see the payload looks like a regular XRPL transaction, wrapped in an txjson object, omitting the mandatory Account, Fee and Sequence properties. They will be added containing the correct values when the payload is signed by an app user.

Optionally (besides txjson) a payload can contain these properties (TS definition):

  • options to define payload options like a return URL, expiration, etc.

  • custom_meta to add metadata, user insruction, your own unique ID, ...

  • user_token to push the payload to a user (after obtaining a user specific token)

A more complex payload could look like this. A reference for payload options & custom meta can be found in: Payloads (sign requests)

Instead of providing a txjson transaction, a transaction formatted as HEX blob (string) can be provided in a txblob property.

Last updated