Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.near-intents.org/llms.txt

Use this file to discover all available pages before exploring further.

The Passive Deposit/Withdrawal Service provides an API for moving assets between supported blockchain networks and NEAR Intents. Use it to deposit tokens into the protocol and withdraw them to external chains.

JSON-RPC Endpoint

POST: https://bridge.chaindefuser.com/rpc
There is an SDK for integrating this service: Intents SDK on GitHub. This SDK is under active development and may introduce breaking changes.

How it works

1

Get supported assets

Query the service for the list of supported tokens and networks.
2

Get a deposit address

Request a deposit address for your target chain and NEAR account.
3

Transfer tokens

Send tokens to the deposit address. They will appear in your NEAR Intents account.
4

Monitor status

Check deposit and withdrawal status via the API.

API Reference

supported_tokens

Returns a list of tokens supported by the service for each network.
chains
string[]
Optional chain filter (e.g., ["eth:1", "btc:mainnet"])
For each token:
  • defuse_asset_identifier - Unique asset ID (format: CHAIN_TYPE:CHAIN_ID:ADDRESS)
  • near_token_id - Token ID in the NEAR blockchain
  • decimals - Token precision
  • asset_name - Token name
  • min_deposit_amount - Minimum amount to trigger transfer
  • min_withdrawal_amount - Minimum amount for withdrawal
  • withdrawal_fee - Fee charged for withdrawals
  • standard - Token standard (for example nep141 or nep245)
  • intents_token_id - Intents token identifier
  • multi_token_id - Multi-token identifier for supported multi-token assets
Request
{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "supported_tokens",
  "params": [
    {
      "chains": ["eth:8453"]
    }
  ]
}
Response
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "tokens": [
      {
        "defuse_asset_identifier": "eth:8453:0x123",
        "near_token_id": "...",
        "decimals": 18,
        "asset_name": "PEPE",
        "min_deposit_amount": "100000",
        "min_withdrawal_amount": "10000",
        "withdrawal_fee": "1000",
        "standard": "nep141",
        "intents_token_id": "nep141:v2_1.omni.hot.tg",
        "multi_token_id": "optional"
      }
    ]
  }
}

deposit_address

Returns the address for depositing supported tokens or native currency.
account_id
string
required
Your NEAR Intents account (e.g., user.near)
chain
string
required
Network type and chain ID (e.g., eth:42161 for Arbitrum, btc:mainnet for Bitcoin)
deposit_mode
string
Optional. For Stellar, set this to MEMO.
Request
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "deposit_address",
  "params": [
    {
      "account_id": "user.near",
      "chain": "eth:42161"
    }
  ]
}
Response
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "address": "0x...",
    "chain": "eth:42161",
    "memo": "optional-for-stellar"
  }
}

recent_deposits

Returns information on recent deposits for an account.
account_id
string
required
Your NEAR Intents account
chain
string
Optional network type and chain ID
status
string
Optional status filter: PENDING, CREDITED, COMPLETED, or FAILED
limit
number
Optional page size. Defaults to 20 and is capped at 100.
offset
number
Optional pagination offset. Defaults to 0.
For each deposit:
  • tx_hash - Transaction hash (EVM networks only)
  • mint_tx_hash - Mint transaction hash on NEAR
  • chain - Network type and chain ID
  • defuse_asset_identifier - Token identifier
  • near_token_id - Token identifier on NEAR
  • decimals - Token decimals
  • amount - Asset amount
  • account_id - NEAR Intents account
  • address - Deposit address
  • status - PENDING, CREDITED, COMPLETED, or FAILED
  • created_at - Deposit creation time
  • from - Sender address
Request
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "recent_deposits",
  "params": [
    {
      "account_id": "user.near",
      "chain": "eth:42161"
    }
  ]
}
Response
{
  "id": "string-or-number",
  "jsonrpc": "2.0",
  "result": {
    "deposits": [
      {
        "tx_hash": "string",
        "mint_tx_hash": "string",
        "chain": "string",
        "defuse_asset_identifier": "string",
        "near_token_id": "string",
        "decimals": 0,
        "amount": 0,
        "account_id": "string",
        "address": "string",
        "status": "PENDING|CREDITED|COMPLETED|FAILED",
        "created_at": "date-time",
        "from": "string"
      }
    ],
    "total": 0,
    "limit": 20,
    "offset": 0
  }
}

withdrawal_status

Returns the status of a withdrawal.
withdrawal_hash
string
required
Hash of the NEAR transaction where ft_burn event occurred
  • status - COMPLETED, PENDING, FAILED, NOT_FOUND, AWAITING, REJECTED, RETURNING, or RETURNED
  • data.tx_hash - Burn transaction hash on NEAR
  • data.transfer_tx_hash - Transfer transaction hash on destination chain
  • data.chain - Network type and chain ID
  • data.defuse_asset_identifier - Token identifier
  • data.near_token_id - Token identifier on NEAR
  • data.decimals - Token decimals
  • data.amount - Asset amount
  • data.account_id - User account
  • data.address - Token address saved for the withdrawal record
  • data.created_at - Withdrawal creation time
  • data.withdrawal_fee - Fee charged for the withdrawal
  • data.withdraw_amount - Amount sent to destination after fee handling
Request
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "withdrawal_status",
  "params": [
    {
      "withdrawal_hash": "8yFNEk7GmRcM3NMJihwCKXt8ZANLpL2koVFWWH1MEEj"
    }
  ]
}
Response
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "status": "COMPLETED",
    "data": {
      "tx_hash": "8yFNEk7GmRcM3NMJihwCKXt8ZANLpL2koVFWWH1MEEj",
      "transfer_tx_hash": "0x...",
      "chain": "eth:42161",
      "defuse_asset_identifier": "eth:42161:0x123",
      "near_token_id": "eth.omft.near",
      "decimals": 18,
      "amount": 10000000000,
      "account_id": "user.near",
      "address": "0x123",
      "created_at": "2026-04-22T00:00:00.000Z",
      "withdrawal_fee": "1000",
      "withdraw_amount": "9999999000"
    }
  }
}

recent_withdrawals

Returns recent withdrawals for an account.
account_id
string
required
Your NEAR Intents account
chain
string
Optional network type and chain ID
Request
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "recent_withdrawals",
  "params": [
    {
      "account_id": "user.near",
      "chain": "eth:42161"
    }
  ]
}
Response
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "withdrawals": [
      {
        "status": "PENDING",
        "data": {
          "tx_hash": "8yFNEk7GmRcM3NMJihwCKXt8ZANLpL2koVFWWH1MEEj",
          "transfer_tx_hash": "0x...",
          "chain": "eth:42161",
          "defuse_asset_identifier": "eth:42161:0x123",
          "near_token_id": "eth.omft.near",
          "decimals": 18,
          "amount": 10000000000,
          "account_id": "user.near",
          "address": "0x123",
          "created_at": "2026-04-22T00:00:00.000Z",
          "withdrawal_fee": "1000",
          "withdraw_amount": "9999999000"
        }
      }
    ]
  }
}

notify_deposit

Optional method to notify the service about your deposit for faster processing.
chain
string
required
Network type and chain ID (for example eth:8453, near:mainnet, or stellar:mainnet)
deposit_address
string
required
Address you received from the API
tx_hash
string
required
Hash of your deposit transaction
near_sender_account
string
Required when chain is near:mainnet.
memo
string
Required when chain is stellar:mainnet. Max length: 32.
Request
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "notify_deposit",
  "params": [
    {
      "chain": "eth:8453",
      "deposit_address": "0x...",
      "tx_hash": "0x..."
    }
  ]
}
Response
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {}
}

withdrawal_estimate

Estimate fees for a withdrawal transaction.
chain
string
required
Blockchain network (e.g., eth:1)
token
string
required
Token identifier (e.g., eth.omft.near)
address
string
required
Recipient address
  • tokenAddress - Token contract address
  • userAddress - User’s address
  • withdrawalFee - Estimated fee
  • withdrawalFeeDecimals - Fee decimal precision
  • token - Token information
Request
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "withdrawal_estimate",
  "params": [
    {
      "chain": "eth:1",
      "token": "eth.omft.near",
      "address": "0x456def..."
    }
  ]
}
Response
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "tokenAddress": "0x123abc...",
    "userAddress": "0x456def...",
    "withdrawalFee": "12500000000000000",
    "withdrawalFeeDecimals": 18,
    "token": {
      "defuse_asset_identifier": "eth:1:0x123abc...",
      "near_token_id": "eth.omft.near",
      "decimals": 18,
      "asset_name": "ETH",
      "min_deposit_amount": "0.001",
      "min_withdrawal_amount": "0.001",
      "withdrawal_fee": "12500000000000000",
      "standard": "nep141",
      "intents_token_id": "nep141:eth.omft.near"
    }
  }
}

hot_omni_withdraw

Triggers a hot OMNI withdrawal flow.
account_id
string
required
Your NEAR Intents account
tx_hash
string
required
NEAR transaction hash for the withdrawal request
receiver
string
required
Recipient address on destination chain
chain_id
string
required
Destination chain ID
Request
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "hot_omni_withdraw",
  "params": [
    {
      "account_id": "user.near",
      "tx_hash": "8yFNEk7GmRcM3NMJihwCKXt8ZANLpL2koVFWWH1MEEj",
      "receiver": "0x123...",
      "chain_id": "8453"
    }
  ]
}
Response
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "status": "PENDING",
    "data": {
      "transfer_tx_hash": null
    }
  }
}
The hot_omni_withdraw result is passed through from backend services and may include additional fields over time.

attestation

Fetches an attestation payload/signature used by downstream integrations.
data
string
required
Payload to be attested
networkType
string
required
Network type for attestation context
Request
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "attestation",
  "params": [
    {
      "data": "0xabc...",
      "networkType": "eth"
    }
  ]
}
Response
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "version": 1,
    "signature": "0x..."
  }
}