Oumla enables developers to easily build on top of blockchains. You don’t need to learn complex, low-level Blockchain-specific APIs. By using our API, you can accelerate your time to market and minimize security concerns.
Recommended for most developers. Use our official TypeScript SDK for type-safe, easy-to-use methods. The SDK handles authentication, request formatting, and error handling automatically.
REST API
Direct HTTP calls. Make direct REST API calls to our endpoints using any HTTP client. Perfect for non-TypeScript projects or when you need full control over requests.
Which should I use? If you’re building in TypeScript/JavaScript, we recommend starting with the SDK for a better developer experience. Both methods provide the same functionality and use the same API endpoints under the hood.
Before diving in, it’s helpful to understand how Oumla organizes resources:
Profile
A Profile represents a user, department, or merchant in your system. Profiles are the foundation for all other resources. Each profile has a unique reference identifier and a type (User, Department, or Merchant).
Wallet
A Wallet is associated with a profile and a specific blockchain network (BTC, ETH, etc.). Wallets manage addresses and enable transactions on that network.
Address
An Address belongs to a wallet and is used to send and receive funds on a specific blockchain. Each address is unique to a network (BTC addresses differ from ETH addresses).
The relationship flows: Profile → Wallet → Address → Transaction
Address V2: The V2 address generation endpoint (/api/v2/addresses/generate) automatically creates a wallet if one doesn’t exist, simplifying the workflow. This is the recommended approach for most use cases.