Skip to content

PortalTechnologiesInc/lib

Repository files navigation

Portal

Identity and payments for Bitcoin-native applications.

No accounts. No KYC. No payment processor.

📖 Documentation · 🚀 Get Started · 🐳 Docker

License: MIT Changelog


Portal lets you add age verification, authentication, and payments to your app — without collecting personal data.

New here? Start with the documentation or create a free instance on PortalHub.

What can you build?

  • Age verification — verify users' age for compliance, no personal data stored → Guide
  • Authentication — passwordless login via the Portal app → Guide
  • Payments — single, recurring, invoice-based; BTC or fiat → Guide
  • Digital tickets — issue and verify Cashu tokens → Guide

Quick start

The fastest way: create an instance on PortalHub — no servers needed.

Or self-host:

docker run -d -p 3000:3000 \
  -e PORTAL__AUTH__AUTH_TOKEN=$(openssl rand -hex 32) \
  -e PORTAL__NOSTR__PRIVATE_KEY=<your-64-char-hex-key> \
  getportal/sdk-daemon:0.4.1

SDKs

Language Install
TypeScript / JS npm install portal-sdk
Java JitPack
Any language REST API — no SDK needed

Repository structure

Crate Description
portal-rest REST API daemon
portal Core protocol and conversation logic
portal-app App runtime and wallet integration
portal-wallet Wallet backends (NWC, Breez)
portal-rates Fiat/BTC exchange rates
clients/ts TypeScript SDK
portal-cli Dev/testing CLI tools

License

MIT — see LICENSE

About

Portal protocol implementation in Rust

Resources

License

Stars

Watchers

Forks

Contributors