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. |
Click to show internal directories.
Click to hide internal directories.