Venly Wallet API integration
Venly Wallet API runs custodial blockchain wallets for your users on many chains (Ethereum, Polygon, Base, Arbitrum, BSC, Avalanche, Hedera, Solana, Sui and more). An agent can create users with a PIN signing method, create and list wallets, read native, token and NFT balances of any address, create, confirm, execute, cancel or resubmit transactions (coin, token and NFT transfers, contract calls), sign messages and EIP-712 data, read and encode contract calls, quote and build token swaps, and follow transaction status. Acting on a wallet needs the user's signing method (id:PIN) in the Signing-Method header. Wallet export (private key or keystore) and wallet import are not exposed, nor the encrypted PIN transfer header, the deprecated PIN-update and wallet-linking routes and the health check. The production environment is used. Authentication is OAuth2 client credentials: the client ID and client secret from the Venly Developer Portal (production credentials).
Say what should happen.
The workflow builds itself.
What you can do with Venly Wallet API
Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.
Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.
Signature request, 6 operations
build_signature_requestBuild signature requestPOSTTurns a generic signature request (MESSAGE or EIP712) into the blockchain-specific request, with every network field filled. Signs nothing.cancel_signature_requestCancel signature requestDELETECancels a SAVED or READY signature request (status becomes CANCELED, irreversible). SIGNED, EXPIRED or CANCELED requests cannot be canceled.confirm_signature_requestConfirm signature requestPOSTMoves a SAVED signature request to READY (validates it, fills network fields, sets its expiry) so sign_signature_request can sign it.get_signature_requestGet signature requestGETGets a signature request by id: status (SAVED, READY, SIGNED, EXPIRED or CANCELED), timestamps and the signature once signed.list_signature_requestsList signature requestsGETLists signature requests, filtered by status and userId, with paging and sorting.sign_signature_requestSign signature requestPOSTSigns a READY signature request and returns the signature. Needs the Signing-Method header of the wallet's user.
User, 5 operations
create_userCreate userPOSTCreates a user (the owner of wallets) together with its first signing method, which must be a six-digit PIN. Returns the user id and the signing method ids.delete_userDelete userDELETEDeletes a user: every wallet linked to it becomes inaccessible. Needs the Signing-Method header of the wallet's user.get_userGet userGETGets a user by id: reference, creation date and signing methods (id, type, remaining attempts). The signing method id is the first part of the Signing-Method header.list_usersList usersGETLists your users (wallet owners) with their id, reference and creation date; includeSigningMethods adds their signing methods. Filter by reference or owner company.update_user_referenceUpdate user referencePUTChanges the reference (your own identifier or group keyword) of a user.
Nft, 4 operations
get_nftGet nftGETGets one NFT by blockchain, contract address and token id: name, description, images, animation media, attributes and contract.list_address_nftsList address nftsGETLists the NFTs held by any wallet address on a blockchain, optionally only from given contracts and with spam or NSFW items.list_nftsList nftsGETLists the NFTs held by your wallets, grouped by wallet, filtered by blockchain or user, optionally with spam or NSFW items.list_wallet_nftsList wallet nftsGETLists the NFTs held by one of your wallets by its id, optionally only from given contracts and with spam or NSFW items.
Token balance, 4 operations
get_address_token_balanceGet address token balanceGETGets the balance of one token (by contract address) for any wallet address on a blockchain.get_wallet_token_balanceGet wallet token balanceGETGets the balance of one token (by contract address) in one of your wallets by its id.list_address_token_balancesList address token balancesGETLists the fungible (ERC20) token balances of any wallet address on a blockchain, with token details and USD value when available.list_wallet_token_balancesList wallet token balancesGETLists the fungible (ERC20) token balances of one of your wallets by its id.
Transaction, 4 operations
cancel_transactionCancel transactionPOSTSigns with the user's wallet and immediately tries to cancel a stuck (pending) blockchain transaction, by its transactionHash. Needs the Signing-Method header of the wallet's user.execute_transactionExecute transactionPOSTMoves funds or calls a contract: creates, signs AND broadcasts a transaction (coin, token or NFT transfer, contract call) in one call, irreversible once on-chain. Needs the user's Signing-Method header.list_transactionsList transactionsGETLists transaction requests, filtered by statuses, wallet address with secretType, or userId, with paging and sorting.resubmit_transactionResubmit transactionPOSTSigns with the user's wallet and immediately tries to resubmit a stuck blockchain transaction by its transactionHash, for example one whose gas price was too low. Needs the Signing-Method header of the wallet's user.
Transaction request, 4 operations
build_transaction_requestBuild transaction requestPOSTTurns a generic transaction into the blockchain-specific one (native units, gas, nonce). Sends nothing; pass the result to execute_transaction to run it.confirm_transaction_requestConfirm transaction requestPOSTMoves a SAVED transaction request to READY: validates it, computes gas and nonce, and sets its expiry. Needs the Signing-Method header of the wallet's user. Then run it with execute_transaction_request.create_transaction_requestCreate transaction requestPOSTCreates a transaction request (transfer, token or NFT transfer, contract call) with gas fields filled, without broadcasting it. Needs the Signing-Method header of the wallet's user. Run it with execute_transaction_request.execute_transaction_requestExecute transaction requestPOSTMoves funds or calls a contract: signs and broadcasts a READY, unexpired transaction request, irreversible once on-chain. Needs the Signing-Method header of the wallet's user. Returns the transaction hash; check with get_transaction_status.
Wallet, 4 operations
create_walletCreate walletPOSTCreates a wallet on a blockchain for an existing user. Needs the Signing-Method header of the wallet's user. Returns the wallet id and address.get_walletGet walletGETGets a wallet by id: address, blockchain, user, description, identifier, primary and archived flags, and optionally its balance.list_walletsList walletsGETLists your wallets, filtered by blockchain, user, company, address or identifier, optionally with balances and archived wallets, with paging and sorting.update_walletUpdate walletPATCHUpdates a wallet's description, identifier, primary flag or archived flag. Leave a field out to keep its current value.
Signing method, 3 operations
create_signing_methodCreate signing methodPOSTAdds a signing method to a user. The first must be a six-digit PIN and needs no header; BIOMETRIC, EMERGENCY_CODE or PASSWORD need an existing Signing-Method header.delete_signing_methodDelete signing methodDELETEDeletes one signing method of a user. Needs another valid Signing-Method header of that user.update_signing_methodUpdate signing methodPUTSets a new value for a user's signing method, for example a new PIN when the user forgot theirs. Needs another valid signing method of that user in the Signing-Method header.
Balance, 2 operations
get_address_balanceGet address balanceGETGets the native coin balance of any wallet address on a blockchain, raw and readable, with gas balance and USD value when available.get_wallet_balanceGet wallet balanceGETGets the native coin balance of one of your wallets by its id, with gas balance and USD value when available.
Chain, 2 operations
get_chain_infoGet chain infoGETGets live information about one blockchain: current block number, required confirmations and chain id.list_chainsList chainsGETLists the blockchains the Wallet API supports, as the secretType values to use in other tools (for example MATIC, ETHEREUM, BASE or SOLANA).
Contract abi, 2 operations
decode_contract_dataDecode contract dataPOSTDecodes the encoded data of a smart contract function call into typed values, given the expected output types. EVM chains only. Reads nothing on-chain.encode_contract_functionEncode contract functionPOSTEncodes a smart contract function call (function name and typed inputs) into call data. EVM chains only. Sends nothing on-chain.
Nft holder, 2 operations
list_nft_contract_holdersList nft contract holdersGETLists the wallet addresses holding NFTs of one NFT contract, with paging and sorting.list_nft_holdersList nft holdersGETLists the wallets holding one specific NFT (blockchain, contract address and token id), with paging and sorting.
Signature, 2 operations
create_signatureCreate signaturePOSTSigns a message or EIP-712 typed data with a user wallet. Needs the Signing-Method header of the wallet's user. signatureRequest.status decides: left out signs at once; SAVED or READY only stores a request to sign later.verify_signatureVerify signaturePOSTChecks that a signature of a message was made by a given wallet address. Returns true or false in result.
Contract, 1 operation
read_contractRead contractPOSTCalls a read-only (view) function of a smart contract and returns the typed output values. EVM chains only; no transaction and no gas.
Encryption key, 1 operation
list_encryption_keysList encryption keysGETReturns Venly's public encryption keys (id, key spec, public key, algorithm), used by Venly's encrypted PIN transfer.
Hedera nft allowance, 1 operation
list_hedera_nft_allowancesList hedera nft allowancesGETLists the NFT allowances a Hedera wallet granted (contract address, token id, spender), optionally for one spender.
Hedera token association, 1 operation
list_hedera_token_associationsList hedera token associationsGETLists the token associations of a Hedera wallet address. secretType is HEDERA.
Network fee, 1 operation
get_network_feesGet network feesGETGets the current network fees of a blockchain (gas price for EVM chains).
Nft contract, 1 operation
get_nft_contractGet nft contractGETGets public information about an NFT contract on a blockchain: name, symbol, type, verified, spam and NSFW flags, image and media.
Swap, 1 operation
build_swapBuild swapPOSTBuilds the transactions needed for a token swap quoted by get_swap_rate. Moves nothing: each returned item must then be run with execute_transaction, with a signing method.
Swap pair, 1 operation
list_swap_pairsList swap pairsGETLists the token pairs a wallet can swap, based on its blockchain.
Swap rate, 1 operation
get_swap_rateGet swap rateGETQuotes a token swap: expected output amount, slippage and fee per exchange, and the best rate. Moves nothing; build_swap then builds the swap transactions.
Transaction status, 1 operation
get_transaction_statusGet transaction statusGETGets the on-chain status of a transaction by hash: PENDING, SUCCEEDED, FAILED or UNKNOWN, with confirmations, block and finality.
Wallet address, 1 operation
validate_wallet_addressValidate wallet addressGETChecks that a wallet address has a valid format for a blockchain. Returns result.valid.
Wallet event, 1 operation
list_wallet_eventsList wallet eventsGETLists the events of a wallet (creation, funds transfer, signed signature and others) with timestamps.
Use Venly Wallet API from Claude Code, Cursor or Codex
Connect Venly Wallet API in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its Venly Wallet API operations become tools the client can call, next to every other integration you connected.
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"
[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"{
"mcpServers": {
"livecontext": {
"type": "http",
"url": "https://livecontext.ai/mcp",
"headers": {
"X-API-Key": "YOUR_API_KEY"
}
}
}
}How to connect Venly Wallet API
- Create your workspace
Sign up free. Nothing to install.
- Connect Venly Wallet API once
Add your Venly Wallet API connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.
- Describe the job in chat
The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.
Venly Wallet API integration FAQ
What can you do with the Venly Wallet API integration?
LiveContext exposes 56 operations on Venly Wallet API, covering signature request, user, nft and token balance.
