Description
@orquestradev/n8n-nodes-solana-signer
!npm
!License: MIT
!n8n community node
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)
1. Open your n8n instance
2. Go to Settings → Community Nodes
3. Click Install
4. Enter: @orquestradev/n8n-nodes-solana-signer
5. 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-signernpm 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 buildln -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 signOutput:
{
"message": "hello world",
"signatures": {
"7xKX...": ""
}
}
Sign Transaction
Signs a pre-built Solana transaction without broadcasting.
Input:
transaction — base64-encoded wire-format transactionOutput:
{
"transaction": "",
"signatures": {
"7xKX...": ""
}
}
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": "",
"signatures": { "7xKX...": "" }
}
—
Security Notes
CryptoKey in memory — it cannot be read back after creation.—
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
>=0.187.0>=18---
Resources
@solana/keychain documentation---
License
MIT © berkayoztunc