·Dashboard
NotaryChain
Pricing
Embeddable Notarize SDK v1.0

Add legally-binding
notarization in 3 lines of code.

Drop a single <script> tag on your site to launch a fully-compliant Remote Online Notarization ceremony — KBA, live A/V witness, biometric signature, and on-chain Hedera seal.

No backend changes needed Florida RON compliant Signed webhooks (HMAC-SHA256) Hedera-anchored proof

Quickstart

From zero to your first sealed document in under five minutes.

  1. 1Get a publishable key

    Head to Manage Keys and create a new key (test or live). Lock it to your domains with the allowed-origins list.

  2. 2Drop the SDK on your page

    html
    <!-- NotaryChain SDK · drop anywhere on your site -->
    <script src="https://acn-oracle-live.emergent.host/api/sdk/v1/notarychain.js"></script>
    <script>
      NotaryChain.init({ publishableKey: 'pk_live_YOUR_KEY' });
    
      document.getElementById('notarize-btn').addEventListener('click', () => {
        NotaryChain.startCeremony({
          documentName: 'Power of Attorney',
          documentType: 'power_of_attorney',
          signerEmail: 'jane@example.com',
          signerName: 'Jane Doe',
          metadata: { order_id: '12345' }
        });
      });
    
      NotaryChain.on('sealed', (data) => {
        console.log('Sealed:', data.seal_hash, data.hcs_tx);
      });
    </script>
    
    <button id="notarize-btn">Notarize this document</button>
  3. 3Or use it from React

    jsx
    import { useEffect } from 'react';
    
    export function NotarizeButton({ document }) {
      useEffect(() => {
        if (!document.querySelector('script[data-nc-sdk]')) {
          const s = document.createElement('script');
          s.src = 'https://acn-oracle-live.emergent.host/api/sdk/v1/notarychain.js';
          s.setAttribute('data-nc-sdk', '1');
          document.head.appendChild(s);
          s.onload = () => window.NotaryChain.init({
            publishableKey: process.env.REACT_APP_NC_KEY
          });
        }
      }, []);
    
      const start = () => {
        window.NotaryChain.startCeremony({
          documentName: document.name,
          documentType: 'contract',
          signerEmail: document.signer.email,
          metadata: { doc_id: document.id }
        });
        window.NotaryChain.on('sealed', (d) => onComplete(d));
      };
    
      return <button onClick={start}>Notarize</button>;
    }
  4. 4Verify completions server-side via webhooks

    javascript
    // Express.js example — verify NotaryChain webhook signature
    import crypto from 'crypto';
    
    app.post('/webhooks/notarychain', express.raw({ type: 'application/json' }), (req, res) => {
      const signature = req.headers['x-notarychain-signature'];
      const secret = process.env.NC_WEBHOOK_SECRET;
    
      const expected = 'sha256=' + crypto
        .createHmac('sha256', secret)
        .update(JSON.stringify(JSON.parse(req.body), Object.keys(JSON.parse(req.body)).sort()))
        .digest('hex');
    
      if (signature !== expected) return res.status(401).send('Invalid signature');
    
      const event = JSON.parse(req.body);
      switch (event.type) {
        case 'ceremony.sealed':
          console.log('Sealed:', event.data.seal_hash, event.data.hcs_tx);
          // Update your DB: mark document as notarized
          break;
        case 'ceremony.completed':
          console.log('Completed:', event.data.session_token);
          break;
      }
      res.json({ received: true });
    });

Event reference

All client-side events the SDK emits via NotaryChain.on(event, callback).

EventFires whenPayload
readyIframe loaded and session created{ sessionToken, mode }
signedSigner applied their signature{ token }
completedCeremony pipeline finished{ seal_hash }
sealedHedera HCS anchor confirmed{ seal_hash, hcs_tx }
errorAny unrecoverable error{ error }
closeModal closed (manual or auto){}

Why teams use the SDK

Three-line install

Single script tag + init call. No iframes to manage, no CORS headaches.

HMAC-signed webhooks

Server-to-server confirmation with SHA-256 signatures and replay protection.

Built-in compliance

KBA, A/V capture, Hedera anchor, and FL §117.245 journal logging — all included.

Ready to ship notarization?

SDK access is included with every Professional ($99/mo) and Enterprise ($199/mo) plan.

    Made with Emergent