Traditional accounting relies on double-entry bookkeeping - a system where each party maintains separate ledgers, creating potential for discrepancies and requiring reconciliation. Bulla Network introduces a paradigm shift by implementing triple-entry accounting through blockchain technology, where financial relationships are represented as NFTs on a shared, immutable ledger.
At its core, Bulla transforms invoices, loans, and IOUs into programmable tokens, enabling a new class of financial applications built on verifiable, shared state.
Bulla's architecture centers around a foundational contract (BullaClaim) that handles core claim operations, with specialized "controller" contracts that add domain-specific functionality. This design enables infinite extensibility while maintaining a stable foundation.
BullaClaim (Foundation Layer)
├── BullaInvoice (Business Invoicing)
├── BullaFrendLend (Peer-to-Peer Lending)
└── Custom Controllers (Unlimited Extensions)
BullaClaim.sol serves as the protocol's foundation, implementing:
NFT-based Claims: Each financial obligation becomes an ERC-721 token owned by the creditor
Comprehensive State Management: Tracks claim amounts, payment history, due dates, and binding status
Permission System: Granular approvals allowing smart contracts to act on users' behalf
Status Lifecycle: Claims progress through states (Pending → Repaying → Paid/Rejected/Rescinded/Impaired)
Key Data Structures:
struct Claim {
uint256 claimAmount;
uint256 paidAmount;
address creditor;
address debtor;
address token;
Status status;
ClaimBinding binding;
// ... additional fields
}
Controllers delegate core operations to BullaClaim while implementing specialized business logic. This pattern provides several advantages:
Separation of Concerns: Core claim mechanics remain stable while business logic evolves
Gas Efficiency: Controllers can be stateless, minimizing storage costs
Composability: Multiple controllers can interact with the same underlying claims
Upgradeability: New features can be added without touching the foundation
BullaInvoice.sol extends basic claims with sophisticated business features:
Compound Interest System:
Configurable interest rates and compounding periods
Late fee calculation based on due dates
Real-time interest accrual for active claims
Purchase Orders:
Deposit requirements for commitment
Delivery date tracking
Automatic binding when deposits are fully paid
Protocol Economics:
Fee collection from interest payments
Origination fees for invoice/purchase order creation
Admin functions for fee management
Example Flow:
Creditor creates invoice: "Debtor owes $1000, due in 30 days, 5% monthly late fee"
Invoice exists as pending claim NFT
After due date, interest accrues automatically
Debtor pays $1050 (principal + interest), protocol takes fee from interest
Claim marked as paid, optionally transferred to debtor as receipt
BullaFrendLend.sol implements a marketplace for direct lending:
Loan Offers/Requests:
Users can offer loans to specific counterparties
Or request loans that others can accept
Terms include amount, interest rate, duration
Automatic Execution:
When loan is accepted, funds transfer immediately
Claim NFT created with repayment terms
Interest accrues from acceptance timestamp
Risk Management:
All loans are automatically "bound" (both parties explicitly agreed)
Interest calculation using shared compound interest library
Protocol fees collected from interest payments
Example Flow:
Alice offers: "I'll lend Bob $5000 USDC at 8% APR for 6 months"
Bob accepts the offer
Smart contract transfers $5000 from Alice to Bob
Claim NFT created: "Bob owes Alice $5000 + interest, due in 6 months"
Bob can repay anytime; early payment reduces total interest
Making claims into NFTs provides powerful composability:
Transferability: Creditors can sell unpaid invoices (factoring)
Collateralization: Claims can be used as collateral in DeFi protocols
Programmability: Smart contracts can hold and manage claims
Receipt System: Paid claims can transfer to debtors as proof of payment
Claims can be "bound" or "unbound":
Unbound: Debtor hasn't explicitly agreed (like sending someone an invoice)
Bound: Both parties have agreed to the obligation
BindingPending: Creditor requests debtor acceptance
This distinction creates stronger social/legal obligations for bound claims while allowing for dispute resolution on unbound ones.
Users can pre-approve smart contracts for various operations:
Create Claims: "PayrollContract can create 50 salary claims up to $5K each"
Pay Claims: "AutopayContract can pay my utility bills from my wallet"
Manage Claims: Approve binding updates, cancellations, etc.
This enables full automation while maintaining user custody and control.
B2B Invoicing: Automated invoice creation and payment tracking
Payroll Management: Batch salary payments with automatic record-keeping
Vendor Payments: Supply chain finance with payment scheduling
Subscription Billing: Recurring payment automation
Invoice Factoring: Sell unpaid invoices for immediate liquidity
Credit Scoring: On-chain payment history for lending decisions
Collateralized Lending: Use claims as collateral for loans
Insurance Products: Protect against non-payment risk
Bulla generates revenue through:
Origination Fees: Fixed fees for creating invoices/loans (paid in ETH)
Protocol Fees: Percentage of interest payments across all tokens
Premium Features: Enhanced functionality for enterprise users
This model aligns protocol incentives with user success - revenue grows as the ecosystem processes more financial activity.
No Custody: Protocol never holds user funds beyond transaction processing
No Accounts: Users interact directly with smart contracts using wallets
Open Source: All code is publicly auditable
Permissionless: Anyone can build controllers or integrate
Bulla Network represents a fundamental reimagining of financial record-keeping for the digital age. By making financial relationships programmable and composable, the protocol enables new classes of applications that were impossible in traditional finance.
The controller architecture ensures the protocol can evolve with user needs while maintaining a stable foundation. As the ecosystem grows, we expect to see innovative applications in areas like supply chain finance, international trade, DeFi integration, and automated business operations.
Most importantly, Bulla maintains the core principles of decentralization - users retain custody of their assets while benefiting from shared, verifiable financial records. This creates the foundation for a more transparent, efficient, and globally accessible financial system.
