SettleMint
Developer guidesApi integration

Address book contacts

Use the DALP contacts API to store frequently used wallet recipients, search them by name or address, and reduce operator error in transfer workflows.

DALP includes an authenticated address book for wallet contacts. Use it to store frequent recipients such as treasury wallets, custodian accounts, issuer operations wallets, or investor addresses that operators reuse in servicing flows.

Contacts are not identity attestations, KYC records, or permission grants. They are user-owned address book entries that make operational workflows easier to execute and review. Transfer compliance still runs through the token, identity, claim, freeze, and approval rules configured for the asset.

When to use contacts

Use contacts when your integration needs to:

  • keep named wallet recipients available to the authenticated user
  • avoid copying raw wallet addresses into every transfer flow
  • search common counterparties by label or wallet fragment
  • review recipient addresses before mint, transfer, forced transfer, or servicing operations

Endpoint summary

The v2 contacts API exposes these operations:

  • GET /api/v2/contacts lists contacts for the authenticated user.
  • GET /api/v2/contacts/{id} reads one contact entry.
  • POST /api/v2/contacts creates or updates a contact entry.
  • DELETE /api/v2/contacts/{id} deletes one contact entry.

The legacy v1 API also exposes /api/contacts, /api/contacts/{id}, and /api/contacts/search for older integrations.

Contact shape

A contact stores:

  • id: contact identifier
  • name: human-readable label, up to 120 characters
  • wallet: Ethereum wallet address
  • createdAt: creation timestamp
  • updatedAt: last update timestamp

Only valid Ethereum addresses are accepted. DALP wallet contacts use EVM account addresses.

Create or update a contact

Create a contact by posting a name and wallet. Provide id only when updating an existing contact.

curl -X POST https://your-platform.example.com/api/v2/contacts \
  -H "X-Api-Key: sm_dalp_xxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Treasury Wallet",
    "wallet": "0x71C7656EC7ab88b098defB751B7401B5f6d8976F"
  }'

When creating without an id, if the wallet already belongs to an existing contact, DALP updates the existing contact name instead of creating a duplicate.

List contacts

Use the list endpoint for address-book screens and recipient pickers.

curl "https://your-platform.example.com/api/v2/contacts?limit=50&sortBy=name" \
  -H "X-Api-Key: sm_dalp_xxxxxxxxxxxxxxxx"

Contacts can be sorted by:

  • name
  • wallet
  • createdAt
  • updatedAt

Use a search filter when the operator types a name or wallet fragment:

curl "https://your-platform.example.com/api/v2/contacts?filter[q]=treasury" \
  -H "X-Api-Key: sm_dalp_xxxxxxxxxxxxxxxx"

Read or delete a contact

Read a single contact:

curl https://your-platform.example.com/api/v2/contacts/CONTACT_ID \
  -H "X-Api-Key: sm_dalp_xxxxxxxxxxxxxxxx"

Delete a contact:

curl -X DELETE https://your-platform.example.com/api/v2/contacts/CONTACT_ID \
  -H "X-Api-Key: sm_dalp_xxxxxxxxxxxxxxxx"

Deleting a contact only removes the address-book entry. It does not affect token balances, identities, claims, transfer approvals, custody rules, or any historic transaction evidence.

Operational guidance

For regulated asset operations, treat contacts as convenience data, not control data:

  1. Use contacts to reduce copy-paste errors in recurring operations.
  2. Resolve the selected contact to a wallet address before submitting a token operation.
  3. Let the token operation enforce identity, compliance, freeze, approval, and role checks.
  4. Record the resulting transaction hash or action status in the relevant servicing workflow.

This keeps address-book usability separate from the controls that decide whether a transfer, mint, burn, forced transfer, or servicing action can execute.

On this page