/solana/nest/mint/build-tx
Returns a base64 transaction to initiate a Nest vault mint. Deposits USDC from Solana to mint Nest share tokens, which are delivered to the receiver's Solana wallet. The transaction includes: (1) Creating the receiver's Nest share token ATA if it doesn't exist, (2) Creating the CCTP MessageSent event data account (rent funded by Nest keeper by default), (3) CCTP depositForBurn instruction to bridge USDC to Plume. On Plume, the NestVaultComposer receives the USDC, mints vault shares, and sends them back to the receiver via LayerZero OFT. The transaction is pre-signed by the ephemeral event account and, when funding event rent, the Nest keeper. The caller signs with the receiver wallet and, for sponsored transactions, the fee payer wallet. Sponsored transactions require the receiver's Nest share ATA to already exist unless initSponsoredShareAta is true. With that opt-in, the sponsor funds both account creations in the same transaction and must sign any later CCTP rent reclaim.
Returns a base64 transaction to initiate a Nest vault mint. Deposits USDC from Solana to mint Nest share tokens, which are delivered to the receiver's Solana wallet.
The transaction includes: (1) Creating the receiver's Nest share token ATA if it doesn't exist, (2) Creating the CCTP MessageSent event data account (rent funded by Nest keeper by default), (3) CCTP depositForBurn instruction to bridge USDC to Plume.
On Plume, the NestVaultComposer receives the USDC, mints vault shares, and sends them back to the receiver via LayerZero OFT. The transaction is pre-signed by the ephemeral event account and, when funding event rent, the Nest keeper. The caller signs with the receiver wallet and, for sponsored transactions, the fee payer wallet. Sponsored transactions require the receiver's Nest share ATA to already exist unless initSponsoredShareAta is true. With that opt-in, the sponsor funds both account creations in the same transaction and must sign any later CCTP rent reclaim.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Value in
- "v1"
- "v2"
Amount of USDC to deposit, in raw base units (6 decimals). For example, 1000000 (1e6) represents 1.0 USDC.
0 < valueDEPRECATED: Use rawAmountUsdc instead. Amount of USDC in raw base units (6 decimals).
0 < valueCCTP finality mode. 'fast' (~1-2 min) has higher fees, 'standard' (~15 min) has lower fees.
"standard"Value in
- "fast"
- "standard"
Slug identifying the Nest vault. Valid options: nest-alpha-vault, nest-treasury-vault, nest-basis-vault, nest-wisdom-vault, nest-opal-vault, nest-test-vault, nest-scope-vault, nest-lcrd-vault, nest-perena-vault, nest-falconx-clo, nest-cloa-vault, nhinc, plume-factor-vault.
Base58-encoded Solana public key of the user who will receive the minted Nest share tokens and provide the USDC burn authority. This wallet pays transaction fees unless feePayer is provided.
1 <= lengthOptional base58-encoded Solana public key of a sponsor/relayer that will be the transaction fee payer. When provided, the receiver remains the USDC owner and Nest share receiver. For first-time receivers, the sponsor should pre-create the receiver's Nest share ATA unless initSponsoredShareAta is enabled.
1 <= lengthWhen true and feePayer is supplied, include idempotent creation of the receiver Nest share ATA in the v0 transaction. The fee payer funds both the share ATA and the CCTP event account, replacing the Nest keeper as event rent payer. The sponsor must sign to reclaim CCTP event-account rent later; the Nest keeper cannot reclaim it for the sponsor. Ignored when feePayer is omitted.
falseOptional dynamic priority fee level. The API fetches recent prioritization fees for all transaction accounts and selects low/median/high.
Value in
- "low"
- "medium"
- "high"
Optional maximum total priority fee in lamports. If provided, it takes precedence over priorityFee.
0 <= valueResponse Body
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/solana/nest/mint/build-tx" \ -H "Content-Type: application/json" \ -d '{ "nestVaultSlug": "nest-alpha-vault", "receiver": "CFagSTMBFiMaD4YKHr7mMcKTzpi35DqiBKbDA35BvZgr" }'{ "data": { "complianceVersion": "v1", "composerAddress": "string", "cctpReclaim": { "messageSentEventData": "string", "rentPayer": "string", "messageTransmitterProgramId": "string", "sourceDomain": 0 }, "transactionLifetime": { "blockhash": "string", "lastValidBlockHeight": "string", "commitment": "confirmed" }, "txBase64": "string" }}/solana/nest/composers/{composerAddress} GET
Resolve an exact registered composer for pending CCTP relay, including historical deployments. Success does not authorize new deposits.
/solana/nest/redeem/build-tx POST
Returns a base64 transaction to initiate a Nest vault redeem for USDC. The transaction includes: (1) Creating the caller's USDC ATA if it doesn't exist, (2) Sending Nest shares via LayerZero OFT to the vault composer on Plume. Under the hood, this builds a LayerZero OFT send transaction that transfers Nest shares to the vault's NestVaultComposer contract on Plume, which processes the redemption and returns USDC via CCTP bridge. The transaction must be signed and sent by the caller's wallet.