Skip to main content
POST
/
95e61622bf6a8af293978377718e3b77
/
wallet
/
createshieldedtransaction
wallet/createshieldedtransaction
curl --request POST \
  --url https://tron-mainnet.core.chainstack.com/95e61622bf6a8af293978377718e3b77/wallet/createshieldedtransaction \
  --header 'Content-Type: application/json' \
  --data '{
  "transparent_from_address": "TQn9Y2khEsLJW1ChVWFMSMeRDow5KcbLSE",
  "from_amount": 1000000,
  "spend_authority_signature": [
    "<string>"
  ],
  "ask": "08a1b2c3d4e5f6789012345678901234567890123456789012345678901234567890",
  "nsk": "09a1b2c3d4e5f6789012345678901234567890123456789012345678901234567890",
  "ovk": "0aa1b2c3d4e5f6789012345678901234567890123456789012345678901234567890",
  "to_address": "ztron1a2b3c4d5e6f7g8h9j0k1l2m3n4p5q6r7s8t9u0v1w2x3y4z5a6b7c8d9e0f1g2h3j4k5l6m7n8p9",
  "to_amount": 1000000
}'
{
  "txID": "1a2b3c4d5e6f7890abcdef1234567890abcdef1234567890abcdef1234567890",
  "raw_data_hex": "<string>",
  "raw_data": {}
}
Create fully signed shielded TRX transactions client-side. Public TRON nodes generally do not expose an RPC for wallet/createshieldedtransaction; attempting to POST to that route returns HTTP 405. Build shielded transactions locally using TRON shielded transaction libraries.
Get you own node endpoint todayStart for free and get your app to production levels immediately. No credit card required.You can sign up with your GitHub, X, Google, or Microsoft account.

Parameters

  • transparent_from_address — the transparent TRX address sending funds (optional)
  • from_amount — the amount to send from transparent address (in sun)
  • spend_authority_signature — array of spending authority signatures for shielded inputs
  • ask — authentication secret key for transaction signing
  • nsk — nullifier secret key for creating nullifiers
  • ovk — outgoing viewing key for transaction encryption
  • to_address — recipient shielded address
  • to_amount — amount to send to shielded address (in sun)

Response

  • txID — the transaction ID hash
  • raw_data_hex — the raw transaction data in hexadecimal format
  • raw_data — the structured raw transaction data

Use case

The wallet/createshieldedtransaction method is used for:
  • Creating fully signed shielded TRX transactions for immediate broadcast
  • Transferring TRX between transparent and shielded addresses
  • Supporting complete privacy-preserving TRX transactions
  • Enabling applications to create ready-to-broadcast shielded transactions

Client-side implementation

Public nodes typically return HTTP 405 for this route. Build shielded transactions client-side using TRON privacy libraries (e.g., tronweb with shielded support) or Sapling-compatible implementations. Generate and sign the transaction locally, then broadcast via wallet/broadcasttransaction.
Use TRON’s shielded transaction libraries to:
  1. Construct the shielded inputs (spends) and outputs (receives) using your key material (ask, nsk, ovk)
  2. Generate the zero-knowledge proof parameters offline
  3. Sign the transaction with spending authority signatures
  4. Build the complete signed raw transaction structure
  5. Broadcast the transaction via wallet/broadcasttransaction

Body

application/json
to_address
string
required

Recipient shielded address

Example:

"ztron1a2b3c4d5e6f7g8h9j0k1l2m3n4p5q6r7s8t9u0v1w2x3y4z5a6b7c8d9e0f1g2h3j4k5l6m7n8p9"

to_amount
integer
required

Amount to send to shielded address in sun

Example:

1000000

transparent_from_address
string

Transparent TRX address sending funds

Example:

"TQn9Y2khEsLJW1ChVWFMSMeRDow5KcbLSE"

from_amount
integer

Amount to send from transparent address in sun

Example:

1000000

spend_authority_signature
string[]

Array of spending authority signatures

ask
string

Authentication secret key (64 hex characters, no 0x prefix)

Example:

"08a1b2c3d4e5f6789012345678901234567890123456789012345678901234567890"

nsk
string

Nullifier secret key (64 hex characters, no 0x prefix)

Example:

"09a1b2c3d4e5f6789012345678901234567890123456789012345678901234567890"

ovk
string

Outgoing viewing key (64 hex characters, no 0x prefix)

Example:

"0aa1b2c3d4e5f6789012345678901234567890123456789012345678901234567890"

Response

200 - application/json

Successfully created shielded transaction

txID
string

Transaction ID hash (64 hex characters, no 0x prefix)

Example:

"1a2b3c4d5e6f7890abcdef1234567890abcdef1234567890abcdef1234567890"

raw_data_hex
string

Raw transaction data in hexadecimal

raw_data
object

Structured raw transaction data