Python Agent SDK for Vector blockchain — PyCardano + Ogmios
Project description
apex-fusion-agent-sdk
Python Agent SDK for the Vector blockchain. Built on PyCardano + Ogmios.
Installation
pip install apex-fusion-agent-sdk
Requires Python >= 3.11.
Quick Start
import asyncio
from vector_agent import VectorAgent
async def main():
async with VectorAgent() as agent:
address = await agent.get_address()
print(f"Address: {address}")
balance = await agent.get_balance()
print(f"ADA: {balance.ada}")
tx = await agent.send(to="addr1...", ada=5.0)
print(f"TX Hash: {tx.tx_hash}")
print(f"Explorer: {tx.explorer_url}")
asyncio.run(main())
Configuration is read from environment variables by default (see Configuration).
Features
Two Modes of Operation
VectorAgent— Standalone mode. Talks directly to Ogmios and submit-api via PyCardano. No external server needed.VectorAgentMCP— MCP client mode. Connects to a TypeScript MCP server via stdio. Same API surface asVectorAgent.
Wallet Management
- HD Wallets — BIP39 mnemonic with CIP-1852 derivation
.skeyFiles — cardano-cli signing key files
Transactions
- Send ADA and native tokens
- Build multi-output transactions
- Dry-run simulation with fee estimates
- Transaction history queries via Koios
Smart Contracts
- Deploy PlutusV1/V2/V3 scripts
- Interact with deployed contracts (lock & spend)
Safety Layer
- Configurable per-transaction and daily spend limits (in lovelace)
- Audit logging of all transactions
API
Query Methods
await agent.get_address() # Agent's payment address
await agent.get_balance() # ADA + token balances
await agent.get_balance("addr1...") # Balance of any address
await agent.get_utxos() # List UTxOs
await agent.get_protocol_parameters() # Raw protocol params
await agent.get_spend_limits() # Current spend limit status
await agent.get_transaction_history() # TX history via Koios
Transfer Methods
# Send ADA
tx = await agent.send(to="addr1...", ada=5.0)
tx = await agent.send(to="addr1...", lovelace=5_000_000)
# Send native tokens
tx = await agent.send_tokens(
to="addr1...",
policy_id="abcd1234...",
asset_name="MyToken",
quantity=100,
)
Advanced Transaction Building
# Dry-run (simulate without submitting)
result = await agent.dry_run(to="addr1...", ada=5.0)
print(f"Fee: {result.fee_ada} ADA")
# Multi-output transaction
result = await agent.build_transaction(
outputs=[
{"address": "addr1...", "lovelace": 5_000_000},
{"address": "addr1...", "lovelace": 3_000_000},
],
submit=True,
)
Smart Contracts
# Deploy a script
result = await agent.deploy_contract(
script_cbor="59...",
script_type="PlutusV2",
lovelace=2_000_000,
)
print(f"Script address: {result.script_address}")
# Interact with a deployed contract
result = await agent.interact_contract(
script_cbor="59...",
action="spend",
utxo_ref={"tx_hash": "abcd...", "output_index": 0},
)
MCP Client Mode
from vector_agent import VectorAgentMCP
async with VectorAgentMCP(
server_command="node",
server_args=["build/index.js"],
working_dir="/path/to/mcp-server",
) as agent:
balance = await agent.get_balance()
VectorAgentMCP has the same API as VectorAgent — it delegates all operations to a TypeScript MCP server over stdio.
Configuration
All settings can be passed as constructor arguments or read from environment variables:
| Environment Variable | Description | Default |
|---|---|---|
VECTOR_OGMIOS_URL |
Ogmios endpoint | — |
VECTOR_SUBMIT_URL |
Submit-api endpoint | — |
VECTOR_KOIOS_URL |
Koios endpoint (for history) | testnet |
VECTOR_EXPLORER_URL |
Block explorer base URL | testnet |
VECTOR_MNEMONIC |
BIP39 mnemonic | — |
VECTOR_SKEY_PATH |
Path to cardano-cli .skey file |
— |
VECTOR_ACCOUNT_INDEX |
HD derivation account index | 0 |
VECTOR_SPEND_LIMIT_PER_TX |
Per-transaction limit (lovelace) | 100000000 (100 ADA) |
VECTOR_SPEND_LIMIT_DAILY |
Daily limit (lovelace) | 500000000 (500 ADA) |
See .env.example for a template.
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file apex_fusion_agent_sdk-0.1.3.tar.gz.
File metadata
- Download URL: apex_fusion_agent_sdk-0.1.3.tar.gz
- Upload date:
- Size: 28.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8c6a3e95d17bfbc38475b1874fee70c46f002aaa1f1c9ab7cf02a36c595ce23e
|
|
| MD5 |
eeed9feb342c07732a55b931c3836625
|
|
| BLAKE2b-256 |
15eb09a571d88b358e448e2f228b375f3ff97632fd6185f73ddb869216f9b7ca
|
Provenance
The following attestation bundles were made for apex_fusion_agent_sdk-0.1.3.tar.gz:
Publisher:
publish.yml on Apex-Fusion/agent-sdk-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
apex_fusion_agent_sdk-0.1.3.tar.gz -
Subject digest:
8c6a3e95d17bfbc38475b1874fee70c46f002aaa1f1c9ab7cf02a36c595ce23e - Sigstore transparency entry: 1203435611
- Sigstore integration time:
-
Permalink:
Apex-Fusion/agent-sdk-py@26a4044c7ff1c0f0bba9b213630852e9b5259296 -
Branch / Tag:
refs/tags/0.1.3 - Owner: https://github.com/Apex-Fusion
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@26a4044c7ff1c0f0bba9b213630852e9b5259296 -
Trigger Event:
release
-
Statement type:
File details
Details for the file apex_fusion_agent_sdk-0.1.3-py3-none-any.whl.
File metadata
- Download URL: apex_fusion_agent_sdk-0.1.3-py3-none-any.whl
- Upload date:
- Size: 32.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3630335134868a9b884460eacaf3ed7e537a1e977cf731e81cce82e1338868c4
|
|
| MD5 |
c8024a30decf0d895eb9595d6b2f8714
|
|
| BLAKE2b-256 |
b0ba8b964b92d04fbb88020a06383e283d6a61ab160d0a03b2a72ad84216edd1
|
Provenance
The following attestation bundles were made for apex_fusion_agent_sdk-0.1.3-py3-none-any.whl:
Publisher:
publish.yml on Apex-Fusion/agent-sdk-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
apex_fusion_agent_sdk-0.1.3-py3-none-any.whl -
Subject digest:
3630335134868a9b884460eacaf3ed7e537a1e977cf731e81cce82e1338868c4 - Sigstore transparency entry: 1203435613
- Sigstore integration time:
-
Permalink:
Apex-Fusion/agent-sdk-py@26a4044c7ff1c0f0bba9b213630852e9b5259296 -
Branch / Tag:
refs/tags/0.1.3 - Owner: https://github.com/Apex-Fusion
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@26a4044c7ff1c0f0bba9b213630852e9b5259296 -
Trigger Event:
release
-
Statement type: