Create Stealth Pool
Build unsigned stealth-pool setup and ER update transactions that map a handle to 1-10 destination owner keys. Requires an Authorization: Bearer <token> header from the /v1/spl/login flow. Once initialized, the handle can be used as the to value of a private /v1/spl/transfer.
Authorizations
Token obtained from the /v1/spl/login flow.
Body
"3rXKwQ1kpjBd5tdcco32qsvqUh1BnZjcYnS5kYrP7AYE"
Authority allowed to manage the pool.
"3rXKwQ1kpjBd5tdcco32qsvqUh1BnZjcYnS5kYrP7AYE"
Human-readable handle, up to 255 UTF-8 bytes. Stored as its exact bytes — NOT trimmed, lowercased, or normalized, so John.Doe@… is a different handle than john.doe@….
1 - 255"john.doe@magicblock.id"
1-10 destination owner pubkeys (owners, not token accounts).
1 - 10 elements[
"Bt9oNR5cCtnfuMmXgWELd6q5i974PdEMQDUE55nBC57L"
]
Optional. When true, split payments may resolve independently across the destination keys.
Optional. Validator identity to receive the delegated pool.
"MAS1Dt9qreoRMQ14YQuhg8UTZMMzDdKhmkZMECCzk57"
Optional. Cluster selector or custom http(s) RPC URL.
mainnet, devnet, mainnet-private, devnet-private "mainnet"
Response
Unsigned setup and ER update transactions
stealthPool legacy, v0 The ER update transaction.
base, ephemeral x >= 0Derived stealth-pool PDA.
The base-chain setup transaction. It uses the same transaction response contract as the top-level transaction; sendRpcEndpoint is omitted when sendTo is base.

