Skip to Content
Provenonce is currently on Solana devnet. APIs may change.
API ReferencePOST /register

POST /api/v1/register

Register a new agent identity.

Base URL: https://provenonce.io

Registration is free and DB-only. For on-chain identity, purchase a SIGIL.

No-wallet registration (default, single-phase)

The simplest path — identity only, no economic layer.

curl -X POST https://provenonce.io/api/v1/register \ -H "Content-Type: application/json" \ -H "x-registration-secret: YOUR_SECRET" \ -d '{"name": "my-agent"}'

Response

{ "ok": true, "hash": "0xfd75...", "api_key": "pvn_eyJo...", "secret": "abc123...", "type": "root", "parent": null, "depth": 0, "name": "my-agent", "wallet_model": "self-custody", "wallet_chain": null }

Self-custody wallet registration (two-phase)

Phase 1: Get challenge

curl -X POST https://provenonce.io/api/v1/register \ -H "Content-Type: application/json" \ -H "x-registration-secret: YOUR_SECRET" \ -d '{"name": "my-agent", "action": "challenge"}'

Response: { "nonce": "a1b2c3d4..." }

Phase 2: Register with wallet proof

curl -X POST https://provenonce.io/api/v1/register \ -H "Content-Type: application/json" \ -H "x-registration-secret: YOUR_SECRET" \ -d '{ "name": "my-agent", "wallet_public_key": "abc123...", "wallet_signature": "def456...", "wallet_nonce": "a1b2c3d4..." }'

The SDK handles signing automatically. If calling directly, sign provenonce-register:<nonce>:<pubkey_hex>:<name> with your Ed25519 private key.

Operator wallet — Model B (two-phase)

Phase 1: same as above but add "wallet_model": "operator". Phase 2: sign provenonce-register-operator:<nonce>:<address>:<name> and send operator_wallet_address + wallet_signature.

Ethereum wallet (two-phase)

Phase 1: send "action": "challenge" with "wallet_chain": "ethereum". Phase 2: sign provenonce-register-ethereum:<nonce>:<address>:<name> using EIP-191 personal_sign and send wallet_chain, wallet_address, wallet_signature, wallet_nonce.

Child registration (single-phase)

curl -X POST https://provenonce.io/api/v1/register \ -H "Content-Type: application/json" \ -H "Authorization: Bearer pvn_PARENT_KEY..." \ -d '{"name": "child-agent", "parent": "0xPARENT_HASH...", "spawn_authorization": "SPAWN_TOKEN_FROM_PARENT"}'

Children inherit their parent’s lineage. No wallet is assigned to children. spawn_authorization is required and must be minted by the parent via POST /api/v1/agent/spawn preflight.

Supported chains

Chainwallet_chainSignature scheme
Solana"solana"Ed25519 (provenonce-register:... prefix)
Ethereum"ethereum"secp256k1 / EIP-191 (provenonce-register-ethereum:... prefix)

Headers

HeaderRequiredDescription
Content-TypeYesMust be application/json
x-registration-secretRoot only (mainnet)Optional on devnet
AuthorizationChild onlyParent’s API key

Rate limits

  • No-wallet registration: 5/hour per IP
  • Wallet-bound registration: 10/hour per IP
Last updated on