Skip to main content

Documentation Index

Fetch the complete documentation index at: https://pay-docs.holdstation.com/llms.txt

Use this file to discover all available pages before exploring further.

Partners generate an Ed25519 key pair. The private key is used by the partner to sign requests. Once generated, send the base64-encoded public key to the Holdstation team so they can register it on your account. Keep the private key secret — never share it with anyone, including Holdstation.
To rotate your key later, see Upload Public Key.

Go Example

package main

import (
    "crypto/ed25519"
    "encoding/base64"
    "fmt"
)

func main() {
    // Generate Ed25519 key pair
    publicKey, privateKey, _ := ed25519.GenerateKey(nil)

    // Base64 encode for storage/transmission
    privateKeyB64 := base64.StdEncoding.EncodeToString(privateKey)
    publicKeyB64 := base64.StdEncoding.EncodeToString(publicKey)

    fmt.Println("Private Key (keep secret):", privateKeyB64)
    fmt.Println("Public Key (verify_key):", publicKeyB64)
}

Shell Script Example

openssl genpkey -algorithm ed25519 -out priv.pem
PRIVATE_KEY=$(cat priv.pem | openssl pkey -outform DER | tail -c 64 | base64)
VERIFY_KEY=$(openssl pkey -in priv.pem -pubout -outform DER | tail -c 32 | base64)
echo "Private Key (keep secret): $PRIVATE_KEY"
echo "Public Key (verify_key): $VERIFY_KEY"