POST
https://api.stableyard.fi
/
sdk
/
v1
/
register
curl -X POST https://api.stableyard.fi/sdk/v1/register \
  -H "Authorization: Basic $(echo -n $STABLEYARD_APP_ID:$STABLEYARD_APP_SECRET | base64)" \
  -H "Content-Type: application/json" \
  -d '{
    "username": "alice",
    "addresses": [
      { "address": "0x742d35Cc6634C0532925a3b844Bc9e7595f...", "chainType": "evm" }
    ]
  }'
{
  "success": true,
  "data": {
    "userId": "user_abc123def456",
    "partnerId": "your_partner_id",
    "username": "alice",
    "paymentAddress": "alice@your_partner_id",
    "addresses": [
      { "address": "0x742d35Cc...", "chainType": "evm" }
    ],
    "vaultAddress": null,
    "preferredSettlementChain": null,
    "preferredSettlementToken": null,
    "isKYC": false
  },
  "requestId": "req_xyz789"
}
Create a new Money Account — the universal payment identity on the Stableyard network. Each account can hold balances, send/receive payments, and maintain a human-readable payment address.

Authentication

Authorization
string
required
Basic authentication. Value: Basic base64(STABLEYARD_APP_ID:STABLEYARD_APP_SECRET). Obtain your credentials from the Stableyard SDK.

Body Parameters

username
string
Unique username for the account (3-20 characters, alphanumeric and underscores). If not provided, can be set later via /update-username.
addresses
array
required
Array of address objects with chain type. Each object contains:
  • address (string): Wallet address
  • chainType (string): One of “evm”, “solana”, or “aptos”
preferredSettlementChain
integer
Preferred chain ID for settlements (e.g., 8453 for Base)
preferredSettlementToken
string
Preferred token for settlements (e.g., “USDC”)

Response

success
boolean
Indicates if the request was successful
data
object
Money Account data
curl -X POST https://api.stableyard.fi/sdk/v1/register \
  -H "Authorization: Basic $(echo -n $STABLEYARD_APP_ID:$STABLEYARD_APP_SECRET | base64)" \
  -H "Content-Type: application/json" \
  -d '{
    "username": "alice",
    "addresses": [
      { "address": "0x742d35Cc6634C0532925a3b844Bc9e7595f...", "chainType": "evm" }
    ]
  }'
{
  "success": true,
  "data": {
    "userId": "user_abc123def456",
    "partnerId": "your_partner_id",
    "username": "alice",
    "paymentAddress": "alice@your_partner_id",
    "addresses": [
      { "address": "0x742d35Cc...", "chainType": "evm" }
    ],
    "vaultAddress": null,
    "preferredSettlementChain": null,
    "preferredSettlementToken": null,
    "isKYC": false
  },
  "requestId": "req_xyz789"
}

Usage Notes

Username is optional — You can register a Money Account without a username and set it later using /update-username. This is useful for onboarding flows where you want to create the account first and let users choose their username later.
Check username availability first — If providing a username during registration, use /check-username to verify availability before calling /register.

Username Rules

  • 3-20 characters
  • Alphanumeric and underscores only
  • Case-insensitive
  • Must be unique within your partner namespace
  • Once set, username cannot be changed (set it right the first time!)