Skip to main content
POST
Create a smart wallet by external user id
Create or retrieve the same smart wallet using the partner-owned externalUserId instead of the canonical account ID.

Authorizations

Authorization
string
header
required

HTTP Basic auth. Username is the Stableyard app ID. Password is the app secret. The optional Stableyard-Version request header must match the environment pin.

Headers

Stableyard-Version
enum<string>

Optional contract-version assertion. Omit it to use the app environment's pinned version. A different supported version is accepted only after that environment is explicitly migrated.

Available options:
2026-09-09

Path Parameters

externalUserId
string
required

Partner-owned external user id supplied when the UPA was created.

Maximum string length: 128
Example:

"user_123"

Body

application/json
mode
enum<string>
Available options:
external_owner,
managed
ownerAddress
string

EVM address. Required for external_owner mode.

maxTransferAtomic
string
spendLimitAtomic
string
metadata
object

Optional partner metadata. Must be JSON-safe, at most 4096 bytes, depth 3, 25 keys per object, 512 characters per string, and 50 items per array.

Response

Smart wallet

smartWallet
object
required
policy
object

Present only when policy setup was computed for a newly created wallet.

setupTransaction
object

Present only alongside policy. An unsigned Safe transaction payload the caller must sign and broadcast to finish on-chain vault setup.