riddlePARTNERS

Setup · sign

Sign widget + API

Create an unsigned session, mount the sign widget, user signs in Riddle Wallet.

Open live demo →

  1. 1

    Create a live API key

    Dashboard → API keys. Never put rpk_live_ in a public JS bundle. Call createSignSession from your server.

  2. 2

    POST a sign session

    POST https://partners.riddlewallet.com/api/v1/sign/session
    X-Api-Key: rpk_live_…
    {
      "chain": "xrpl",
      "txjson": { "TransactionType": "Payment", "Destination": "r…", "Amount": "1000000" },
      "instruction": "Pay platform fee"
    }
  3. 3

    Mount with session + et

    Use embedToken (et) from the create response. It is shown once.

    <div id="sign"></div>
    <script src="https://partners.riddlewallet.com/riddlepartners.js"></script>
    <script>
      const riddle = RiddlePartners.createClient({ partner: 'acme' })
      riddle.mount('#sign', { product: 'sign', height: 560, session: 'SESSION_ID', et: 'EMBED_TOKEN' })
    </script>
  4. 4

    Handle signed

    window.addEventListener('riddle-embed', (e) => {
      if (e.detail.type === 'riddle-embed:signed') console.log(e.detail.txHash)
    })
    // or poll GET /api/v1/sign/session/:id