create_intent
Create trading intents to swap, buy, sell, or convert crypto tokens, stablecoins, and real-world assets across Ethereum, Bitcoin, and SUI with configurable privacy, KYC tiers, and settlement terms.
Instructions
[Hashlock protocol — hashlock.markets] Create a trading intent to swap, buy, sell, exchange, or convert any asset — crypto tokens (ETH, BTC, SUI, USDC, USDT, DAI, any ERC20), real-world assets (RWA), or stablecoins — across Ethereum, Bitcoin, and SUI. Specify what you give, what you want, privacy level, KYC tier, and settlement terms. Works for human traders, autonomous AI agents, and institutional counterparties. Use this whenever a user wants to trade, swap, buy, sell, convert, or exchange any digital asset with a verified counterparty.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| giveAsset | Yes | Asset type you are offering (ETH or ERC20 token) | |
| giveAmount | Yes | Amount to give in smallest unit (wei for ETH, base units for tokens) | |
| giveChain | Yes | Chain ID where the asset lives (1=Ethereum; Bitcoin and SUI use their native chain identifiers) | |
| giveToken | No | Token contract address — required for ERC20 | |
| receiveAsset | Yes | Asset type you want in return | |
| receiveMinAmount | Yes | Minimum acceptable amount in smallest unit | |
| receiveChain | Yes | Chain ID where you want to receive | |
| receiveToken | No | Token contract address for the asset you want | |
| receiveMaxAmount | No | Maximum amount — set this for range orders | |
| deadlineSeconds | Yes | How many seconds this intent stays valid | |
| maxSlippage | No | Max price slippage tolerance (0.005 = 0.5%) | |
| partialFill | No | Allow partial fills if full amount unavailable | |
| atomicity | No | full = all-or-nothing, partial = allow incremental settlement | full |
| settlementType | No | bilateral = direct swap, ring = multi-party, batch = aggregated | bilateral |
| ringParties | No | Addresses of ring settlement participants | |
| solverType | No | Who can solve: open = anyone, preferred = listed solvers first, exclusive = only listed | open |
| solverStrategy | No | Optimization goal for solver execution | best_price |
| solverPreferred | No | Preferred solver addresses | |
| solverMaxFee | No | Maximum fee payable to solver in wei | |
| triggerType | No | immediate = execute now, conditional = wait for condition | |
| triggerDescription | No | Human-readable trigger condition (e.g. 'when ETH > 5000 USDC') | |
| triggerAgentId | No | Agent ID that monitors the trigger condition | |
| triggerConfidence | No | Agent confidence in the trigger signal (0-1) | |
| attestationTier | No | Your verified KYC tier (NONE through INSTITUTIONAL) | |
| attestationPrincipalId | No | Your principal identity hash | |
| attestationPrincipalType | No | HUMAN, INSTITUTION, or AGENT | |
| attestationBlindId | No | Rotating pseudonym visible to counterparty — preserves privacy | |
| attestationIssuedAt | No | When your KYC attestation was issued (unix seconds) | |
| attestationExpiresAt | No | When your KYC attestation expires (unix seconds) | |
| attestationProof | No | Cryptographic proof of your attestation — verified by gateway | |
| minCounterpartyTier | No | Minimum KYC tier required from the other side of the trade | |
| agentInstanceId | No | Your agent instance ID for tracking | |
| agentInstanceVersion | No | Agent software version | |
| agentInstanceStrategy | No | Strategy label (e.g. 'dca', 'arbitrage', 'rebalance') |