Create static wallet
Static WalletsAPI REFERENCE
Create static wallet
POST
/v1/static-walletsCreate a reusable deposit address with an accepted-asset allow-list
Example request
A minimal request you can copy and run.
curl -X POST https://api.suward.com/v1/static-wallets \ -H "X-Api-Key: $SUWARD_API_KEY" \ -H "Content-Type: application/json" \ -d '{"externalId":"customer_42"}'Request body
| Name | Type | Required | Description |
|---|---|---|---|
| allowedAssets | no | Accepted-asset allow-list, as asset id-strings (see GET /v1/assets), e.g. ["USDT_ARBITRUM"]. Deposits of assets not on this list are ignored (status "ignored") and not credited. | |
| externalId | string | no | Your own identifier for this static wallet. Echoed back on the wallet and denormalized onto each of its deposits. Optional. |
| metadata | object | no | Arbitrary JSON key/value data to attach to the static wallet. Stored and echoed back unchanged. |
| webhookUrl | string | no | Webhook URL to receive this wallet's deposit events. Optional; falls back to the project default webhook when omitted. |
Request · JSON
{ "externalId": "customer_42"}Response
| Name | Type | Required | Description |
|---|---|---|---|
| address | string | no | Reusable on-chain deposit address of this static wallet. Customers may send accepted assets to it repeatedly; each incoming transfer becomes a deposit. |
| allowedAssets | no | Accepted-asset allow-list, as asset id-strings (see GET /v1/assets). Deposits of assets outside this list are ignored and not credited. | |
| createdAt | integer | no | Unix-milliseconds timestamp when the static wallet was created. |
| externalId | string | no | Your own identifier for this static wallet, echoed from creation. Null when none was provided. |
| id | string | no | Unique Suward identifier of the static wallet. |
| metadata | object | no | Arbitrary key/value data attached by the merchant, echoed back unchanged. |
| projectId | string | no | Identifier of the project that owns this static wallet. |
| updatedAt | integer | no | Unix-milliseconds timestamp when the static wallet was last updated. |
| webhookUrl | string | no | Webhook URL that receives this wallet's deposit events. Null when the project default webhook is used. |
Response · JSON
{ "address": "0xabc…def", "allowedAssets": [ "USDT_ETHEREUM" ], "createdAt": 0, "externalId": "order_abc123", "id": "obj_abc123", "metadata": {}, "projectId": "obj_abc123", "updatedAt": 0, "webhookUrl": "https://example.com/webhook"}