SDK reference
Addresses
Standing intent and receive targets — what an address accepts, and the account behind one capability.
Issuing, rotating and revoking the address itself are on the addresses API. The client sets the terms and the targets.
accountRef never comes back on a target. A caller sees the capability, not the account.
setStandingIntent(addressId, input)
Requires a credential. Versioned: each call publishes a new version and deactivates the
previous one. The commitment for that version is then readable at GET /commitments/{address}.
await path.setStandingIntent(addressId, {
accepts: [
{
rail: 'blockchain',
chain: { slug: 'base' },
asset_type: 'token',
asset_code: 'USDC',
standard: 'erc20',
contract: '0x833589fcd6edb6e08f4c7c32d4f71b54bda02913',
},
{
rail: 'book',
asset_type: 'fiat',
asset_code: 'USD',
limits: { max_single: { value: '500000', asset_type: 'fiat', asset_code: 'USD' } },
},
],
});The standing intent is the receiver's statement. It wins over what the targets imply.
addReceiveTarget(addressId, input)
Requires a credential. One account, serving one capability.
await path.addReceiveTarget(addressId, {
rail: 'blockchain',
chain: { slug: 'base' },
asset_type: 'token',
asset_code: 'USDC',
accountKind: 'wallet',
accountRef: 'internal:wallet:10482',
beneficiaryFormat: 'chain_address',
beneficiary: '0xabc…',
isDefault: true,
});accountKind is own_ledger, virtual_account, external_account or wallet.
beneficiary is the destination an instruction publishes, and only for chain_address. A book
target takes none: its destination is the address.
listReceiveTargets(addressId)
Requires a credential. Public fields only.
revokeReceiveTarget(addressId, targetId)
Requires a credential. Retires one target. The address stays.