> For the complete documentation index, see [llms.txt](https://hinkal-team.gitbook.io/hinkal/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://hinkal-team.gitbook.io/hinkal/hinkal-api/api-reference/proofless-deposit.md).

# Proofless Deposit

## Build a deposit transaction without a ZK proof

> Like \`/deposit\`, but skips client-side proof generation. On Solana this is equivalent to\
> \`/deposit\` (same code path). Authorized by a normal mode session (secp256k1 request signature,\
> bound to \`"POST /proofless-deposit"\`) or an EIP-712 mode session with a per-transaction\
> EIP-712 typed-data signature (primary type \`ProoflessDeposit\`) on EVM/Tron, or an ed25519\
> plain-text signature on Solana.<br>

```json
{"openapi":"3.0.3","info":{"title":"Hinkal API","version":"1.0.0"},"tags":[{"name":"Proofless Deposit"}],"servers":[{"url":"https://api.hinkal.io","description":"Production"}],"paths":{"/proofless-deposit":{"post":{"operationId":"prooflessDeposit","summary":"Build a deposit transaction without a ZK proof","description":"Like `/deposit`, but skips client-side proof generation. On Solana this is equivalent to\n`/deposit` (same code path). Authorized by a normal mode session (secp256k1 request signature,\nbound to `\"POST /proofless-deposit\"`) or an EIP-712 mode session with a per-transaction\nEIP-712 typed-data signature (primary type `ProoflessDeposit`) on EVM/Tron, or an ed25519\nplain-text signature on Solana.\n","tags":["Proofless Deposit"],"parameters":[{"$ref":"#/components/parameters/XHinkalRequestSignatureNormalMode"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"sessionId":{"type":"string","format":"uuid"},"nonce":{"type":"string","format":"uuid"},"signature":{"type":"string","description":"EIP-712 or ed25519 signature (EIP-712 mode only)"},"chainId":{"type":"integer"},"tokenAddresses":{"type":"array","items":{"type":"string"}},"amounts":{"type":"array","items":{"type":"string"}}},"required":["sessionId","nonce","chainId","tokenAddresses","amounts"]}}}},"responses":{"200":{"description":"Unsigned deposit transaction","headers":{},"content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"txData":{"oneOf":[{"$ref":"#/components/schemas/EvmTransactionRequest"},{"type":"string","description":"Base64-encoded serialized transaction (Solana)"}]},"nonce":{"type":"string","description":"Echoed per-request `nonce` from the request, added before signing."}},"required":["success","txData","nonce"]}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"409":{"$ref":"#/components/responses/NonceConflict"},"500":{"$ref":"#/components/responses/ServerError"}}}}},"components":{"parameters":{"XHinkalRequestSignatureNormalMode":{"name":"x-hinkal-request-signature","in":"header","required":false,"schema":{"type":"string"},"description":"Required for **normal mode** sessions: hex-encoded compact secp256k1 signature `secp256k1_sign(SHA256(binding + \"\\n\" + JSON.stringify(body)))`, where `binding` is `\"POST <routePath>\"` for this endpoint. Omit for **EIP-712 mode** sessions — include `signature` in the request body instead. See [Authentication](/enclave-api/authentication) for the full signing scheme."}},"schemas":{"EvmTransactionRequest":{"type":"object","description":"Unsigned EVM transaction request (ethers TransactionRequest shape)","properties":{"type":{"type":"integer","description":"Transaction type (0 = legacy, 2 = EIP-1559)"},"to":{"type":"string","description":"Target contract address"},"from":{"type":"string","description":"Sender address (may be omitted)"},"nonce":{"type":"integer","description":"Not set by the server — client must fill before signing"},"gasLimit":{"type":"string","description":"Max gas, as a decimal string"},"gasPrice":{"type":"string","description":"Gas price — present on legacy (type 0) transactions only"},"maxFeePerGas":{"type":"string","description":"EIP-1559 max total fee per gas — present on type 2 transactions only"},"maxPriorityFeePerGas":{"type":"string","description":"EIP-1559 max priority fee per gas — present on type 2 transactions only"},"data":{"type":"string","description":"Hex-encoded calldata"},"value":{"type":"string","description":"Native token value in wei, as a decimal string"},"chainId":{"type":"integer"}}},"FailedResponse":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"string"}},"required":["success","error"]}},"responses":{"BadRequest":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FailedResponse"}}}},"Unauthorized":{"description":"Invalid signature or reused nonce","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FailedResponse"}}}},"NonceConflict":{"description":"Request `nonce` already consumed. Each `nonce` is single-use; generate a fresh UUID for every request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FailedResponse"}}}},"ServerError":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FailedResponse"}}}}}}}
```
