Package Information
Available Nodes
Documentation generating…
Documentation
@orquestradev/n8n-nodes-solana-signer
Sign Solana transactions and messages inside your n8n workflows — using any of 13 pluggable signing backends powered by @solana/keychain.
Features
Operations
- Get Wallet Address — return the public key for a configured signer
- Sign Message — sign arbitrary UTF-8 messages
- Sign Transaction — sign a base64-encoded Solana transaction (wire format)
- Send Transaction — sign + broadcast to any Solana RPC endpoint, return tx signature
Backends
| Backend | Use Case |
|---|---|
| Memory (Local Keypair) | Dev/automation, base58 or JSON-array private key |
| HashiCorp Vault | Enterprise secrets management |
| AWS KMS | AWS-managed key signing |
| GCP KMS | Google Cloud-managed key signing |
| Privy | Privy embedded wallet |
| Turnkey | Turnkey MPC wallet |
| Fireblocks | Fireblocks institutional custody |
| Coinbase CDP | Coinbase Developer Platform wallet |
| Dfns | Dfns MPC wallet |
| Crossmint | Crossmint wallet |
| Openfort | Openfort backend wallet |
| Para MPC | Para MPC wallet |
| Utila | Utila wallet |
Installation
Method 1 — n8n UI (Recommended)
- Open your n8n instance
- Go to Settings → Community Nodes
- Click Install
- Enter:
@orquestradev/n8n-nodes-solana-signer - Click Install and restart n8n when prompted
Requires n8n v0.187.0 or later with community nodes enabled.
Method 2 — Docker Compose (Self-hosted)
This repo ships a ready-to-use docker-compose.yml that bundles n8n with the node pre-installed.
Clone and start:
git clone https://github.com/berkayoztunc/n8n-nodes-solana-signer
cd n8n-nodes-solana-signer
npm install
npm run build
docker compose up -d
n8n is available at http://localhost:5678.
Stop:
docker compose down
Rebuild after updates:
npm run build
docker compose build
docker compose up -d
Data persists in a Docker volume (n8n_data). To wipe it:
docker compose down -v
Method 3 — npm (Self-hosted)
cd ~/.n8n/custom
npm install @orquestradev/n8n-nodes-solana-signer
# Restart n8n
Method 4 — Local Development / Symlink
git clone https://github.com/berkayoztunc/n8n-nodes-solana-signer
cd n8n-nodes-solana-signer
npm install
npm run build
ln -s $(pwd) ~/.n8n/custom/n8n-nodes-solana-signer
# Restart n8n
Configuration
Each backend uses its own credential type. Create credentials in n8n under Credentials → New.
Memory (Local Keypair)
| Field | Description |
|---|---|
| Private Key | Base58 private key or Solana CLI JSON array [1,2,...,64] |
HashiCorp Vault
| Field | Description |
|---|---|
| Vault URL | e.g. http://127.0.0.1:8200 |
| Token | Vault auth token |
| Key Name | Transit key name |
| Mount Path | Transit engine mount (default: transit) |
AWS KMS
| Field | Description |
|---|---|
| Access Key ID | AWS access key |
| Secret Access Key | AWS secret key |
| Region | e.g. us-east-1 |
| Key ID | KMS key ID or ARN |
GCP KMS
| Field | Description |
|---|---|
| Project ID | GCP project ID |
| Location ID | e.g. global or us-east1 |
| Key Ring ID | KMS key ring name |
| Key ID | KMS key name |
| Service Account Credentials JSON | Service account JSON string |
Privy
| Field | Description |
|---|---|
| App ID | Privy application ID |
| App Secret | Privy application secret |
| Wallet ID | Target wallet ID |
Turnkey
| Field | Description |
|---|---|
| API Public Key | Turnkey API public key |
| API Private Key | Turnkey API private key |
| Organization ID | Turnkey organization ID |
| Wallet Account Address | Solana wallet account address |
Fireblocks
| Field | Description |
|---|---|
| API Key | Fireblocks API key |
| Secret Key (PEM) | RSA private key in PEM format |
| Vault Account ID | Vault account ID (default: 0) |
| Asset ID | e.g. SOL or SOL_TEST |
Coinbase CDP
| Field | Description |
|---|---|
| API Key Name | CDP API key name |
| API Private Key | CDP API private key |
| Wallet ID | CDP wallet ID |
| Wallet Address | Solana wallet address |
Dfns
| Field | Description |
|---|---|
| App ID | Dfns application ID |
| Auth Token | Dfns auth token |
| Wallet ID | Dfns wallet ID |
| Service Account Credential | Service account key/JSON |
Crossmint
| Field | Description |
|---|---|
| API Key | Crossmint API key |
| Wallet Locator | e.g. email:user@example.com |
Openfort
| Field | Description |
|---|---|
| Secret Key | Openfort secret key |
| Account Address | Solana pubkey |
Para MPC
| Field | Description |
|---|---|
| API Key | Para API key |
| Wallet ID | Para wallet ID |
Utila
| Field | Description |
|---|---|
| API Key | Utila API key |
| Vault ID | Utila vault ID |
| Wallet ID | Utila wallet ID |
Operations Reference
Get Wallet Address
Returns the public key (base58) for the configured signer.
Output:
{ "address": "7xKX..." }
Sign Message
Signs a UTF-8 string message.
Input:
message— string to sign
Output:
{
"message": "hello world",
"signatures": {
"7xKX...": "<base64-signature>"
}
}
Sign Transaction
Signs a pre-built Solana transaction without broadcasting.
Input:
transaction— base64-encoded wire-format transaction
Output:
{
"transaction": "<base64-signed-tx>",
"signatures": {
"7xKX...": "<base64-signature>"
}
}
Send Transaction
Signs and broadcasts a transaction to a Solana RPC endpoint.
Input:
transaction— base64-encoded wire-format transactionrpcUrl— RPC endpoint (default:https://api.mainnet-beta.solana.com)
Output:
{
"signature": "<base58-tx-signature>",
"signatures": { "7xKX...": "<base64-sig>" }
}
Security Notes
- Private keys and API secrets are stored in n8n's encrypted credential store — never in workflow JSON.
- For production wallets, prefer a remote signing backend (AWS KMS, GCP KMS, Turnkey, Privy, etc.) over the Memory backend.
- The Memory backend holds the private key as a non-extractable
CryptoKeyin memory — it cannot be read back after creation. - Never commit private keys or credential values to source control.
Compatibility
Tested against n8n 1.x (minimum 0.187.0, the first release with stable community node support) and Node.js 18/20.
| n8n version | Status |
|---|---|
>=1.0.0 |
✅ Tested |
0.187.0 – 0.x |
✅ Community nodes supported |
<0.187.0 |
❌ Not supported (no community node API) |
Requirements
- n8n
>=0.187.0 - Node.js
>=18
Resources
License
MIT © berkayoztunc