Skip to content

Latest commit

 

History

298 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Gum

Gum is a stablecoin deposit gateway for merchants: create a deposit request through a small API, share its payer link, and let Gum bind the payer's attested wallet to a one-time stablecoin address (USDC or USDT), detect finalized transfers from that wallet, and settle exactly the requested amount to your wallet automatically. Partial deposits accumulate; overpayment remainders, expired balances, and late transfers go back to the payer's own wallet on-chain and are recorded per request; every observed transfer remains in an auditable PostgreSQL ledger; and every settled request yields an offline-verifiable Proof of Payment tying the document, the wallet, the address, and the transfers together.

60-second local quickstart

With Docker, Rust, Foundry (anvil, cast, and forge), just, jq, and the PostgreSQL client installed, run the repository's end-to-end flow. The recipe provisions an isolated PostgreSQL container, builds the workspace, starts Anvil and the Gum services, deploys local contracts, signs in through the development identity provider, exercises deposit and recovery flows, and cleans everything up:

just e2e

For a live local stack with multiplexed logs, run just dev, then sign in at the dashboard or run just seed in another shell for an API key. See Local development for prerequisites and manual operation.

API

https://api.gum.money/v1 is the product: create deposit requests, read and list deposits, manage customers and attachments, download proofs, and register webhooks with one bearer API key (HTTP API reference). TypeScript applications can use the zero-dependency client in sdk/typescript. The key is minted in the dashboard, which signs in through Privy with an emailed one-time code and gives every account its own embedded wallet; see Authentication and API keys.

Web

gum.money — the landing page, the hosted checkout at /pay/{id}, and the merchant dashboard at /dashboard — lives in web/. It is a Next.js app built on @gum/sdk: the checkout consumes the public payer API and is where every deposit_url points; the dashboard signs in through Privy with an emailed code — every account gets its own embedded wallet, where deposits settle by default — and uses the same merchant API as the SDK with Privy's identity token, so no API key ever reaches the browser (see docs/dashboard.md). Run it beside the local stack:

npm ci
just web

See web/README.md.

Documentation

Customer documentation is published at gum.money/docs (web/app/docs): concepts, the dashboard, the hosted checkout, webhooks, the SDK, the full API reference, and an architecture page for due diligence. The Markdown below is the engineering record it draws on.

About

Turn stablecoin transfers into verified customer deposits, ready for your app to credit.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages