Payment Identity

Every Money Account has a human-readable payment handle that makes receiving funds as simple as sharing a username. Format: username@resolver Example: alice@stableyard, merchant123@dopepay

How It Works

Identity Features

FeatureDescription
Human-ReadableNo copying long addresses
Privacy-PreservingVault address hidden from public lookup
Multi-ChainOne handle works across all chains
Partner NamespacesEach partner gets their own resolver

Resolution API

The /resolve endpoint looks up payment handles without exposing underlying addresses:
GET /sdk/v1/resolve?paymentAddress=alice@stableyard
Response:
{
  "success": true,
  "data": {
    "userId": "user_abc123",
    "paymentAddress": "alice@stableyard",
    "vaultAddress": "0x..."
  }
}

Username Management

Check Availability

Before registration, verify username is available:
GET /sdk/v1/check-username?username=alice&partnerId=stableyard

Update Username

Users can change their handle:
POST /sdk/v1/update-username
{
  "userId": "user_abc123",
  "username": "alice_new",
  "partnerId": "stableyard"
}

Partner Namespaces

Each integration partner operates their own namespace:
PartnerNamespaceExample
Stableyard@stableyardalice@stableyard
DopePay@dopepaymerchant@dopepay
Custom Partner@partneruser@partner
This allows:
  • Isolated user databases per partner
  • Custom branding and resolution
  • No username collisions across partners

Privacy Model

Stableyard minimizes address exposure:
ActionPublicPrivate
Payment handleYes
Vault addressYes (revealed only to sender)
Transaction historyYes (owner only)
BalanceYes (owner only)

Use Cases

P2P Payments

Send to friends by username, not address

Merchant Checkout

Display readable handle on invoices

Payroll

Pay employees by their handle

Cross-App

Same handle works across all Stableyard apps
Next: Learn about Vaults — Safe-based programmable fund storage.