Skip to main content
POST
Create One-Time Wallet

Authorizations

x-api-key
string
header
required

Body

application/json

Details of the one-time wallet request.

user_address
string
required

The wallet address of the user who will own this one-time wallet.

protocol_label
string
required

Label identifying the protocol or integration this position belongs to. Free-form text - use it to identify the position in your own system.

Example:

"kamino-lend-v2"

timestamp
required

Unix timestamp of the request (in milliseconds). Must be within 10 minutes of server time. Can be provided as a string or a number

Pattern: ^[0-9]+$
user_signature
string
required

A digital signature of 'By signing, I hereby agree to Vanish's Terms of Service and agree to be bound by them (docs.vanish.trade/legal/TOS)

Details: borrow-smart-wallet:{protocol_label}:{timestamp}', signed by the user's wallet.

external_ref
string | null

Optional opaque identifier for your own correlation, e.g. a vault or pool address. Not interpreted by Vanish and not part of the signed message; returned unchanged on /borrow/positions. Use it to tell apart multiple positions sharing a protocol_label.

Response

Successful one-time wallet response.

smart_wallet_id
integer
required

Identifier of the position's one-time wallet. Pass this to /borrow/initiate and /borrow/settle.

Example:

4821

address
string
required

The one-time wallet's Solana address. Set it as the signer for the instructions you send in main_tx.