pkg/

directory
v1.6.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 29, 2026 License: AGPL-3.0

Directories

Path Synopsis
Package account is the business-logic layer for Stellar accounts.
Package account is the business-logic layer for Stellar accounts.
Package auth authenticates the admin by proving control of a Stellar key, then issues a JWT session token.
Package auth authenticates the admin by proving control of a Stellar key, then issues a JWT session token.
Package compliance defines the provider-neutral contract for screening a blockchain address before it is trusted with money — the vault allowlist's upstream decision, not the allowlist itself (see pkg/services/vaultwatch and the vault contract's own allow_depositor/disallow_depositor for the enforcement side).
Package compliance defines the provider-neutral contract for screening a blockchain address before it is trusted with money — the vault allowlist's upstream decision, not the allowlist itself (see pkg/services/vaultwatch and the vault contract's own allow_depositor/disallow_depositor for the enforcement side).
elliptic
Package elliptic implements compliance.Screener against Elliptic's AML API — wallet screening for a Stellar depositor address, the verdict policy that turns a risk score into a decision, and Standard Webhooks verification for rescreening callbacks.
Package elliptic implements compliance.Screener against Elliptic's AML API — wallet screening for a Stellar depositor address, the verdict policy that turns a risk score into a decision, and Standard Webhooks verification for rescreening callbacks.
Package config is the single source of application configuration.
Package config is the single source of application configuration.
Package contracts holds the interface seams between the platform's modules, together with the data types those interfaces exchange.
Package contracts holds the interface seams between the platform's modules, together with the data types those interfaces exchange.
Package controllers is the HTTP handler layer, built on Fiber.
Package controllers is the HTTP handler layer, built on Fiber.
Package errors holds sentinel errors shared across packages that would otherwise have to import one another to match on them.
Package errors holds sentinel errors shared across packages that would otherwise have to import one another to match on them.
Package health exposes liveness and readiness probes as Fiber handlers, in the shape an orchestrator like Kubernetes expects.
Package health exposes liveness and readiness probes as Fiber handlers, in the shape an orchestrator like Kubernetes expects.
Package jobs is the background-work layer, wrapping the Redis-backed asynq library behind a single Scheduler.
Package jobs is the background-work layer, wrapping the Redis-backed asynq library behind a single Scheduler.
Package loanref generates and validates short loan references.
Package loanref generates and validates short loan references.
Package middleware holds the Fiber middleware that wraps the HTTP layer: authentication, a uniform response envelope, and the standard cross-cutting stack every request passes through.
Package middleware holds the Fiber middleware that wraps the HTTP layer: authentication, a uniform response envelope, and the standard cross-cutting stack every request passes through.
Package mobile is the umbrella for the platform's mobile-channel surface.
Package mobile is the umbrella for the platform's mobile-channel surface.
sms
Package sms sends outbound SMS messages and ingests delivery-report callbacks.
Package sms sends outbound SMS messages and ingests delivery-report callbacks.
ussd
Package ussd is the interactive USSD application: the menu-driven flow a mobile subscriber walks through to register, request a loan, pick a payout method, repay, and manage their PIN.
Package ussd is the interactive USSD application: the menu-driven flow a mobile subscriber walks through to register, request a loan, pick a payout method, repay, and manage their PIN.
ussd/adapters
Package adapters holds the USSD-to-domain glue: each file implements a narrow port interface declared elsewhere against the concrete user, account, off-ramp, and Stellar services.
Package adapters holds the USSD-to-domain glue: each file implements a narrow port interface declared elsewhere against the concrete user, account, off-ramp, and Stellar services.
ussd/providers/africastalking
Package africastalking implements the USSD provider adapter for AfricasTalking.
Package africastalking implements the USSD provider adapter for AfricasTalking.
Package models holds the GORM persistence models — the database schema expressed as Go structs.
Package models holds the GORM persistence models — the database schema expressed as Go structs.
Package notifications delivers user-facing messages — loan lifecycle and account/PIN events — and is the concrete implementation of the notifier ports declared in the contracts package.
Package notifications delivers user-facing messages — loan lifecycle and account/PIN events — and is the concrete implementation of the notifier ports declared in the contracts package.
Package payment is the umbrella for the platform's off-ramp surface.
Package payment is the umbrella for the platform's off-ramp surface.
airtel
Package airtel is a client for Airtel Africa's Open API, Kenya op-co.
Package airtel is a client for Airtel Africa's Open API, Kenya op-co.
airtel/airtelstub
Package airtelstub is an in-process Airtel Open API, Kenya op-co.
Package airtelstub is an in-process Airtel Open API, Kenya op-co.
cashin
Package cashin is the collection-side counterpart to offramp.
Package cashin is the collection-side counterpart to offramp.
fonbnk
Package fonbnk is the client for Fonbnk's server-to-server Merchant API, covering both on-ramp (fiat in, crypto out) and off-ramp (crypto in, fiat out).
Package fonbnk is the client for Fonbnk's server-to-server Merchant API, covering both on-ramp (fiat in, crypto out) and off-ramp (crypto in, fiat out).
moneygram
Package moneygram is the MoneyGram-flavoured wrapper around the generic stellaranchor SDK.
Package moneygram is the MoneyGram-flavoured wrapper around the generic stellaranchor SDK.
mpesa
Package mpesa is a client for Safaricom's Daraja API gateway.
Package mpesa is a client for Safaricom's Daraja API gateway.
mpesa/darajastub
Package darajastub is an in-process Daraja.
Package darajastub is an in-process Daraja.
offramp
Package offramp defines the off-ramp Provider contract that every provider in the platform satisfies.
Package offramp defines the off-ramp Provider contract that every provider in the platform satisfies.
relay
Package relay routes one transaction to whichever ramp provider offers the best price for it.
Package relay routes one transaction to whichever ramp provider offers the best price for it.
stellaranchor
Package stellaranchor provides the reusable Stellar-anchor primitives that any SEP-24-compliant anchor implementation can compose on top of.
Package stellaranchor provides the reusable Stellar-anchor primitives that any SEP-24-compliant anchor implementation can compose on top of.
yellowcard
Package yellowcard is the low-level HTTP client for the YellowCard mobile-money API, in both directions.
Package yellowcard is the low-level HTTP client for the YellowCard mobile-money API, in both directions.
Package phone holds the platform's shared phone-number helpers: redaction for logs, and three normalisers with deliberately different contracts.
Package phone holds the platform's shared phone-number helpers: redaction for logs, and three normalisers with deliberately different contracts.
Package pin manages user PINs for USSD-based authentication: setting and verifying them, enforcing strength and lockout, changing and resetting them, and the security-question recovery flow.
Package pin manages user PINs for USSD-based authentication: setting and verifying them, enforcing strength and lockout, changing and resetting them, and the security-question recovery flow.
Package repository is the data-access layer.
Package repository is the data-access layer.
Package services holds the primitives shared by the business-logic service layer.
Package services holds the primitives shared by the business-logic service layer.
airtelpoller
Package airtelpoller holds the core-side Airtel Money tickers.
Package airtelpoller holds the core-side Airtel Money tickers.
compliance
Package compliance orchestrates the KYB lifecycle described in elliptic-compliance-integration.md §13: a counterparty submits an address, KYB approval triggers screening via pkg/compliance.Screener, and the verdict is applied to pkg/repository.CounterpartyRepository's three tables.
Package compliance orchestrates the KYB lifecycle described in elliptic-compliance-integration.md §13: a counterparty submits an address, KYB approval triggers screening via pkg/compliance.Screener, and the verdict is applied to pkg/repository.CounterpartyRepository's three tables.
mgpoller
Package mgpoller drives both directions of the MoneyGram SEP-24 rail: withdrawal (cash out at an agent) and deposit (cash in, settling a loan).
Package mgpoller drives both directions of the MoneyGram SEP-24 rail: withdrawal (cash out at an agent) and deposit (cash in, settling a loan).
mpesapoller
Package mpesapoller holds the core-side M-Pesa tickers.
Package mpesapoller holds the core-side M-Pesa tickers.
vaultwatch
Package vaultwatch is the on-chain allowlist's detect-and-quarantine watcher (Option D of the compliance design, defense-in-depth alongside the contract's own gating).
Package vaultwatch is the on-chain allowlist's detect-and-quarantine watcher (Option D of the compliance design, defense-in-depth alongside the contract's own gating).
Package stellar is the single entry point for everything the platform does on the Stellar network — both classic operations (accounts, trustlines, payments) and Vault smart-contract calls.
Package stellar is the single entry point for everything the platform does on the Stellar network — both classic operations (accounts, trustlines, payments) and Vault smart-contract calls.
classic
Package classic holds the platform's non-Soroban Stellar operations: creating accounts, establishing trustlines, and moving USDC.
Package classic holds the platform's non-Soroban Stellar operations: creating accounts, establishing trustlines, and moving USDC.
rpc
Package rpc waits for a submitted Stellar transaction to be applied to the ledger.
Package rpc waits for a submitted Stellar transaction to be applied to the ledger.
soroban
Package soroban is the Go client for the Vault smart contract.
Package soroban is the Go client for the Vault smart contract.
testing
Package testing provides the shared test doubles for the stellar packages.
Package testing provides the shared test doubles for the stellar packages.
types
Package types holds the request and response DTOs shared across the stellar packages, plus the error values they return.
Package types holds the request and response DTOs shared across the stellar packages, plus the error values they return.
Package transaction is the business-logic layer for the platform's transaction ledger — the durable record of every money movement, whether it settled on the Stellar network, through an external provider, or internally.
Package transaction is the business-logic layer for the platform's transaction ledger — the durable record of every money movement, whether it settled on the Stellar network, through an external provider, or internally.
Package urlshortener turns long outbound links — MoneyGram cash-pickup interactive and support URLs — into short, tappable links that fit inside an SMS segment.
Package urlshortener turns long outbound links — MoneyGram cash-pickup interactive and support URLs — into short, tappable links that fit inside an SMS segment.
Package user is the business-logic layer for registered users — the people the platform serves and the staff who administer it.
Package user is the business-logic layer for registered users — the people the platform serves and the staff who administer it.
Package utils holds small, standalone helpers shared across the platform.
Package utils holds small, standalone helpers shared across the platform.
Package validation turns struct-tag validation into user-friendly field errors.
Package validation turns struct-tag validation into user-friendly field errors.
Package webhook reacts to off-ramp settlement outcomes.
Package webhook reacts to off-ramp settlement outcomes.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL