Deposit
/solend/depositParameters (Kit SDK)
When using @sonabuild/kit, you only provide these parameters. The SDK automatically handles context (wallet, origin) and encryption.
amountnumberrequiredAmount of USDC to deposit (in token units, not lamports)
mintstringToken mint address (optional, defaults to USDC)
symbolstringToken symbol (optional, defaults to USDC)
Full Request Schema (Direct API)
If calling the API directly (without Kit), send this complete structure. The Kit SDK constructs this automatically from your params.
encryptedstringrequiredSealed box encrypted payload
hintobjectrequiredPlaintext hint for hint verification
contextobjectrequiredwalletstringrequiredUser wallet public key
originstringrequiredRequest origin URL
paramsobjectrequiredamountnumberrequiredAmount of USDC to deposit (in token units, not lamports)
mintstringToken mint address (optional, defaults to USDC)
symbolstringToken symbol (optional, defaults to USDC)
includeAttestationbooleanWhether to include attestation in response
Response Schema
All responses follow this structure. The data field contains operation-specific results (see example response →).
successbooleanrequiredtransactionstringBase64 encoded signed transaction
attestationobjectsignaturestringrequiredAttestation signature
docstringNSM attestation document (base64, includes PCR measurements)
metadataobjectprotocolstringrequiredoperationstringrequiredtimestampnumberrequireddataobjectdepositobjectrequiredamountstringrequiredAmount deposited in token units
amountRawstringrequiredAmount deposited in lamports
tokenSymbolstringrequiredtokenMintstringrequiredSolana wallet or account address (Base58)
accountstringrequiredObligation account address
errorstring | null# Attested operations require encrypted payloads
# Use @sonabuild/kit SDK to handle encryption automatically
curl -X POST https://api.sona.build/solend/deposit \
-H "Content-Type: application/json" \
-d '{
"encrypted": "base64_encrypted_payload_from_kit",
"hint": {
"context": {
"wallet": "YourWalletPublicKey",
"origin": "https://your-app.com"
},
"params": {
"amount": 100000000
}
},
"includeAttestation": true
}'Example Response
{
"transaction": "AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAQACC...",
"attestation": {
"signature": "PWT2ZBBQ2p0ZuDw+cysk1KfY6OGlCV03TY3W4K63yrgvF+81L2HFctankBsqaIMM110YiJk9v+miitHHevcjDw==",
"pcrs": {}
},
"metadata": {
"protocol": "solend",
"operation": "operation",
"timestamp": 1766817594984
},
"data": {
"pool": {
"name": "Main Pool",
"address": "example_pool_address"
},
"amount": "100000000"
}
}Cryptographic Attestation
This endpoint generates transactions in a secure enclave. Every transaction includes a cryptographic attestation that can be verified before signing.
Calling directly without the SDK? See our Manual Encryption Guide to learn how to encrypt payloads for attested endpoints.