v1
latestOpenAPI 3.0.12026-07-2699111970.1 KBCreate Wallet
Creates a new wallet of specified type. If called with an idempotency key or for a user who already has a wallet, returns existing wallet. When owner is provided, subsequent calls with the same owner will return the existing wallet. Supports both custodial and non-custodial wallet types.
API scope required: wallets.create
post/2025-06-09/wallets
Headers
X-API-KEYstring required
API key required for authentication
x-idempotency-keystring
Unique key to prevent duplicate wallet creation
Request body
Example request
{
"config": {
"adminSigner": {
"type": "external-wallet",
"address": "0x1234567890123456789012345678901234567890"
},
"recovery": {
"type": "external-wallet",
"address": "0x1234567890123456789012345678901234567890"
},
"delegatedSigners": [
{
"signer": {
"type": "passkey",
"id": "cWtP7gmZbd98HbKUuGXx5Q",
"name": "hgranger",
"publicKey": {
"x": "38035223810536273945556366218149112558607829411547667975304293530457502824247",
"y": "91117823763706733837104303008228095481082989039135234750508288790583476078729"
}
},
"scopes": [
{
"type": "transfer",
"tokenLocator": "stellar:usdc",
"recipients": [
"GDUCX62IF76FFIYRNI25LJDS2V43QEZDY4YNF2DJWVIASN5LKX76Q4TW"
],
"spendingLimit": {
"amount": "100",
"interval": 86400
}
}
]
}
],
"creationSeed": "0"
},
"alias": "my-usdc-wallet"
}Response
Returns an existing wallet (200) if one already exists for the provided owner or idempotencyKey, or creates and returns a new wallet (201). The response includes the wallet details and whether it was newly created.
Example response
{
"type": "smart",
"config": {
"adminSigner": {
"type": "passkey",
"id": "cWtP7gmZbd98HbKUuGXx5Q",
"name": "hgranger",
"publicKey": {
"x": "38035223810536273945556366218149112558607829411547667975304293530457502824247",
"y": "91117823763706733837104303008228095481082989039135234750508288790583476078729"
},
"validatorContractVersion": "0.2.0",
"locator": "passkey:cWtP7gmZbd98HbKUuGXx5Q"
}
},
"address": "0x1234567890123456789012345678901234567890",
"owner": "email:test@example.com",
"alias": "my-usdc-wallet"
}