Skip to main content
GET
/
v2
/
amplify
/
deposit
Prepare deposit transaction
curl --request GET \
  --url https://api.example.com/v2/amplify/deposit \
  --header 'x-api-key: <api-key>'
{
  "transaction": {
    "to": "0xabcdef1234567890abcdef1234567890abcdef12",
    "value": "0",
    "data": "0x47e7ef24...",
    "abi": [
      "<string>"
    ],
    "functionName": "deposit",
    "args": [
      "<string>"
    ]
  }
}

Authorizations

x-api-key
string
header
required

API key in format: pxl_<public_id>_

Query Parameters

vaultAddress
string
required

BoringVault contract address (0x + 40 hex chars)

Example:

"0xbbbb000000000000000000000000000000000001"

depositAsset
string
required

ERC-20 token address to deposit

Example:

"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"

depositAmount
string
required

Amount to deposit in token base units (decimal string)

Example:

"1000000"

userAddress
string
required

User wallet address — signs and submits the deposit transaction. Also used as the default share recipient when to is omitted.

Example:

"0x1234567890abcdef1234567890abcdef12345678"

to
string

Destination address that receives the vault shares. Defaults to userAddress when omitted. Must match the on-chain to argument on DistributorCodeDepositor.deposit().

Example:

"0x1234567890abcdef1234567890abcdef12345678"

chainId
number
required

EVM chain ID

Example:

1

permitSignature
string

EIP-2612 permit signature (65-byte hex, from the authorize step). Required when permitDeadline is provided.

Example:

"0xabc..."

permitDeadline
number

Permit deadline as Unix timestamp. Required when permitSignature is provided.

Example:

9999999999

responseFormat
enum<string>

Controls response fields. "encoded" (default): ABI-encoded calldata only. "full": calldata + ABI fragment, function name, args. "structured": ABI fragment, function name, args only.

Available options:
encoded,
full,
structured

Response

transaction
object
required