Documentation Index
Fetch the complete documentation index at: https://docs.oumla.com/llms.txt
Use this file to discover all available pages before exploring further.
Generate blockchain addresses for your profiles. Addresses belong to wallets and are used to send and receive funds.
Methods
createAddress()
Generate a new address for a profile (V1 API). Requires wallet to exist first.
Signature:
createAddress(
request: CreateAddressRequest,
requestOptions?: RequestOptions
): Promise<CreateAddressResponse>
Parameters:
| Parameter | Type | Required | Description |
|---|
request.reference | string | Yes | Profile reference |
request.networkId | string | Yes | Network ID (from getNetworks()) |
request.clientShare | string | Yes | Client share for key derivation |
Example:
const address = await client.addresses.createAddress({
reference: 'user-123',
networkId: 'your-network-id',
clientShare: 'your-client-share'
});
console.log('Address:', address.data.data?.address);
console.log('Address ID:', address.data.data?.id);
createAddressV2()
Generate a new address (V2 API). Automatically creates wallet if it doesn’t exist. This is the recommended method.
Signature:
createAddressV2(
request: CreateAddressRequest,
requestOptions?: RequestOptions
): Promise<CreateAddressResponse>
Parameters:
Same as createAddress().
Example:
// V2 automatically creates wallet if needed
const address = await client.addresses.createAddressV2({
reference: 'user-123',
networkId: 'your-network-id',
clientShare: 'your-client-share'
});
console.log('Address:', address.data.data?.address);
Use V2: The createAddressV2() method is recommended as it automatically creates a wallet if one doesn’t exist, simplifying your workflow.
getAddressById()
Retrieve a single address by its UUID.
Signature:
getAddressById(
request: GetAddressByIdRequest,
requestOptions?: RequestOptions
): Promise<GetAddressByIdResponse>
Parameters:
| Parameter | Type | Required | Description |
|---|
request.id | string | Yes | Address UUID |
Example:
const address = await client.addresses.getAddressById({
id: '3fa85f64-5717-4562-b3fc-2c963f66afa6'
});
console.log('Address:', address.data.data?.address);
getAddressForProfile()
Get addresses for a profile by reference.
Signature:
getAddressForProfile(
reference: string,
request?: GetAddressForProfileRequest,
requestOptions?: RequestOptions
): Promise<AddressResponse>
Parameters:
| Parameter | Type | Required | Description |
|---|
reference | string | Yes | Profile reference |
request.skip | number | No | Number of records to skip |
request.take | number | No | Number of records to retrieve |
Example:
const addresses = await client.addresses.getAddressForProfile('user-123', {
skip: 0,
take: 50
});
console.log('Addresses:', addresses.data.data);
getAddressForOrganization()
Get all addresses for an organization.
Signature:
getAddressForOrganization(
request: GetAddressForOrganizationRequest,
requestOptions?: RequestOptions
): Promise<AddressesResponse>
Parameters:
| Parameter | Type | Required | Description |
|---|
request.skip | number | No | Number of records to skip |
request.take | number | No | Number of records to retrieve |
Example:
const addresses = await client.addresses.getAddressForOrganization({
skip: 0,
take: 50
});
console.log('Organization addresses:', addresses.data.data);
Complete Example
import { OumlaSdkApiClient, OumlaSdkApiEnvironment } from '@oumla/sdk';
const client = new OumlaSdkApiClient({
environment: OumlaSdkApiEnvironment.Sandbox,
apiKey: 'your-api-key'
});
async function manageAddresses() {
// First, get available networks
const networks = await client.networks.getNetworks({ skip: 0, take: 50, enabled: true });
const networkId = networks.data.networks[0].id; // Use appropriate network ID
// Generate address (V2 - auto-creates wallet)
const address = await client.addresses.createAddressV2({
reference: 'user-123',
networkId,
clientShare: process.env.CLIENT_SHARE!
});
console.log('Generated address:', address.data.data?.address);
// Get addresses for profile
const profileAddresses = await client.addresses.getAddressForProfile('user-123', {
skip: 0,
take: 50
});
console.log('Profile addresses:', profileAddresses.data.data);
// List all organization addresses
const orgAddresses = await client.addresses.getAddressForOrganization({
skip: 0,
take: 100
});
console.log('Total addresses:', orgAddresses.data.data?.length ?? 0);
}