Monetization

Monetize your Project using Crossmark

⚠️

This feature is still in development. We are presenting this solution to start a healthy discussion around monetization techniques. Some aspects may change over time.

We are annoucing a game-changer feature coming to Crossmark that aims to help projects monetize by capturing a service fee through our wallet. The service fee will be imposed following a successful transaction. If the transaction fails for any reason, the service fee will not be processed.

We are extending the ownership and responsibility of the service fee to the underlying projects intergating with Crossmark. This means that it is solely up to you and your team to determine a competitive and reasonable service fee for your product.

The service fee is direct to consumer. Crossmark does not intend to take any middleman fees or engage in a profit-sharing scheme.

Limitations

The new appraach only allows service fees denominated in XRP.

Usage

Any method that accepts a SignOpts input will be able to accomodate a service fee. This includes standard sign and sumbit methods as well as all of the bulk methods.

await sdk.async.signAndSubmitAndWait(
  {
    TransactionType: 'Payment',
    Account: 'rUmoi1vt8apeKsqFYKMRSiMvWixFDMC8Jz',
    Destination: 'rK8jihXBZCFWZqX95SET3CCi1WdRgZQwex',
    Amount: '11000000', // XRP in drops
  },
  {
    service: {
      address: 'rfTjMqPxtGsTCktF69x3sc41kntiN8X9Tk', // Destination address to receive service fee payment
      amount: '10000', // XRP in drops
    },
  }
);

Example

Request

await sdk.async.signAndSubmitAndWait(
  {
    TransactionType: 'Payment',
    Account: 'rUmoi1vt8apeKsqFYKMRSiMvWixFDMC8Jz',
    Destination: 'rK8jihXBZCFWZqX95SET3CCi1WdRgZQwex',
    Amount: '11000000', // XRP in drops
  },
  {
    service: {
      address: 'rfTjMqPxtGsTCktF69x3sc41kntiN8X9Tk', // Destination address to receive service fee payment
      amount: '10000', // XRP in drops
    },
  }
);

Response

{
  request: {
    app: 'crossmark',
    type: 'request',
    id: 'b2b0628a-eb4e-4c83-b245-e22031a0d0f9',
    command: 'sign-and-submit',
    data: {
      tx: {
        TransactionType: 'Payment',
        Account: 'rUmoi1vt8apeKsqFYKMRSiMvWixFDMC8Jz',
        Destination: 'rK8jihXBZCFWZqX95SET3CCi1WdRgZQwex',
        Amount: '11000000',
      },
      opts: {
        service: {
          address: 'rfTjMqPxtGsTCktF69x3sc41kntiN8X9Tk',
          amount: '10000',
        },
      },
    },
  },
  response: {
    app: 'crossmark',
    id: 'b2b0628a-eb4e-4c83-b245-e22031a0d0f9',
    type: 'response',
    data: {
      resp: {
        id: 34,
        result: {
          Account: 'rUmoi1vt8apeKsqFYKMRSiMvWixFDMC8Jz',
          Amount: '11000000',
          DeliverMax: '11000000',
          Destination: 'rK8jihXBZCFWZqX95SET3CCi1WdRgZQwex',
          Fee: '10',
          Flags: 0,
          LastLedgerSequence: 1375097,
          Sequence: 43972,
          SigningPubKey: '0377ACDB56B4DC457F01F049A5B43C976D8D05DF52E6BD9E00BF09802B8B60E50B',
          TransactionType: 'Payment',
          TxnSignature:
            '304402201C8FF14A3EBA8122580CA25BC1CC17BBD582407C8B8C8563AAC540AE476D0DDB022036BF61913D82CC72CDF787EEE5E834D395C76E05E1CB26E14812C37678FD025C',
          ctid: 'C014FA5400010002',
          date: 771112522,
          hash: '32694AC28954172D3136F71EFDB94D0235450C74329930EB6C8AFF52B8DBE332',
          inLedger: 1374804,
          ledger_index: 1374804,
          meta: {
            AffectedNodes: [
              {
                ModifiedNode: {
                  FinalFields: {
                    Account: 'rK8jihXBZCFWZqX95SET3CCi1WdRgZQwex',
                    Balance: '77000000',
                    Flags: 0,
                    OwnerCount: 0,
                    Sequence: 1369491,
                  },
                  LedgerEntryType: 'AccountRoot',
                  LedgerIndex: '61202D1EAF3616BBB31CD08AE35018FF3E5CD1DC436E33BE6E2DFA52EE241A71',
                  PreviousFields: {
                    Balance: '66000000',
                  },
                  PreviousTxnID: 'D3D1A692C436736F698D6005988D1428580DAD1BEEDD04B7CA0194622759AFCE',
                  PreviousTxnLgrSeq: 1372544,
                },
              },
              {
                ModifiedNode: {
                  FinalFields: {
                    Account: 'rUmoi1vt8apeKsqFYKMRSiMvWixFDMC8Jz',
                    Balance: '110778590',
                    Flags: 0,
                    OwnerCount: 1,
                    Sequence: 43973,
                  },
                  LedgerEntryType: 'AccountRoot',
                  LedgerIndex: 'F3DDED54B57CEA721E15651415FAF35969713463337156B19CC67B818609ACBA',
                  PreviousFields: {
                    Balance: '121778600',
                    Sequence: 43972,
                  },
                  PreviousTxnID: 'D3D1A692C436736F698D6005988D1428580DAD1BEEDD04B7CA0194622759AFCE',
                  PreviousTxnLgrSeq: 1372544,
                },
              },
            ],
            TransactionIndex: 1,
            TransactionResult: 'tesSUCCESS',
            delivered_amount: '11000000',
          },
          validated: true,
        },
        type: 'response',
      },
      service: {
        isSuccess: true,
        hash: '9F4BAE1E59A34AE02C8D2175859B3CD5A54364CC3AB2B718706E79B7CCFE1340',
        result: {
          resp: {
            id: 56,
            result: {
              Account: 'rUmoi1vt8apeKsqFYKMRSiMvWixFDMC8Jz',
              Amount: '10000',
              DeliverMax: '10000',
              Destination: 'rfTjMqPxtGsTCktF69x3sc41kntiN8X9Tk',
              Fee: '10',
              Flags: 0,
              LastLedgerSequence: 1374824,
              Sequence: 43973,
              SigningPubKey: '0377ACDB56B4DC457F01F049A5B43C976D8D05DF52E6BD9E00BF09802B8B60E50B',
              TransactionType: 'Payment',
              TxnSignature:
                '304402206E301C2C2DF453448F96528E0E91D994CD056D7CF3F1975236312C5EC34D6FCA02207753C9406309B4442915630899FC5D37B86D9A061858B866887B49BE14A7EA58',
              ctid: 'C014FA5600000002',
              date: 771112530,
              hash: '9F4BAE1E59A34AE02C8D2175859B3CD5A54364CC3AB2B718706E79B7CCFE1340',
              inLedger: 1374806,
              ledger_index: 1374806,
              meta: {
                AffectedNodes: [
                  {
                    ModifiedNode: {
                      FinalFields: {
                        Account: 'rfTjMqPxtGsTCktF69x3sc41kntiN8X9Tk',
                        Balance: '12230000',
                        Flags: 0,
                        OwnerCount: 0,
                        Sequence: 1302968,
                      },
                      LedgerEntryType: 'AccountRoot',
                      LedgerIndex:
                        '38A569D608330754C6FEDDBCCCF8D66D24A7DDC6FB4FE13783C671C02A782770',
                      PreviousFields: {
                        Balance: '12220000',
                      },
                      PreviousTxnID:
                        '41DD88C9AA2BC4437C603A424A5EF50AC8AB7CED49B243696BC1B7E638B6D937',
                      PreviousTxnLgrSeq: 1372379,
                    },
                  },
                  {
                    ModifiedNode: {
                      FinalFields: {
                        Account: 'rUmoi1vt8apeKsqFYKMRSiMvWixFDMC8Jz',
                        Balance: '110768580',
                        Flags: 0,
                        OwnerCount: 1,
                        Sequence: 43974,
                      },
                      LedgerEntryType: 'AccountRoot',
                      LedgerIndex:
                        'F3DDED54B57CEA721E15651415FAF35969713463337156B19CC67B818609ACBA',
                      PreviousFields: {
                        Balance: '110778590',
                        Sequence: 43973,
                      },
                      PreviousTxnID:
                        '32694AC28954172D3136F71EFDB94D0235450C74329930EB6C8AFF52B8DBE332',
                      PreviousTxnLgrSeq: 1374804,
                    },
                  },
                ],
                TransactionIndex: 0,
                TransactionResult: 'tesSUCCESS',
                delivered_amount: '10000',
              },
              validated: true,
            },
            type: 'response',
          },
        },
      },
      meta: {
        isError: false,
        isRejected: false,
        isExpired: false,
        isSigned: true,
        isPending: false,
        isSuccess: true,
        isFail: false,
        isVerified: false,
      },
    },
  },
  createdAt: 1717797303244,
  resolvedAt: 1717797332312,
};