GitHub
General Bytes has published a set of open source extensions for use with CAS.
These extensions enable you to author your own programmatic methods of automation.
General Bytes GitHub channel: https://github.com/GENERALBYTESCOM/batm_public
GB Support does not and cannot answer questions regarding extensions.
Please request support for extensions using the traditional Github channels.
CAS extensions allow a BATM operator to treat the Crypto Application Server as a modular middleware platform rather than a fixed backend. By implementing Java-based interfaces, an operator can inject custom business logic into pricing, liquidity, compliance, wallet control, and operational automation layers without modifying core CAS code.
Custom exchange integrations allow operators to connect to unsupported exchanges, internal OTC desks, or proprietary liquidity sources. The primary benefit is improved treasury control: you can implement smart order routing, automated hedging, and dynamic inventory balancing to reduce market risk and improve margin management.
Identity verification extensions allow integration with regional KYC providers, internal compliance engines, or custom AML logic. This enables tiered verification, sanctions screening, and jurisdiction-specific compliance rules. The benefit is regulatory flexibility and stronger automated compliance enforcement across multiple markets.
Wallet and custody integrations allow operators to connect CAS to proprietary hot wallets, institutional custody providers, or multi-signature systems. This provides control over UTXO management, withdrawal throttling, and liquidity safeguards. The advantage is enhanced security and treasury governance.
Custom pricing logic extensions allow dynamic spread adjustments based on volatility, transaction size, location, or liquidity conditions. The benefit is margin optimization and risk-adjusted pricing rather than static fee models.
Transaction authorization hooks allow operators to apply additional approval logic before broadcast. This can include risk scoring, pattern detection, transaction throttling, or enhanced KYC triggers. The benefit is fraud reduction and proactive risk management.
Custom SMS and notification integrations allow operators to use regional messaging providers or trigger internal alerts through systems such as Slack or Telegram. The advantage is operational awareness and redundancy in customer communications.
Accounting and ERP integrations allow transaction data to be pushed to internal systems or business intelligence pipelines in real time. This improves reconciliation, financial reporting, tax tracking, and operational analytics.
Travel Rule integrations enable automated data exchange with required counterparties for regulatory compliance. This reduces manual handling and ensures transactions can be blocked or validated according to jurisdictional requirements.
Finally, operational automation extensions allow automated hedging, liquidity alerts, cash threshold notifications, and treasury balancing actions. The benefit is reduced manual oversight and increased scalability as machine count grows.
Overall, CAS extensions provide operators with flexibility, regulatory adaptability, improved treasury control, and the ability to scale operations with automation rather than manual intervention.
AI Prompt Cheatsheet
Below is a copy-and-paste ready prompt for creating a new coin.
It assumes the AI can browse the internet and inspect GitHub repositories.
It is structured so that the AI must:
Inspect the official CAS repository
Use real interface names and method signatures
Generate code that aligns with the actual extension framework
Collect required regulatory and operational parameters first
I am a Bitcoin ATM (BATM) operator using GENERAL BYTES CAS (Crypto Application Server).
CAS is Java-based and exposes an extension framework at:
https://github.com/GENERALBYTESCOM/batm_public
You have browsing ability. Before writing any code, you must:
Inspect the repository.
Identify the correct extension interfaces required to add support for a new cryptocurrency.
Confirm the relevant Java interfaces, annotations, package structure, and registration mechanisms.
Use real class names and method signatures from the repository.
Do not invent interfaces or assume method names.
Your task is to help me define and implement support for a new coin using the official CAS extension framework.
PHASE 1 — Collect Required Parameters
Before generating code, ask me to provide or confirm the following:
1. Coin Identity
Full coin name
Ticker symbol
Mainnet or testnet
Blockchain type (UTXO-based, account-based, token on another chain)
Protocol family (Bitcoin-like, Ethereum-like, etc.)
Average block time
Required confirmations before crediting customer
Explain briefly why each item affects BATM integration.
2. Wallet Integration Model
Determine whether the integration will use:
Full node (RPC)
Third-party API
Exchange wallet
Custody provider
Collect:
RPC/API endpoint
Authentication method
Required wallet capabilities:
Address generation
Transaction broadcast
Fee estimation
Confirmation tracking
Explain hot wallet security implications.
3. Transaction Rules
Collect:
Minimum transaction size
Maximum transaction size
Confirmation requirements (buy vs sell)
Fee model (fixed, dynamic, external)
Replace-by-fee handling (if applicable)
Explain double-spend and latency risks.
4. Pricing and Liquidity
Collect:
Price feed source
Spread percentage
Slippage tolerance
Hedging strategy (manual, automatic, exchange-backed)
Explain operator exposure risk.
5. Compliance and Regulatory Constraints
Collect:
Jurisdictions where the coin will be offered
Regulatory classification
Travel Rule requirements
Enhanced KYC tiers
Blacklist or sanctions checks required
Explain how this may impact transaction approval logic.
6. Risk Controls
Collect:
Volatility thresholds
Network congestion thresholds
Liquidity buffer requirement
Manual override capability
Explain why risk controls are necessary.
7. User Interface Parameters
Collect:
Display name
Decimal precision
Minimum display denomination
Required warning messages
Customer acknowledgments
Explain customer-facing impact.
8. Operational Monitoring
Collect:
Alert triggers
Logging requirements
Accounting/reporting integration needs
Explain why monitoring is critical in production.
PHASE 2 — Repository Analysis
After collecting all parameters:
Browse the CAS GitHub repository.
Identify:
The correct extension interface(s) required for adding a new cryptocurrency.
Required supporting interfaces (wallet, exchange, pricing, identity, etc.).
How extensions are registered with CAS.
Required dependencies.
Provide:
A list of the exact interfaces that must be implemented.
A short explanation of each interface’s purpose.
The expected project structure.
Do not generate code until repository structure is confirmed.
PHASE 3 — Deliverables
After repository confirmation:
Produce a structured technical specification document summarizing all collected parameters.
Generate a Java extension skeleton that:
Uses correct packages and imports from the repository.
Implements real CAS interfaces.
Includes method stubs matching the official signatures.
Provide a deployment checklist.
Provide a security review checklist.
Provide a regulatory compliance checklist.
All code must be syntactically correct Java and align with the repository.
Assume I am technically capable but new to CAS extension development. Use clear, precise explanations and avoid unnecessary abstraction.
Do not skip repository inspection.This prompt ensures:
Regulatory completeness
Technical correctness
Alignment with the official CAS extension framework
Production-readiness for a global BATM operator