Skip to content

notareum/usecases-and-examples

Repository files navigation

Notareum: Use Cases and Examples

A collection of runnable TypeScript examples that demonstrate how the Notareum Protocol solves concrete problems in crypto UX and infrastructure.

Notareum is a decentralized trust layer for on-chain resources. It lets any address, transaction, contract, NFT, IPFS CID, or custom resource carry a portable, cryptographically signed, optionally on-chain-verified credential called a .nota file. Validators stake NOTA to earn the right to attest to the authenticity of these resources. Governance is done with veNOTA.

See the SDK, the protocol contracts, and the whitepaper for more.

Examples

# Example What it shows
01 Wallet Address Sharing Sign an address attestation so the receiver knows the funds are going where they should.
02 Payment Requests Merchants mint signed payment requests with token and amount fields.
03 Smart Contract Verification Contract authors register their deployment + ABI hash and request verification.
04 NFT Provenance A studio publishes signed provenance for an NFT that marketplaces can verify.
05 Cross-Chain Identity One address on many chains, linked via a signed identity manifest.
06 Exchange Deposit Verification An exchange signs deposit addresses so user wallets can reject phishing sites.
07 Institutional Treasury A foundation registers its treasury and requests INSTITUTIONAL verification.
08 Validator Staking Full staking lifecycle: stake, tier, daily limits, unstake, claim.
09 Governance Voting Lock NOTA for veNOTA, measure time-weighted voting power, extend, unlock.
10 .nota File Operations Reference tour of create/sign/parse/validate/serialize/resourceId for every type.

Prerequisites

  • Node.js 18 or newer
  • npm (or pnpm / yarn)
  • The @notareum/sdk package built in the sibling directory. This repo depends on it via a file path: file:../notareum-ts-sdk.
# From the SDK directory (once)
cd ../notareum-ts-sdk
npm install
npm run build

Install and run

npm install

# Run any example
npx tsx 01-wallet-address-sharing/index.ts
npx tsx 02-payment-requests/index.ts
# ... etc.

# Or use the numbered shortcuts from package.json
npm run 01
npm run 10

Offline vs on-chain examples

Examples 01, 02, 04 (marketplace side), 05, 06, 10 are fully offline. They build, sign, parse, validate, and verify .nota files without touching a network. They produce real output every time.

Examples 03, 07, 08, 09 include on-chain calls to the Notareum contracts (Registry, Verification Engine, Staking, veNOTA, Fee Manager). Those calls are wrapped so the scripts still complete against the placeholder contract addresses shipped in shared/config.ts. To execute them against a live network, set:

export RPC_URL=https://your-rpc-endpoint
export PRIVATE_KEY=0x...                 # funded signer

and update the addresses in shared/config.ts to your deployed contracts.

Repository layout

usecases-and-examples/
├── README.md                          this file
├── package.json                       depends on @notareum/sdk + ethers + tsx
├── tsconfig.json                      strict ESM, target ES2022
├── LICENSE                            MIT
├── shared/
│   ├── config.ts                      provider, demo wallet, contracts
│   └── utils.ts                       console helpers + tryOnChain wrapper
├── 01-wallet-address-sharing/
├── 02-payment-requests/
├── 03-smart-contract-verification/
├── 04-nft-provenance/
├── 05-cross-chain-identity/
├── 06-exchange-deposit-verification/
├── 07-institutional-treasury/
├── 08-validator-staking/
├── 09-governance-voting/
└── 10-nota-file-operations/

Each example directory has its own README.md that explains the use case and a single index.ts that runs end to end.

License

MIT. See LICENSE.

About

Examples and Usecases Demos of the Notareum Protocol

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors