Skip to main content
SDK
Wallet
SDK
FIND YOUR WAY
Wallet

Connect your wallet to build, save and manage SDKs.

Library

Official · SDK

Wallet DNA

Reads an address balance and recent signatures, then separates those on-chain facts from a creative persona.

Version 1

What it does

Reads an address balance and recent signatures, then separates those on-chain facts from a creative persona.

Try this SDK

Enter the required inputs and run this SDK using the published version.

Examples fill the form. They are not a test result.

Remix this SDK

Open an editable version in the AI Builder and make it your own.

Developer details

Version 1

Inputs

Outputs

Operations

  1. 01

    read_balances

    Account

  2. 02

    read_activity

    Transactions

  3. 03

    explain

    Generate

Content hash

c32f93883311b9b1ed8d39b7daa22966df3edb3300878cf3e995fc527aef340b

Blueprint
{
  "name": "Wallet DNA",
  "steps": [
    {
      "id": "read_balances",
      "op": "solana.account",
      "args": {
        "address": {
          "$ref": "inputs.wallet"
        }
      },
      "config": {
        "mode": "balances"
      }
    },
    {
      "id": "read_activity",
      "op": "solana.transactions",
      "args": {
        "address": {
          "$ref": "inputs.wallet"
        }
      },
      "config": {
        "mode": "recent",
        "limit": 5
      }
    },
    {
      "id": "explain",
      "op": "ai.generate",
      "args": {
        "wallet": {
          "$ref": "inputs.wallet"
        },
        "activity": {
          "$ref": "steps.read_activity.result"
        },
        "balances": {
          "$ref": "steps.read_balances.result"
        }
      },
      "config": {
        "task": "Separate facts from interpretation. Use tokenAccountCount for the number of token accounts in the sample, and call them token accounts rather than balances. If truncated is true, say the sample is incomplete. Put what the balance and signature sample show in activity_summary and on_chain_facts. Put a readable characterisation in persona and start that field with Interpretation. Put supporting observations in observations. In limitations, state the sample size and that token amounts and transfer values are not in this sample.",
        "responseSchema": {
          "type": "object",
          "required": [
            "activity_summary",
            "on_chain_facts",
            "persona",
            "observations",
            "limitations"
          ],
          "properties": {
            "persona": {
              "type": "string"
            },
            "limitations": {
              "type": "string"
            },
            "observations": {
              "type": "string"
            },
            "on_chain_facts": {
              "type": "string"
            },
            "activity_summary": {
              "type": "string"
            }
          }
        }
      }
    }
  ],
  "inputs": {
    "wallet": {
      "type": "solanaAddress",
      "required": true
    }
  },
  "limits": {
    "timeoutMs": 60000,
    "maxOutputBytes": 131072
  },
  "outputs": {
    "report": {
      "from": {
        "$ref": "steps.explain.result"
      },
      "type": "object"
    },
    "activity": {
      "from": {
        "$ref": "steps.read_activity.result"
      },
      "type": "object"
    },
    "balances": {
      "from": {
        "$ref": "steps.read_balances.result"
      },
      "type": "object"
    }
  },
  "description": "Reads an address balance and recent signatures, then separates those on-chain facts from a creative persona.",
  "capabilities": [
    "solana.account",
    "solana.transactions",
    "ai.generate"
  ],
  "schemaVersion": "1.0"
}
Wallet DNA | SDK