Skip to main content
POST
Transfer

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

Required for sponsored transfers. Save one key per transfer intent and reuse it with the same request to recover the original operation, even after 24 hours or sponsorship is disabled. Reuse with a different wallet or intent returns 409 IDEMPOTENCY_CONFLICT. Replays do not resume policy review. Legacy transfers retain the optional 24-hour behavior described by IdempotencyKey.

Maximum string length: 256

Path Parameters

walletId
string<uuid>
required

Wallet UUID. A malformed or inaccessible wallet ID returns 404.

Example:

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

Body

application/json

Sponsored EVM transfers require an enrolled partner, an idempotency key, a supported chain and token, and a positive integer value in token base units. Omit nonce, type and gas/fee overrides; broadcast and addressScreening must be omitted or true. Requests with ordinary transfer overrides retain the legacy path.

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.

addressScreening
boolean
default:true

Whether to screen the recipient address before signing. Defaults to true when address screening is enabled for the API.

Response

Signed transaction

signedTransaction
string
required

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

Example:

"0x02f8..."

executionMode
enum<string>

Legacy mode; omitted by existing responses.

Available options:
legacy
txHash
string | null

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

Example:

"0x1234abcd..."

transactionId
string<uuid>

Persisted transaction record id (present only when broadcasted). Use it to poll GET /v1/wallets/{walletId}/transactions/{transactionId} or match incoming rest.transaction.confirmed / rest.transaction.failed webhooks.

Example:

"550e8400-e29b-41d4-a716-446655440000"