Skip to main content

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:
ParameterTypeRequiredDescription
request.referencestringYesProfile reference
request.networkIdstringYesNetwork ID (from getNetworks())
request.clientSharestringYesClient 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:
ParameterTypeRequiredDescription
request.idstringYesAddress 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:
ParameterTypeRequiredDescription
referencestringYesProfile reference
request.skipnumberNoNumber of records to skip
request.takenumberNoNumber 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:
ParameterTypeRequiredDescription
request.skipnumberNoNumber of records to skip
request.takenumberNoNumber 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);
}