Skip to the content.

Introduction

Specification

Reference

Data structures

Structure Attribute(s) Description
Project book key Unique identifier
Project book status DRAFT | ACTIVATED | DEACTIVATED | CLOSED
Project book organizationId

userId

Information about who created the project
Project book name

description

Descriptive attributes of the project
Project book isPublic Whether the project is publicly discoverable or not
Project book profileUrl

bannerUrl

npub

Publishing attributes of the project
Project book startDate Initial date of lending operations
Project book endDate No new loans are accepted after this date
Project book amount

currency

Total target amount and currency of the loans from the project
Project book eligibilityCriteria List of verifiable credentials and conditions required for loan approval
Project book loanType

loanMinDuration

loanMaxDuration

loanMinAmount

loanMaxAmount

Restrictive parameters for the loans from the project
Project book isInviteOnly Whether the project requires an invitation to become an investor
Project book > funding [ ] type BANK | ONCHAIN
Project book > funding [ ] status ACTIVE | INACTIVE
Project book > funding [ ] networkName

tokenName

fundingAddress

repaymentAddress

Details of the payment rail and currency
Project book > funding [ ] terms

interestRate

leverageFactor

Descriptive attributes of the funding source
Project book > funding [ ] fundingMinAmount

fundingMaxAmount

Restrictive parameters for the project investments
Funding book projectKey Unique identifier of the project
Funding book fundingType

fundingNetwork

fundingToken

Details of the payment rail and currency
Funding book paymentType INCOMING | OUTGOING
Funding book amount Amount of the payment
Funding book fundingAddress Project wallet address that received the investment (for incoming events)
Funding book repaymentAddress Project wallet address that initiated the repayment (for outgoing events)
Funding book investorAddress Wallet address of the investor
Funding book proof Proof of the payment (trx id, invoice hash, etc.)
Loan book key Unique identifier of the loan
Loan book projectKey Unique identifier of the project
Loan book organizationId Unique identifier of the originator
Loan book userDid DID of the borrower
Loan book verifierDid DID of the credential verifier service
Loan book status DRAFT | APPROVED | DISBURSED | REPAID | DEFAULTED
Loan book type Type of the loan product
Loan book startDate

endDate

duration

Loan duration parameters
Loan book interestRate

disbursementFee

cashBackRate

gracePeriod

Loan financial parameters
Loan book currency Currency of the loan
Loan book contractAmount Amount to be disbursed to the borrower
Loan book interestAmount Total interest amount
Loan book commitmentAmount Total amount to be repaid (contractAmount + interestAmount)
Loan book repaidAmount Total repaid amount

Services

Service Action(s) Description
Identity (SSCR) findByDid Get mapping between user id and DID
Identity (SSCR) createWallet Create a new SSCR with DID
Identity (SSCR) getVC Claim a new verifiable credential
Identity (SSCR) createVCPresentation Create a presentation of a verifiable credential
Credential issuing issueVC Issue a verifiable credential
Credential verification validateVC Validate a verifiable credential
Organization findById

findByUser

Get organizations by different filters
Organization createOrganization Create a new organization
Organization addMember Add user to an organization
User findById

findByOrganization

Get users by different filters
User addUser

registerBorrower

registerOriginator

registerInvestor

Add a new user
User updateUser Update details of a given user
User getOTP

validateOTP

setPIN

validatePIN

loginByEmail

loginBySocial

Actions required for the different types of user authentication
Project findByKey

findByOrganization

findByAddress

findPublic

Get projects by different filters
Project createProject Create a new project
Project updateProject

modifyProjectParams

addProjectFunding

Update different project attributes
Project activateProject

deactivateProject

Enable or pause the lending activities within a project
Loan findByKey

findByProject

findByOrganization

findByUser

Get loans by different filters
Loan applyForLoan Request loan approval
Loan signLoan Sign loan application
Loan updateLoan Update loan details upon loan disbursement or repayment
Project investor findByProject

findByInvestor

Get project
Project investor requestInvitation

acceptInvitation

rejectInvitation

Actions executed by the investor during the project investment setup
Project investor inviteInvestor

approveInvestor

rejectInvestor

Actions executed by the originator during the project investment setup
Funding findByKey

findByProject

Get funding events by different filters
Funding fund Create a new funding event
Funding refund

revert

Create a new repayment event
Funding detect Process detected payment and call a method for the new event
Payment findByLoan

findByAddress

Get loan payments by different filters
Payment addDisbursement

confirmDisbursement

addRepayment

confirmRepayment

Create and confirm payment events
Network

(Bitcoin,

Lightning,

Rootstock)

createWallet Create a new private-public key pair
Network createListener Create a new on-chain listener for a given network and address
Network getPayments Get all on-chain payments detected by a given listener
Nostr createProfile Create Nostr profile
Nostr createPost

createDM

Post different kinds of messages
Nostr getFeed

getZapRequests

getZaps

Get a list of different events associated with a given profile