Messages
Every transaction message the chain accepts, per module, as declared in chain/proto/aeva/<module>/v1/tx.proto: what it does (the RPC comment), who signs it (cosmos.msg.v1.signer) and its fields. The type URL is /aeva.<module>.v1.<Message>. MsgUpdateParams messages are signed by the governance module account only.
asset
MsgCreateAsset
/aeva.asset.v1.MsgCreateAsset — signed by issuer
CreateAsset registers a new asset with its right kinds. The signer becomes the issuer. kind_ids are assigned sequentially from 0 in the given order.
| field | type | meaning |
|---|---|---|
issuer | string | issuer is the signer and the asset issuer. |
roles | Roles | roles are optional non-issuer roles (no powers in M0.1). |
meta_hash | bytes | meta_hash is empty or exactly 32 bytes. |
settlement_denom | string | settlement_denom is informational (e.g. “aeusd”). |
kinds | repeated RightKind | kinds are the right kinds to create. Each kind_id must equal its index and each supply must be empty or “0”. policy_override is optional. |
policy | aeva.policy.v1.Policy | policy is the required asset-level policy. |
liens_allowed | bool | liens_allowed enables the operator’s lien power (default false). |
issuance_locked | bool | issuance_locked must be false at creation (rejected otherwise): the lock is an explicit act after the first Issue. |
MsgSetPolicy
/aeva.asset.v1.MsgSetPolicy — signed by issuer
SetPolicy replaces the asset policy or one kind’s policy_override. Existing positions are grandfathered; only future transitions are checked.
| field | type | meaning |
|---|---|---|
issuer | string | issuer is the signer; must equal Asset.issuer. |
asset_id | string | asset_id is the asset. |
asset | bool (one of) | asset targets the asset-level policy (must be true). |
kind_id | uint32 (one of) | kind_id targets the policy_override of that kind. |
clear_kind | uint32 (one of) | clear_kind removes the policy_override of that kind (inherit); policy must be unset. |
policy | aeva.policy.v1.Policy | policy is the new policy (validated against the grammar limits); unset for clear_kind. |
MsgSetStatus
/aeva.asset.v1.MsgSetStatus — signed by issuer
SetStatus sets the asset status to ACTIVE or FROZEN (issuer only).
| field | type | meaning |
|---|---|---|
issuer | string | issuer is the signer; must equal Asset.issuer. |
asset_id | string | asset_id is the asset. |
status | AssetStatus | status is ACTIVE or FROZEN; LIQUIDATED is rejected. |
MsgSetRoles
/aeva.asset.v1.MsgSetRoles — signed by issuer
SetRoles replaces the non-issuer roles (issuer only; decision 88).
| field | type | meaning |
|---|---|---|
issuer | string | issuer is the signer; must equal Asset.issuer. |
asset_id | string | |
roles | Roles | roles replaces custodian / transfer_agent / operator (empty = unset). |
MsgSetLiensAllowed
/aeva.asset.v1.MsgSetLiensAllowed — signed by issuer
SetLiensAllowed toggles the operator’s lien power (issuer only).
| field | type | meaning |
|---|---|---|
issuer | string | issuer is the signer; must equal Asset.issuer. |
asset_id | string | |
liens_allowed | bool |
MsgSetDistributionDenoms
/aeva.asset.v1.MsgSetDistributionDenoms — signed by issuer
SetDistributionDenoms replaces the x/payout distribution denom allowlist (issuer only; decision 101).
| field | type | meaning |
|---|---|---|
issuer | string | issuer is the signer; must equal Asset.issuer. |
asset_id | string | |
denoms | repeated string | denoms are 1..8 distinct bank denoms; governs new distributions only. |
MsgLockIssuance
/aeva.asset.v1.MsgLockIssuance — signed by issuer
LockIssuance irreversibly ends issuance of an asset (the issuer’s one-way door).
| field | type | meaning |
|---|---|---|
issuer | string | |
asset_id | string |
MsgSetKindBridgeable
/aeva.asset.v1.MsgSetKindBridgeable — signed by issuer
SetKindBridgeable lets (or stops letting) units of a kind leave over a RIGHT_OUT bridge route (RH-3, v0.12.0).
| field | type | meaning |
|---|---|---|
issuer | string | |
asset_id | string | |
kind_id | uint32 | |
bridgeable | bool |
bridge
MsgSetRoute
/aeva.bridge.v1.MsgSetRoute — signed by authority
SetRoute creates or updates a route (governance). A new route creates the backing warp token (collateral for NATIVE_OUT, synthetic for SYNTHETIC_IN) owned by the module, enrolls the remote router and, for a synthetic, registers bank metadata.
| field | type | meaning |
|---|---|---|
authority | string | authority is the governance account. |
route_id | string | route_id identifies the route (created when unknown). |
remote_domain | uint32 | remote_domain is the remote Hyperlane domain. |
remote_contract | string | remote_contract is the remote warp router (0x bytes32 hex). |
direction | Direction | direction is NATIVE_OUT or SYNTHETIC_IN (immutable once created). |
local_denom | string | local_denom is the native denom for NATIVE_OUT; ignored for SYNTHETIC_IN. |
caps | Caps | caps are the rolling-window limits. |
display | string | display is the synthetic’s bank display denom (SYNTHETIC_IN only). |
exponent | uint32 | exponent is the synthetic’s display exponent (SYNTHETIC_IN only). |
asset_id | string | asset_id is the Aeva asset of a RIGHT_OUT route (RH-3). |
kind_id | uint32 | kind_id is the right kind of a RIGHT_OUT route (ignored when bundle). |
bundle | bool | bundle makes a RIGHT_OUT route move whole bundles. |
MsgPauseRoute
/aeva.bridge.v1.MsgPauseRoute — signed by authority
PauseRoute pauses or resumes a route (governance).
| field | type | meaning |
|---|---|---|
authority | string | authority is the governance account. |
route_id | string | route_id identifies the route. |
paused | bool | paused pauses (true) or resumes (false). |
MsgBridgeOut
/aeva.bridge.v1.MsgBridgeOut — signed by sender
BridgeOut sends amount of the route’s local denom to a remote recipient, within the route’s caps.
| field | type | meaning |
|---|---|---|
sender | string | sender pays the amount (and the protocol fee, if any). |
route_id | string | route_id identifies the route. |
remote_recipient | string | remote_recipient is the recipient on the remote chain (0x bytes32 hex; a 20-byte EVM address is left-padded). |
amount | string | amount is in the route’s local denom. |
MsgRotateIsm
/aeva.bridge.v1.MsgRotateIsm — signed by authority
RotateIsm creates a new message-id multisig ISM from the validators’ signing addresses and makes it the mailbox default (governance).
| field | type | meaning |
|---|---|---|
authority | string | authority is the governance account. |
validators | repeated string | validators are Ethereum addresses (0x hex, sorted ascending) of the validators’ Hyperlane signing keys. |
threshold | uint32 | threshold is the number of signatures required (2/3 of validators). |
MsgUpdateParams
/aeva.bridge.v1.MsgUpdateParams — signed by authority
UpdateParams sets the module parameters (governance).
| field | type | meaning |
|---|---|---|
authority | string | authority is the governance account. |
params | Params | params are the new parameters. |
MsgSweepEscrowIncome
/aeva.bridge.v1.MsgSweepEscrowIncome — signed by authority
SweepEscrowIncome claims the income accrued to a RIGHT_OUT route’s escrow account and sends it to a recipient (governance; RH-3 Q4).
| field | type | meaning |
|---|---|---|
authority | string | authority is the governance account. |
route_id | string | route_id identifies the RIGHT_OUT route. |
recipient | string | recipient receives the swept coins. |
credential
MsgAttest
/aeva.credential.v1.MsgAttest — signed by attester
Attest creates or replaces the attestation (subject, type, attester): revoked is reset to false, expiry and evidence_hash are set.
| field | type | meaning |
|---|---|---|
attester | string | attester is the signer. |
subject | string | subject is the account the claim is about (may equal attester). |
type | string | type matches ^[a-z0-9]+(.[a-z0-9]+)*$ and is at most 64 chars. |
expiry | google.protobuf.Timestamp | expiry is required and must be after the block time. |
evidence_hash | bytes | evidence_hash is empty or exactly 32 bytes. |
MsgRevoke
/aeva.credential.v1.MsgRevoke — signed by attester
Revoke marks the attestation (subject, type, attester) as revoked. Only the original attester can revoke; the record is kept.
| field | type | meaning |
|---|---|---|
attester | string | attester is the signer and must be the attestation’s attester. |
subject | string | subject is the account the claim is about. |
type | string | type is the attestation type. |
delegation
MsgDelegate
/aeva.delegation.v1.MsgDelegate — signed by holder
Delegate locks units to a delegate for a term with purposes ⊆ {INCOME, VOTE}.
| field | type | meaning |
|---|---|---|
holder | string | |
asset_id | string | |
kind_id | uint32 | |
units | string | units are EFFECTIVE units (divisible by the kind’s multiplier). |
delegate | string | |
until | google.protobuf.Timestamp | |
purposes | repeated Purpose | |
revocable | bool |
MsgRevokeDelegation
/aeva.delegation.v1.MsgRevokeDelegation — signed by holder
RevokeDelegation ends a revocable delegation early (holder).
| field | type | meaning |
|---|---|---|
holder | string | |
id | uint64 |
MsgReturnDelegation
/aeva.delegation.v1.MsgReturnDelegation — signed by delegate
ReturnDelegation ends a delegation early (delegate; always allowed).
| field | type | meaning |
|---|---|---|
delegate | string | |
id | uint64 |
encumbrance
MsgPledge
/aeva.encumbrance.v1.MsgPledge — signed by holder
Pledge locks the signer’s units in favour of a beneficiary (decision 87).
| field | type | meaning |
|---|---|---|
holder | string | |
asset_id | string | |
kind_id | uint32 | |
units | string | |
beneficiary | string | |
holder_release_after | google.protobuf.Timestamp | holder_release_after is optional: nil means the holder may never release. |
exercisable | bool | |
expiry | google.protobuf.Timestamp | expiry is optional: the sweep releases the units to the holder. |
evidence_hash | bytes | evidence_hash is empty or exactly 32 bytes. |
income_to_beneficiary | bool | income_to_beneficiary routes the pledged units’ income to the beneficiary for the life of the pledge (M3, ADR-013). Liens never route. |
MsgLien
/aeva.encumbrance.v1.MsgLien — signed by operator
Lien locks a holder’s units in favour of a beneficiary; the signer must be the asset’s operator and the asset must have liens_allowed.
| field | type | meaning |
|---|---|---|
operator | string | operator is the signer; must equal Asset.roles.operator. |
asset_id | string | |
kind_id | uint32 | |
holder | string | |
units | string | |
beneficiary | string | |
exercisable | bool | |
expiry | google.protobuf.Timestamp | |
evidence_hash | bytes | evidence_hash is REQUIRED: exactly 32 bytes. |
MsgRelease
/aeva.encumbrance.v1.MsgRelease — signed by signer
Release returns the units to the holder as free units (decision 85).
| field | type | meaning |
|---|---|---|
signer | string | |
id | uint64 |
MsgExercise
/aeva.encumbrance.v1.MsgExercise — signed by beneficiary
Exercise moves units from the holder to the beneficiary (decision 86).
| field | type | meaning |
|---|---|---|
beneficiary | string | |
id | uint64 | |
units | string | units to take (math.Int, 0 < units <= remaining). |
MsgUpdateParams
/aeva.encumbrance.v1.MsgUpdateParams — signed by authority
UpdateParams sets the module parameters (gov authority).
| field | type | meaning |
|---|---|---|
authority | string | |
params | Params |
fee
MsgUpdateParams
/aeva.fee.v1.MsgUpdateParams — signed by authority
UpdateParams sets the fee parameters (governance).
| field | type | meaning |
|---|---|---|
authority | string | authority is the governance account. |
params | Params | params are the new parameters. |
payout
MsgDistribute
/aeva.payout.v1.MsgDistribute — signed by payer
Distribute deposits coins against (asset, kind): every holder accrues pro rata at this instant through the global index (decision 101). Any signer.
| field | type | meaning |
|---|---|---|
payer | string | |
asset_id | string | |
kind_id | uint32 | |
denom | string | denom must be in the asset’s distribution_denoms (same shape as a settlement CoinLeg). |
amount | string | amount in base units (math.Int, > 0). |
MsgClaim
/aeva.payout.v1.MsgClaim — signed by holder
Claim pays the holder’s claimable of an asset (one kind / denom or all).
| field | type | meaning |
|---|---|---|
holder | string | |
asset_id | string | |
has_kind | bool | has_kind selects one kind (kind_id); false = every kind of the asset. |
kind_id | uint32 | |
denom | string | denom selects one denom; empty = every denom. |
MsgClaimAll
/aeva.payout.v1.MsgClaimAll — signed by holder
ClaimAll pays up to max_claims_per_tx claimables across every asset.
| field | type | meaning |
|---|---|---|
holder | string |
MsgUpdateParams
/aeva.payout.v1.MsgUpdateParams — signed by authority
UpdateParams sets the module parameters (gov authority).
| field | type | meaning |
|---|---|---|
authority | string | |
params | Params |
rights
MsgIssue
/aeva.rights.v1.MsgIssue — signed by issuer
Issue mints units of one kind to a holder. Signer must be the asset issuer. supply += units.
| field | type | meaning |
|---|---|---|
issuer | string | issuer is the signer; must equal Asset.issuer. |
asset_id | string | asset_id is the asset to issue for. |
kind_id | uint32 | kind_id is the right kind to issue. |
to | string | to is the recipient of the units. |
units | string | units to issue (math.Int, > 0). |
lockup_until | google.protobuf.Timestamp | lockup_until (optional): the issued units are locked under a LOCKUP encumbrance with holder_release_after = lockup_until in the same tx. |
MsgRedeem
/aeva.rights.v1.MsgRedeem — signed by holder
Redeem burns units of one kind from the signer’s own position. supply -= units.
| field | type | meaning |
|---|---|---|
holder | string | holder is the signer whose position is burned. |
asset_id | string | asset_id is the asset. |
kind_id | uint32 | kind_id is the right kind to redeem. |
units | string | units to redeem (math.Int, > 0). |
MsgTransfer
/aeva.rights.v1.MsgTransfer — signed by from
Transfer moves one or many kinds atomically from the signer to another account.
| field | type | meaning |
|---|---|---|
from | string | from is the signer and sender. |
to | string | to is the recipient; must differ from from. |
asset_id | string | asset_id is the asset. |
legs | repeated TransferLeg | legs are the (kind_id, units) pairs to move; kind_ids must be unique. |
MsgUpdateParams
/aeva.rights.v1.MsgUpdateParams — signed by authority
UpdateParams replaces the module parameters. Signer must be the module authority (the gov module account).
| field | type | meaning |
|---|---|---|
authority | string | authority is the module authority (the gov module account by default). |
params | Params | params are the new parameters (all fields must be supplied). |
settlement
MsgPropose
/aeva.settlement.v1.MsgPropose — signed by proposer
Propose creates a PENDING settlement and escrows the proposer’s legs: right legs are locked in x/rights under ref “settlement/
| field | type | meaning |
|---|---|---|
proposer | string | proposer is the signer. |
counterparty | string | counterparty is the only account that may accept; != proposer. |
legs | repeated Leg | legs are the movements (1..max_legs). |
expiry | google.protobuf.Timestamp | expiry must be > block time and <= block time + max_ttl. |
memo_hash | bytes | memo_hash is empty or exactly 32 bytes. |
MsgAccept
/aeva.settlement.v1.MsgAccept — signed by counterparty
Accept executes every leg of both directions atomically (counterparty only, PENDING, block time < expiry). Policy is evaluated for the recipient of every right leg on the post-state of the whole bundle.
| field | type | meaning |
|---|---|---|
counterparty | string | counterparty is the signer; must equal Settlement.counterparty. |
id | uint64 | id is the settlement id. |
MsgCancel
/aeva.settlement.v1.MsgCancel — signed by signer
Cancel releases the escrow. A party may cancel while PENDING (the counterparty’s cancel is a decline); anyone may cancel after expiry, which marks the settlement EXPIRED. Works while assets are frozen.
| field | type | meaning |
|---|---|---|
signer | string | signer is a party while PENDING, or anyone once expired. |
id | uint64 | id is the settlement id. |
MsgUpdateParams
/aeva.settlement.v1.MsgUpdateParams — signed by authority
UpdateParams replaces the module parameters (gov authority).
| field | type | meaning |
|---|---|---|
authority | string | authority is the module authority (the gov module account by default). |
params | Params | params are the new parameters (all fields must be supplied). |
waterfall
MsgSetWaterfall
/aeva.waterfall.v1.MsgSetWaterfall — signed by issuer
SetWaterfall replaces the asset’s tiers (issuer; ACTIVE or FROZEN only).
| field | type | meaning |
|---|---|---|
issuer | string | |
asset_id | string | |
tiers | repeated Tier |
MsgLiquidate
/aeva.waterfall.v1.MsgLiquidate — signed by signer
Liquidate moves the asset to LIQUIDATING with an exercise window (issuer or operator).
| field | type | meaning |
|---|---|---|
signer | string | signer is the issuer or the asset’s operator. |
asset_id | string | |
exercise_window | google.protobuf.Duration | exercise_window is how long Exercise stays allowed (LIQUIDATING) before LIQUIDATED. |
MsgDepositProceeds
/aeva.waterfall.v1.MsgDepositProceeds — signed by payer
DepositProceeds pays coins into the liquidation pool (anyone; LIQUIDATING or LIQUIDATED).
| field | type | meaning |
|---|---|---|
payer | string | |
asset_id | string | |
coin | DenomAmount |
MsgRunWaterfall
/aeva.waterfall.v1.MsgRunWaterfall — signed by caller
RunWaterfall pays the tiers in order from the pool (anyone; LIQUIDATED, pool > 0).
| field | type | meaning |
|---|---|---|
caller | string | |
asset_id | string |
MsgFundRedemption
/aeva.waterfall.v1.MsgFundRedemption — signed by issuer
FundRedemption creates or tops up a redemption pool (issuer).
| field | type | meaning |
|---|---|---|
issuer | string | |
asset_id | string | |
kind_id | uint32 | |
price_per_unit | string | price_per_unit is the payment per RAW unit in coin.denom (a top-up must repeat the pool’s price). |
coin | DenomAmount | |
until | google.protobuf.Timestamp |
MsgRedeemForPool
/aeva.waterfall.v1.MsgRedeemForPool — signed by holder
RedeemForPool burns units and pays units × price from the pool (holder).
| field | type | meaning |
|---|---|---|
holder | string | |
asset_id | string | |
kind_id | uint32 | |
denom | string | |
units | string | units are EFFECTIVE units (divisible by the kind’s multiplier). |
MsgWithdrawRedemption
/aeva.waterfall.v1.MsgWithdrawRedemption — signed by issuer
WithdrawRedemption returns the remainder to the issuer after until.
| field | type | meaning |
|---|---|---|
issuer | string | |
asset_id | string | |
kind_id | uint32 | |
denom | string |
MsgCorporateAction
/aeva.waterfall.v1.MsgCorporateAction — signed by issuer
CorporateAction applies a SPLIT (issuer).
| field | type | meaning |
|---|---|---|
issuer | string | |
asset_id | string | |
split | Split |