Using the Grid API directly requires advanced configurations. Grid SDK is
the recommended way to submit transactions. It handles transaction
preparation, signing, automatic failover, and submission. Learn more about the
Grid SDK in the Grid SDK guide.
This endpoint requires a prepared transaction and valid signatures.
Use transaction preparation endpoints first, then sign the KMS payload with
your decrypted authorization key before calling this endpoint.
Account Type Signing Flows
Grid supports two types of accounts with different signing requirements. Choose the appropriate flow based on how your account was created:Email-based Account Signing Flow
Email-based Account Signing Flow
For accounts created with email authentication (using Privy):
High-Level Process
- Prepare Transaction: Call transaction preparation endpoints (payments, transfers, etc.)
- Receive KMS Payload: Extract the
kms_payload
from the preparation response - Sign Payload: Use your decrypted Privy authorization key to sign the canonical JSON
- Submit Transaction: Call this endpoint with the signature and transaction data
Key Requirements
- Authorization keys from email account creation/authentication
- JSON canonicalization of the KMS payload (recursive key sorting)
- ECDSA P-256 SHA-256 signature algorithm
Complete Implementation Guide
For detailed implementation including HPKE keypair generation, authorization key decryption, JSON canonicalization, payload signing, and language-agnostic examples, see the Primary Provider Integration guide.Signer-based Account Signing Flow
Signer-based Account Signing Flow
For accounts created with Ed25519 public keys:The signed transaction proves you have access to the required number of Grid Account signing keys and authorizes the transaction execution.
Signing Process
- Prepare Transaction: Call transaction preparation endpoints (payments, transfers, etc.)
- Receive Transaction: Extract the prepared Solana transaction from the response
- Sign Transaction: Use your Ed25519 private keys with standard Solana transaction signing (e.g., web3.js)
- Submit Transaction: Call this endpoint with the signed transaction
Signature Requirements
- Ed25519 private keys corresponding to the public keys specified during account creation
- Threshold signatures meeting the account’s signing threshold
- Standard Solana transaction signing (no KMS payload or JSON canonicalization required)
Signer-based accounts use regular Solana transaction signing with libraries like
web3.js. No KMS payload processing or JSON canonicalization is required.
Implementation with web3.js
Authorizations
API key authentication with Bearer token. Include the API key in the Authorization header as 'Bearer YOUR_API_KEY'
Environment identifier for the Grid API. Use 'sandbox' for testing on devnet or 'production' for production on mainnet.
Path Parameters
Account address
Example:
"11111111111111111111111111111112"
Body
application/json