Create a wallet
Creates a custodial wallet under the association resolved from the token. Only walletName and assetCode are accepted — network, wallet type, and custody are fixed platform-side. assetCode funds the wallet and establishes the asset trustline. Balances are attached best-effort on the response.
This creates a real, permanently persisted wallet — including real on-chain funding — even when called with sandbox credentials. Sandbox only simulates off-ramp payout execution; it does not sandbox record creation.
curl --request POST \
--url https://api.zeam.money/gw/v1/wallets \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'x-zeam-auth: <api-key>' \
--data '
{
"walletName": "Treasury USDZ",
"assetCode": "USDZ"
}
'{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"publicKey": "<string>",
"walletName": "<string>",
"accountNumber": "<string>",
"networkName": "<string>",
"hasMultipleSigners": true,
"ownAccount": true,
"status": "Pending",
"balances": [
{
"assetCode": "USDZ",
"balance": "1250.0000000"
}
]
}{
"type": "https://errors.zeam.app/validation-error",
"title": "Validation Error",
"status": 422,
"detail": "The 'amount' field must be a positive decimal.",
"instance": "/v1/quotes",
"requestId": "01J8Z6K3QW9F2",
"errors": [
{
"field": "<string>",
"message": "<string>"
}
]
}{
"type": "https://errors.zeam.app/validation-error",
"title": "Validation Error",
"status": 422,
"detail": "The 'amount' field must be a positive decimal.",
"instance": "/v1/quotes",
"requestId": "01J8Z6K3QW9F2",
"errors": [
{
"field": "<string>",
"message": "<string>"
}
]
}{
"type": "https://errors.zeam.app/validation-error",
"title": "Validation Error",
"status": 422,
"detail": "The 'amount' field must be a positive decimal.",
"instance": "/v1/quotes",
"requestId": "01J8Z6K3QW9F2",
"errors": [
{
"field": "<string>",
"message": "<string>"
}
]
}{
"type": "https://errors.zeam.app/validation-error",
"title": "Validation Error",
"status": 422,
"detail": "The 'amount' field must be a positive decimal.",
"instance": "/v1/quotes",
"requestId": "01J8Z6K3QW9F2",
"errors": [
{
"field": "<string>",
"message": "<string>"
}
]
}{
"type": "https://errors.zeam.app/validation-error",
"title": "Validation Error",
"status": 422,
"detail": "The 'amount' field must be a positive decimal.",
"instance": "/v1/quotes",
"requestId": "01J8Z6K3QW9F2",
"errors": [
{
"field": "<string>",
"message": "<string>"
}
]
}Authorizations
Access token issued by POST /v1/auth/token.
Application secret (the apiKey issued at registration), required on every request.
Body
Asset code for the initial trustline (e.g. USDZ). Discover valid codes via GET /v1/assets.
Whether the wallet belongs to your own business. When false, metadata is required and the wallet starts in status Pending until its KYC review completes.
Third-party FICA details. Required when ownAccount is false; must be omitted when true.
Show child attributes
Show child attributes
Response
Wallet created.
Stellar public key (G...)
Zeam account number.
Platform network name.
Whether the wallet belongs to the association's own business (false = held on behalf of a third party).
Verification status. Only a Verified wallet may be transacted on; own-account wallets are Verified at creation, third-party wallets start Pending until their KYC review completes.
Pending, Verified, Rejected On-chain balances. Populated best-effort; null when the balance lookup failed. Native XLM is excluded.
Show child attributes
Show child attributes
curl --request POST \
--url https://api.zeam.money/gw/v1/wallets \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'x-zeam-auth: <api-key>' \
--data '
{
"walletName": "Treasury USDZ",
"assetCode": "USDZ"
}
'{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"publicKey": "<string>",
"walletName": "<string>",
"accountNumber": "<string>",
"networkName": "<string>",
"hasMultipleSigners": true,
"ownAccount": true,
"status": "Pending",
"balances": [
{
"assetCode": "USDZ",
"balance": "1250.0000000"
}
]
}{
"type": "https://errors.zeam.app/validation-error",
"title": "Validation Error",
"status": 422,
"detail": "The 'amount' field must be a positive decimal.",
"instance": "/v1/quotes",
"requestId": "01J8Z6K3QW9F2",
"errors": [
{
"field": "<string>",
"message": "<string>"
}
]
}{
"type": "https://errors.zeam.app/validation-error",
"title": "Validation Error",
"status": 422,
"detail": "The 'amount' field must be a positive decimal.",
"instance": "/v1/quotes",
"requestId": "01J8Z6K3QW9F2",
"errors": [
{
"field": "<string>",
"message": "<string>"
}
]
}{
"type": "https://errors.zeam.app/validation-error",
"title": "Validation Error",
"status": 422,
"detail": "The 'amount' field must be a positive decimal.",
"instance": "/v1/quotes",
"requestId": "01J8Z6K3QW9F2",
"errors": [
{
"field": "<string>",
"message": "<string>"
}
]
}{
"type": "https://errors.zeam.app/validation-error",
"title": "Validation Error",
"status": 422,
"detail": "The 'amount' field must be a positive decimal.",
"instance": "/v1/quotes",
"requestId": "01J8Z6K3QW9F2",
"errors": [
{
"field": "<string>",
"message": "<string>"
}
]
}{
"type": "https://errors.zeam.app/validation-error",
"title": "Validation Error",
"status": 422,
"detail": "The 'amount' field must be a positive decimal.",
"instance": "/v1/quotes",
"requestId": "01J8Z6K3QW9F2",
"errors": [
{
"field": "<string>",
"message": "<string>"
}
]
}