Skip to main content
POST
/
v1
/
wallets
/
{walletId}
/
transfer
Transfer
curl --request POST \
  --url https://api.beta.getpara.com/v1/wallets/{walletId}/transfer \
  --header 'Content-Type: application/json' \
  --header 'X-API-Key: <api-key>' \
  --data '
{
  "to": "0x742d35Cc6634C0532925a3b844Bc9e7595f...",
  "value": "1000000000000000",
  "chainId": "1",
  "kind": "NATIVE",
  "tokenAddress": "<string>",
  "nonce": 1,
  "gasLimit": "<string>",
  "maxFeePerGas": "<string>",
  "maxPriorityFeePerGas": "<string>",
  "gasPrice": "<string>",
  "type": 0,
  "network": "SOLANA",
  "broadcast": true
}
'
{
  "signedTransaction": "0x02f8...",
  "txHash": "0x1234abcd..."
}

Authorizations

X-API-Key
string
header
default:sk_your_secret_key_here
required

Your partner secret key (server-side only)

Headers

X-Request-Id
string<uuid>

UUID for request tracing. Para returns one if omitted.

Idempotency-Key
string

Unique key for safe retries on POST endpoints. If a request with the same key is received within 24 hours, the original response is returned without re-executing. Recommended format: UUID v4. Max length 256 characters. Returns 422 if the same key is reused with a different request body. Returns 409 if a request with the same key is still being processed.

Maximum string length: 256

Path Parameters

walletId
string
required

Wallet ID

Example:

"0a1b2c3d-4e5f-6789-abcd-ef0123456789"

Body

application/json
to
string
required

Recipient address

Example:

"0x742d35Cc6634C0532925a3b844Bc9e7595f..."

value
string
required

Amount in smallest unit (wei for ETH, lamports for SOL)

Example:

"1000000000000000"

chainId

Chain ID. Required for EVM wallets, ignored for Solana.

Example:

"1"

kind
enum<string>

Transfer type discriminator. EVM wallets accept NATIVE or ERC20. Solana wallets accept NATIVE or SPL. If omitted, inferred from tokenAddress presence (backwards compatible).

Available options:
NATIVE,
ERC20,
SPL
tokenAddress
string

Token contract address. Required when kind is ERC20 or SPL. EVM: ERC-20 contract. Solana: SPL mint address.

nonce
integer

Transaction nonce. EVM only — auto-fetched via getTransactionCount if omitted.

Required range: x >= 0
gasLimit
string

Gas limit. EVM only — auto-estimated with 20% buffer if omitted.

maxFeePerGas
string

EIP-1559 max fee per gas. EVM only — auto-fetched if omitted.

maxPriorityFeePerGas
string

EIP-1559 max priority fee per gas. EVM only — auto-fetched if omitted.

gasPrice
string

Legacy gas price. EVM only — auto-fetched if omitted.

type
enum<integer>

Transaction type: 0 (legacy) or 2 (EIP-1559). EVM only — auto-detected from chain if omitted.

Available options:
0,
2
network
enum<string>

Solana network. In production, defaults to SOLANA. In beta, only SOLANA_DEVNET is allowed (and is the default).

Available options:
SOLANA,
SOLANA_DEVNET
broadcast
boolean
default:true

Whether to broadcast the signed transaction. Defaults to true. Set to false to receive only the signed transaction without broadcasting.

Response

Signed transaction

signedTransaction
string
required

Signed transaction ready for broadcast. EVM: RLP-encoded hex string. Solana: base64-encoded string.

Example:

"0x02f8..."

txHash
string | null

Transaction hash. Present when broadcast is true (default). Omitted when broadcast is false.

Example:

"0x1234abcd..."